MCP Tools Overview β
Ctxo ships 14 MCP tools over stdio transport with zero external network dependencies β every tool reads from the local .ctxo/ index and returns results in under 500ms on typical repositories. Tools are grouped into four categories matching the sidebar: Context & Search, Impact & Change, Structure & Deps, and History & Cleanup.
See the mandatory sequence before editing.
Context & Search β
| Tool | Purpose |
|---|---|
get_logic_slice | Symbol plus transitive dependencies with progressive detail (L1-L4) |
get_context_for_task | Task-aware bundle for fix / extend / refactor / understand |
get_ranked_context | Two-phase BM25 search (camelCase-aware, trigram fallback, fuzzy) + PageRank within a token budget |
search_symbols | Symbol name or regex lookup across the index (supports mode: 'fts') |
Impact & Change β
| Tool | Purpose |
|---|---|
get_blast_radius | Impact score + affected symbols in three tiers (confirmed / likely / potential) + v0.8 cluster breakdown |
get_pr_impact | Full PR risk assessment: changes + blast radius + co-change history + v0.8 boundary violations |
get_changed_symbols | Symbols in recently changed files (git diff) |
get_change_intelligence | Complexity x churn composite score for hotspot detection |
Structure & Deps β
| Tool | Purpose |
|---|---|
get_architectural_overlay | Regex layers (Domain / Adapter / Ports / ...) + v0.8 data-driven community clusters with god nodes |
find_importers | Reverse dependency lookup β who uses this symbol? |
get_class_hierarchy | Class inheritance tree (ancestors + descendants) |
get_symbol_importance | PageRank centrality ranking of symbols |
History & Cleanup β
| Tool | Purpose |
|---|---|
get_why_context | Git commit intent + anti-pattern / revert warnings |
find_dead_code | Unreachable symbols and files |
Cross-cutting Features β
All 14 tools share the same response envelope and behavior. See Response Format for full examples.
The _meta envelope β
Every successful response carries a _meta block:
{
"_meta": {
"totalItems": 128,
"returnedItems": 42,
"truncated": true,
"totalBytes": 8192,
"hint": "Response truncated β narrow with `intent` or raise CTXO_RESPONSE_LIMIT"
}
}Truncation threshold defaults to 8192 bytes and is configurable via the CTXO_RESPONSE_LIMIT environment variable.
Intent filtering β
get_blast_radius, get_logic_slice, find_importers, and find_dead_code accept an optional intent parameter β a keyword filter applied to symbol names, file paths, and commit messages β to narrow noisy result sets before truncation kicks in.
Tool annotations β
Every tool declares MCP annotations so clients can reason about safety:
| Annotation | Meaning |
|---|---|
readOnlyHint | Tool never mutates repo or index state |
idempotentHint | Identical inputs produce identical outputs |
openWorldHint | Tool may touch unbounded external state (always false for Ctxo β all reads are local) |
Resources
Ctxo also exposes one MCP resource β ctxo://status β as a health-check endpoint to prevent -32601 Method not found errors from clients that call listResources at startup.
Next β
- Tool Selection Guide β decision tree mapping tasks to tools
- Response Format β full envelope, error shapes, and examples