All tools accept a project_id (returned by list_projects) and operate strictly within that project’s root directory. Path traversal outside the root is blocked at the service layer.

Project tools

ToolDescription
list_projectsList all projects discovered in the configured root directories.
get_projectGet metadata for a specific project: path, detected tooling, package manager, git info.
refresh_project_indexRe-scan one project or all projects to pick up newly added repositories.
summarize_projectReturn a high-level summary of the project stack, package manager, and top-level tree.

File and directory tools

ToolDescription
list_directoryList files and subdirectories at a given path within a project.
read_fileRead file content, optionally bounded to a line range (start_line, end_line).
read_multiple_filesRead multiple files in a single call.
create_fileCreate a new file. Set overwrite: true to replace an existing file.
write_fileOverwrite the full content of an existing file.
replace_in_fileFind and replace text in a file (first match or all matches via replace_all).
apply_patchApply a unified diff or a list of structured edit operations to a file. Supports dry_run.
delete_fileDelete a file or directory. Requires confirm: true as a safety guard.
move_fileMove or rename a file or directory within the project.

Search and analysis tools

ToolDescription
search_filesSearch for files by name or path pattern. Supports include_glob and exclude_glob filters.
grep_contentSearch file contents using a regex-like pattern. Returns matching lines with file paths and line numbers.
get_project_treeGet the directory tree of a project up to a configurable depth (max_depth).
summarize_projectReturn a summary of the project stack, package manager, detected tooling, and top-level tree.

Git tools

ToolDescription
git_statusShow the current working tree status (modified, staged, untracked files).
git_diffShow unstaged or staged (staged: true) changes as a unified diff.
git_branch_listList all local and remote branches.
git_checkout_new_branchCreate and switch to a new branch.
git_checkout_branchSwitch to an existing branch.
git_pullPull the latest changes from the remote.
git_addStage one or more files or paths.
git_restoreDiscard working tree changes for specified paths. Requires confirm: true.
git_commitCreate a commit with the given message.
git_pushPush commits to a remote branch. Supports remote, branch, and set_upstream.
git_logShow recent commit history with configurable limit.
git_showShow details of a specific commit, tag, or git object by ref.
git_create_tagCreate an annotated tag with an optional message.

Command tools

Commands run inside the project directory. Only commands on the ALLOWED_COMMANDS allowlist are executed.
ToolDescription
run_buildRun the build command auto-detected from the project tooling (e.g. npm run build, make).
run_testRun the test command auto-detected from the project tooling (e.g. npm test, pytest).
run_lintRun the lint command auto-detected from the project tooling (e.g. npm run lint, ruff).
run_command_safeRun any allowlisted command with explicit args, optional cwd, and timeout_ms.

Notes

  • Destructive operations (delete_file, git_restore) require explicit confirm: true.
  • All tool inputs are validated with zod schemas before execution.
  • In HTTP mode with auth enabled, role-based authorization runs before each tool operation.