Reference · Reeve
Reeve's MCP tools, one by one
Every tool Reeve's MCP server offers your AI coding assistant, its parameters, whether it uses the local model, and what it costs in time.
- Article
- 1203
- Applies to
- Reeve 0.17.2
- Last reviewed
- For
- For developers
Before you start#
roottakes an absolute path, or a repository's name fromrepos("porter"), so an assistant that isn't started inside the repository can still name it.searchandrefsalso take several, comma-separated ("manor, porter"), or"manor"for Castellan's own repositories.- Every model answer is a lead. It's labelled unverified, and cites line numbers to check it by. Tools marked No model below are decided by code alone: what they say is exact.
- Every answer says where it ran, when a model was asked:
[reeve: … on <accelerator>, …]. - All tools are read-only. None of them changes a file, a branch or a setting.
Reading code and repositories#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
outline | A file's declarations (functions, classes and their methods, types, tests, Markdown headings) with their line ranges; for a folder, each file's top level. Read only the lines you need, even of a file you'll edit. TypeScript, JavaScript, Python, C#, Go, Rust, PowerShell, Markdown. | paths; depth 1 or 2; glob for folders | No model; instant |
search | Code found by meaning: "where are auth tokens refreshed?". File and line ranges with previews, best first. | root; query; k (default 8, up to 30); glob | Embeddings; under a second once indexed |
refs | Every definition and use of an identifier, as a whole word, grouped by file, each use named by the function or class it's in. | name; root; glob | No model; under a second |
changes | What a branch changed since it left origin's default branch, with its uncommitted and untracked work: each file's lines added and removed, the declarations the changes fall in, and the commits. | root; range (A..B, A...B, a commit, or working); glob | No model; under a second |
history | The commits that changed a file, one declaration in it (SearchIndex.query) or a line range, newest first, with their pull request numbers. | root; path; symbol or lines (120-180); max (default 15); patch for the newest change itself | No model; under a second |
layout | A repository's folders, with file counts, sizes and languages; its key files (the README's first line, package scripts and workspaces, project files); and its largest files. First, in a repository you don't know. | root; depth (default 2, up to 4) | No model; under a second |
repos | Every git repository on this PC, Castellan's own first: path, branch, GitHub repository, lockfiles, and what the rounds do there. | refresh to look again now (else the list from the last 10 minutes) | No model; a few seconds |
How search ranks
The first search in a repository builds its index, in the background: minutes for a big one, with partial results meanwhile, then only changed files are indexed again. For a question about code, code ranks above the READMEs, changelogs, tests and lockfiles that talk about it, unless you ask for those. When the accelerators serve a reranker (the Smith's Set up, "sharper search"), the ten best files get a second look by it. When no embedding model can be had, it ranks by keywords instead, and says so.
Indexes live in %USERPROFILE%\.reeve\index, never in the repository. A .reeve.json in the repository with { "ignore": ["glob", ...] } keeps paths out of the index; .gitignore's are left out already.
Logs, tests and GitHub#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
triage | A long build, test or runtime log digested: the outcome (decided by code), the distinct issues with line references, and verbatim evidence lines picked by code. The model labels each issue as a likely cause or noise; it isn't asked when the run passed or every error has a known cause. | path (best: redirect the command's output to a file first) or text; question | Chat, 0 or 1 call; 10 to 25 s |
ci | A pull request's GitHub checks (or a branch's newest workflow runs): counts, the failing ones with links, and each failed job's log triaged. | root; pr or branch (default: the branch checked out) | Chat, through triage; about 15 s per failed job |
pr | A pull request in one call: state, branches, size, mergeability, review decision, checks, reviews, description, files, and its open review threads with their comments. | root; pr (default: the branch's) | No model; 1 to 3 s |
screens | Text in app screenshots that runs off the screen, is cut off by its box, truncated or overlapping, measured with Windows' OCR against the pixels. | paths (default: Maestro's runs from the last days); days; sources, app checkouts whose strings enable the truncation check | No model; seconds |
cluster | Texts that say the same thing (crash logs, test failures, feedback) grouped, so you read one per group. | paths (folders, .jsonl or text files); field for .jsonl; threshold; label | Embeddings, and chat names the groups; depends on size |
ci and pr need GitHub's gh signed in. Given a failed Maestro run's log, triage also looks at the failing step's screenshot, and says what was on screen and whether the failure is new, a known flake, or came after its fix.
Reading for you#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
summarize | A map-reduce summary of big files or docs, with line references. For code you'll edit, read it yourself. | paths or text; focus; max_lines (default 3000) | Chat; about 10 s per 120 lines |
map | The same one-line or yes/no question asked of many files or items. | instruction; paths or items; time_budget_s (10 to 900) | Chat; 3 to 5 s per input |
ask | One small, low-stakes task: a commit message from a diff file, test data. Never for facts. | prompt; paths; max_tokens (16 to 600) | Chat; one call |
Your dependencies' docs#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
docs | A question about a package, answered only from docs stored on this PC for the exact version the project's lockfile pins. Code checks every quote; an answer that fails twice is withheld, and the passages come back instead. | library; question; root to pin the version; importer for a workspace package; version; glob | Chat; seconds once indexed |
docs_list | The docs stored; with root, the project's dependencies, their exact versions, and which have docs. | root | No model; instant |
lint_docs | Uses of APIs the installed packages mark @deprecated, and those the pinned docs call deprecated, removed or renamed, with the replacement. | root (with node_modules) | No model; 30 to 60 s |
upgrades | For each outdated dependency, the breaking changes between the installed and target versions that name APIs this project uses, with file and line. | root; only | Chat, for unlabelled notes; minutes the first time, then cached |
See Version-pinned docs, docs lint and the upgrade scout.
This PC's history#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
commands | Shell commands run lately, newest first: those your AI assistant ran (with folder, time and exit code), and PowerShell's and Git Bash's own histories. | query; folder; since; source (ai, powershell, bash); max (default 30) | No model; 3 s the first time, then under 1 s |
errors | Failures seen lately, repeats grouped with how often and when last seen. | query; folder; since (default 7 days); max (default 15) | No model; under a second |
sessions | Past AI sessions on this PC; with a query, where something was asked, said, run or changed in them. | query; project; since (a search's default is 30 days); max | No model; under a second to list; 25 s at most to search |
session | One past session: what was asked, the files changed, the commands that failed, then the model's summary of what was decided and done. | id (8 characters will do); summarize; focus | Chat, for the summary; about a minute |
Likely secrets come back as REDACTED. See History: commands, failures and past AI sessions.
Reeve and the manor#
| Tool | What it answers | Parameters | Model, and time |
|---|---|---|---|
digest | The latest result of each job of the rounds, and the alerts not yet acknowledged. | none | No model; instant |
manor | Castellan's state in one call, problems first: the Steward's alarms, the Surveyor's findings, agents down, off duty or behind, the last install, the Wright's work, the accelerators. | section (agents, alarms, findings, updates, npu, work); json | No model; under a second; 6 s at most |
status | The accelerators (up, failed, held back for a game, their lines), the models and request caps, and with root a repository's index; then what Reeve has kept off the cloud. | root | No model; instant |
manor reads Castellan's page and never starts it: when Castellan isn't answering, it says so.
Related articles
Is this page right?
If something on it is wrong or out of date, tell us and we'll fix the page.
Still stuck? Write to support@castellan-software.com and mention article 1203. Every version of Reeve, and what changed in it, is in its release notes.