MCPunk
Skills
get_task
Get a single task. Do not use this tool unless explicitly told to do so. After you complete the task, mark it as done by calling the `set_task_done` tool.
add_tasks
Add tasks to be completed by an LLM in the future. Do not add a task unless explicitly instructed to do so. When adding tasks, provide all required context. For example: step 1 set up the ~/git/p1 and ~/git/p2 repos projects step 2 load the diff with ref develop step 3 confirm that the function added in /examples/script.py is consistent with the existing /examples/other_script.py file. The common_prefix is prefixed to each task's action (if not None), it's provided to avoid having to repeat the common context for each task. Call this tool multiple times to add many tasks.
get_a_joke
Get a really funny joke! For testing :)
chunk_details
Get full content of a specific chunk. Returns chunk content as string. Common patterns: 1. Final step after find_matching_chunks_in_file finds relevant chunks 2. Examining implementations after finding definitions/uses
diff_with_ref
Return 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.
mark_task_done
Set a task as done wth a specific outcome. You can call this multiple times to update the outcome.
configure_project
Configure 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: 1. list_all_files_in_project to get an overview of the project (with an initial limit on the depth of the search) 2. Find files by function/class definition: find_files_by_chunk_content(... ["def my_funk"]) 3. Find files by function/class usage: find_files_by_chunk_content(... ["my_funk"]) 4. Determine which chunks in the found files are relevant: find_matching_chunks_in_file(...) 5. Get details about the chunks: chunk_details(...) Use ~ (tilde) literally if the user specifies it in paths.
list_all_files_in_project
List 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.
find_files_by_chunk_content
Step 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: 1. Find files: files = find_files_by_chunk_content(project, ["MyClass"]) 2. For each file, find actual matches: matches = find_matching_chunks_in_file(file, ["MyClass"]) 3. Get content: content = chunk_details(file, match_id)
find_matching_chunks_in_file
Step 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: - Finding all chunks in a file that make reference to a specific function (e.g. find_matching_chunks_in_file(..., ["my_funk"]) - Finding a chunk where a specific function is defined (e.g. find_matching_chunks_in_file(..., ["def my_funk"]) Returns array of {n: name, t: type, id: identifier, chars: length}
list_most_recently_checked_out_branches
List the n most recently checked out branches in the project
Configuration
MCP Server
Connect to MCP Server