chunk_details
Get full content of a specific chunk.
Returns chunk content as string.
Common patterns:
- Final step after find_matching_chunks_in_file finds relevant chunks
- Examining implementations after finding definitions/uses
Point a coding agent at a repository and let it read by chunk — functions, classes, markdown sections — finding which files mention a symbol before spending context on their contents.
LABSCO SUMMARY
The workflow is enforced by the tool shapes rather than by advice: find_files_by_chunk_content returns a file tree with no content in it, so the agent has to choose a file before it pays for matches, and chunk_details is the only route to a full chunk. Chunking is structural — functions, classes, markdown sections and import blocks — which is what makes a match on a symbol land on the definition rather than on a line number. The eighth tool, get_a_joke, is marked in its own description as being there for testing.
A code exploration server that splits a project's files into chunks — functions, classes, markdown sections, import blocks — and searches over them, with two Git tools for branch and diff context.
A local checkout the server can read, registered with configure_project before anything else, since the other tools take its project_name. diff_with_ref and list_most_recently_checked_out_branches expect that checkout to be a Git repository. UV_PYTHON in the configuration means it runs under uv, so a Python interpreter uv can use. MIT licensed.
One command — uvx mcpunk
USE CASES
Register the checkout so it gets chunked, take a shallow file tree first to see the shape, then let a content search point at the files that mention the thing you came for.
Narrow from files to the matching chunks inside one file, then pull the full text of the chunk that turned out to be the definition — three steps, each one paid for only when it is needed.
Recover which branches were recently checked out to work out the base, summarise the diff against it, then read the chunks the diff touched instead of the whole files.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
chunk_detailsGet full content of a specific chunk.
Returns chunk content as string.
Common patterns:
configure_projectConfigure a new project containing files.
Each file in the project is split into 'chunks' - logical sections like functions, classes, markdown sections, and import blocks.
After configuring, a common workflow is:
Use ~ (tilde) literally if the user specifies it in paths.
diff_with_refReturn a summary of the diff between HEAD and the given ref.
You probably want the ref to be the 'base' branch like develop or main, off which PRs are made - and you can likely determine this by viewing the most recently checked out branches.
find_files_by_chunk_contentStep 1: Find files containing chunks with matching text.
Returns file tree only showing which files contain matches. You must use find_matching_chunks_in_file on each relevant file to see the actual matches.
Example workflow:
find_matching_chunks_in_fileStep 2: Find the actual matching chunks in a specific file.
Required after find_files_by_chunk_content or list_all_files_in_project to see matches, as those tools only show files, not their contents.
This can be used for things like:
Some chunks are split into multiple parts, because they are too large. This will look like 'chunkx_part1', 'chunkx_part2', ...
get_a_jokeGet a really funny joke! For testing :)
list_all_files_in_projectList all files in a project, returning a file tree.
This is useful for getting an overview of the project, or specific subdirectories of the project.
A project may have many files, so you are suggested to start with a depth limit to get an overview, and then continue increasing the depth limit with a filter to look at specific subdirectories.
list_most_recently_checked_out_branchesList the n most recently checked out branches in the project
BEFORE YOU INSTALL
8 tools when we connected. get_a_joke is registered but never mentioned in the documentation, which names the other seven only in its diagram and examples.
Install uv
The documented client runs the server on your machine.
CONTEXT COST
Rated by the size of the 8 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
uvx mcpunk{
"mcpServers": {
"MCPunk": {
"command": "uvx",
"args": [
"mcpunk"
]
}
}
}