Skip to main content

Tools reference

This page lists the tools implemented by coding_tools_mcp.server. Tool availability depends on --tool-profile.

Profiles

ProfileExposed tools
fullAll implemented tools.
read-onlyInspection tools only. Mutating process, patch, cwd, and permission tools are hidden.
compat-readonly-allCompatibility mode that marks exposed tools as read-only even when some can mutate local state.

Server and workspace tools

ToolPurposeImportant inputs
server_infoReturns server metadata, protocol information, active profile, and capability details.none
check_exec_environmentReports command execution environment and confinement status.none
get_default_cwdReturns the runtime default working directory.none
set_default_cwdChanges the default working directory for subsequent relative command operations.path
set_default_cwd is not exposed by the read-only profile.

File and search tools

ToolPurposeImportant inputs
read_fileReads UTF-8 text from a workspace file.path, start_line, end_line, max_bytes, encoding
list_dirLists direct or recursive directory entries.path, recursive, max_depth, max_entries, include_hidden, include_ignored, sort
list_filesFinds files by glob-style patterns.path, patterns, glob, exclude_patterns, include_hidden, include_ignored, max_results, sort
search_textSearches text using literal or regex matching.query, path, regex, case_sensitive, include_globs, exclude_globs, context_lines, max_results
Notes:
  • read_file supports only utf-8 and rejects binary-looking files.
  • read_file.max_bytes is capped at 1 MiB.
  • search_text uses rg when available and falls back to Python scanning.
  • Default ignored names include .git, node_modules, build outputs, virtualenvs, and common cache directories.

Editing tool

ToolPurposeImportant inputs
apply_patchApplies a unified patch to files in the workspace.patch, dry_run
apply_patch is hidden in read-only. Use dry_run to validate a patch without writing files.

Command tools

ToolPurposeImportant inputs
exec_commandStarts or runs a command in the workspace.cmd, workdir, timeout_ms, yield_time_ms, max_output_bytes, stdin, tty, env
write_stdinSends input to a running command session.session_id, chars, yield_time_ms, max_output_bytes
kill_sessionTerminates a running command session.session_id, signal, wait_ms, max_output_bytes
Command behavior is shaped by permission mode. In safe, network-looking commands, shell expansion, inline scripts, sensitive environment values, and broad temp writes are blocked. In trusted, local development workflows are allowed while secret filtering and Landlock remain active when available. In dangerous, command permission gates are disabled.

Git tools

ToolPurposeImportant inputs
git_statusReturns repository status.path, include_untracked, max_entries
git_diffReturns staged or unstaged diffs.path, paths, staged, unstaged, context_lines, max_bytes
git_logReturns recent commits.path, ref, max_count, skip
git_showShows a revision, optionally with diff.rev, path, paths, include_diff, context_lines, max_bytes
git_blameReturns blame information for a line range.path, rev, start_line, end_line, max_lines
These are Git inspection tools. They do not commit, checkout, reset, push, or mutate repository state.

Permission tool

ToolPurposeImportant inputs
request_permissionsRequests permission for a gated operation such as command network access or patch execution.tool_name, permission, reason, arguments, scope, ttl_seconds
The accepted tool_name values are exec_command and apply_patch. Permission names include network, destructive_command, long_timeout, sensitive_env, shell_expansion, inline_script, privileged_executable, and write_generated_or_ignored.

Image tool

ToolPurposeImportant inputs
view_imageReads a local image and returns either an MCP image payload or a data URL.path, max_bytes, max_width, max_height, auto_resize, output
view_image is enabled by default unless CODING_TOOLS_MCP_ENABLE_VIEW_IMAGE=0 or --enable-view-image is not used in a wrapper that disables it. The input file must be within the workspace path boundary.

Output convention

Tool calls return MCP content plus structured output. Successful tool payloads include ok: true where applicable. Failures are surfaced as structured errors with a code, message, category, retryability flag, and diagnostic details when available.