Skip to content

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.

ToolPurpose
get_logic_sliceSymbol plus transitive dependencies with progressive detail (L1-L4)
get_context_for_taskTask-aware bundle for fix / extend / refactor / understand
get_ranked_contextTwo-phase BM25 search (camelCase-aware, trigram fallback, fuzzy) + PageRank within a token budget
search_symbolsSymbol name or regex lookup across the index (supports mode: 'fts')

Impact & Change ​

ToolPurpose
get_blast_radiusImpact score + affected symbols in three tiers (confirmed / likely / potential) + v0.8 cluster breakdown
get_pr_impactFull PR risk assessment: changes + blast radius + co-change history + v0.8 boundary violations
get_changed_symbolsSymbols in recently changed files (git diff)
get_change_intelligenceComplexity x churn composite score for hotspot detection

Structure & Deps ​

ToolPurpose
get_architectural_overlayRegex layers (Domain / Adapter / Ports / ...) + v0.8 data-driven community clusters with god nodes
find_importersReverse dependency lookup β€” who uses this symbol?
get_class_hierarchyClass inheritance tree (ancestors + descendants)
get_symbol_importancePageRank centrality ranking of symbols

History & Cleanup ​

ToolPurpose
get_why_contextGit commit intent + anti-pattern / revert warnings
find_dead_codeUnreachable 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:

json
{
  "_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:

AnnotationMeaning
readOnlyHintTool never mutates repo or index state
idempotentHintIdentical inputs produce identical outputs
openWorldHintTool 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 ​

Released under the MIT License.