Use this page as a fast reference for MCP tool contracts and authorization expectations.

Project management

ToolKey inputsMutatingNotes
list_projectsnoneNoLists indexed projects
get_projectproject_idNoReturns metadata summary
refresh_project_indexproject_id?YesRebuilds index for one/all projects
summarize_projectproject_idNoHigh-level project summary

File and patch tools

ToolKey inputsMutatingSafety controls
list_directoryproject_id, pathNoRoot boundary checks
read_fileproject_id, path, start_line?, end_line?NoMax file size limit
read_multiple_filesproject_id, paths[]NoPer-file size validation
create_fileproject_id, path, content, overwrite?YesProtected path checks
write_fileproject_id, path, contentYesProtected path checks
replace_in_fileproject_id, path, find, replace, replace_all?YesProtected path checks
apply_patchproject_id, path, patch?, structured_edits?, dry_run?YesHunk conflict reporting, dry run
delete_fileproject_id, path, recursive?, confirmYesRequires confirm=true
move_fileproject_id, source_path, target_pathYesSource/target boundary checks

Search and analysis

ToolKey inputsMutatingNotes
search_filesproject_id, queryNoPath/name search
grep_contentproject_id, pattern, include_glob?, exclude_glob?NoLine snippet matches
get_project_treeproject_id, max_depth?NoNormalized tree output

Git tools

ToolKey inputsMutatingSafety controls
git_statusproject_idNoRepo existence validation
git_diffproject_id, staged?NoStructured stdout/stderr
git_branch_listproject_idNoStructured stdout/stderr
git_checkout_new_branchproject_id, branchYesPer-project lock
git_checkout_branchproject_id, branchYesPer-project lock
git_pullproject_idYesPer-project lock
git_addproject_id, paths[]YesPer-project lock
git_restoreproject_id, paths[], staged?, confirmYesRequires confirm=true
git_commitproject_id, messageYesCommit message validation
git_pushproject_id, remote?, branch?, set_upstream?YesStructured stdout/stderr
git_logproject_id, limit?NoStructured stdout/stderr
git_showproject_id, ref?NoStructured stdout/stderr
git_create_tagproject_id, tag, message?YesPer-project lock

Command tools

ToolKey inputsMutatingSafety controls
run_buildproject_idYesAllowlisted command runner
run_testproject_idYesAllowlisted command runner
run_lintproject_idYesAllowlisted command runner
run_command_safeproject_id, command, args[], cwd?, timeout_ms?YesCommand/args policy, timeout, output truncation

Role model (HTTP mode)

RoleAccess
viewerRead-oriented operations
editorViewer + non-destructive writes/build/test workflows
adminFull operation set
In HTTP deployments with auth enabled, role checks run before each tool operation. In STDIO mode, local process trust model applies unless additional wrappers are used.