# Appendix — MCP Tools (generated) Source of truth: `rust/src/server/registry.rs` and the tool definitions it registers. lean-ctx registers **81 MCP tools** (granular profile). Each entry below lists the tool name, what it does, and its parameters (`*` marks required). ## `ctx_agent` Multi-agent coordination — shared message bus, persistent diaries, stigmergic scent field. WORKFLOW: register agents first, then post/read messages, sync for state alignment. Actions: register (agent_type+role), post (message+category), read (poll), status (active|idle|finished), handoff (task+summary), sync (agents+messages+scent), claim/release (file/task), brief (sub-agent briefing), return (distill→knowledge), diary|recall_diary|diaries (agent journal), share_knowledge|receive_knowledge (cross-agent), list, info. ANTIPATTERN: NOT for single-agent workflows. Use ctx_compose for code understanding. Parameters: `action`*, `agent_type`, `category`, `message`, `role`, `status`, `to_agent` ## `ctx_analyze` Entropy analysis — recommends optimal compression mode for a file path. WORKFLOW: Use BEFORE ctx_read to pick the best mode (full/signatures/auto). Saves tokens by selecting the mode that minimizes size while retaining information. Parameters: `path`* ## `ctx_architecture` Architecture analysis — understand module structure without reading every file. WORKFLOW: use ctx_compose FIRST for code understanding; ctx_architecture for high-level structure. action=overview→high-level; clusters|communities→groupings; layers|cycles→dependency violations; entrypoints|hotspots→risk areas; health→quality; module path='src/' to zoom into a specific module. ANTIPATTERN: does NOT show source code — only structural relationships. Parameters: `action`, `format`, `path`, `root` ## `ctx_artifacts` Context artifact registry with BM25 search — manage and query indexed code artifacts. WORKFLOW: index artifacts first (index/reindex), then search with query for semantic retrieval. Actions: list|status|index|reindex|search|remove. ANTIPATTERN: NOT for general code search — use ctx_semantic_search for codebase queries. Parameters: `action`*, `format`, `name`, `project_root`, `query`, `top_k` ## `ctx_benchmark` Benchmark compression modes — measures token savings across all available modes for a file or project. WORKFLOW: use BEFORE ctx_read to pick the optimal compression strategy. Provide a file path, or use action=project for project-wide results. ANTIPATTERN: NOT for production profiling — measures compression, not runtime performance. Parameters: `action`, `format`, `path`* ## `ctx_cache` Cache operations — inspect, clear, or invalidate the read cache. Actions: status lists cached files; clear empties all (recover token budget); invalidate path=... refreshes a single entry. Use to diagnose stale content or recover budget after large reads. ANTIPATTERN: does NOT affect disk files — only cached read content. Parameters: `action`*, `path` ## `ctx_call` Invoke any non-core lean-ctx tool by name — for tools not exposed as standalone MCP tools. Categories: arch, debug, memory, batch, agent, util. Find exact names with ctx_discover_tools (query=keyword; empty query lists all). Cannot invoke itself. Parameters: `arguments`, `name`* ## `ctx_callgraph` Callers/callees for one symbol (function call edges, not const/var refs). action=callers|callees symbol='fn' → every call site with file:line. action=trace from→to finds the path between two symbols (depth=N). For end-to-end flow understanding use ctx_compose FIRST. Parameters: `action`, `depth`, `file`, `from`, `symbol`, `to` ## `ctx_checkpoint` Local shadow git history of the agent's changes — separate from the user's .git. WORKFLOW: snapshot before+after changes to capture exactly what was modified. Actions: snapshot (record current state), log (list checkpoints with SHAs), diff from=... to=... (compare checkpoints), restore ref=... (revert files). ANTIPATTERN: Never touches the user's repository — completely isolated shadow history. Parameters: `action`, `from`, `limit`, `message`, `path`, `ref`, `to` ## `ctx_compare` Preview compression — original vs the bytes lean-ctx would emit, with token counts + line diff. INPUT (pick one): path= (read pipeline) | content= [+ ext=rs|json|csv] (read pipeline) | command= + output= (shell pipeline). Read-only: never changes files, cache, or session. Use to decide whether a mode/pipeline is worth it. ANTIPATTERN: not for reading files (use ctx_read) or restoring archived output (use ctx_expand). Parameters: `command`, `content`, `ext`, `output`, `path` ## `ctx_compile` Build minimal context package within token budget. Modes: handles (references), compressed (content), full (all cached). WORKFLOW: after ctx_read/ctx_compose, package focused context for handoff/subagent. ANTIPATTERN: not for exploration — use ctx_compose/ctx_read first. Parameters: `budget`, `mode` ## `ctx_compose` PRIMARY TOOL — call FIRST for understanding code (before editing/debugging/'how does X work'). Returns ranked files with relevant symbol source inline grouped by file. Combines BM25 lexical+semantic+associative retrieval+submodular optimization. ANTIPATTERN: Do NOT chain search→read→symbol — one compose replaces the whole chain. ANTIPATTERN: Do NOT Read files whose source compose already returned — it IS the source. WORKFLOW: Fire parallel ctx_read or ctx_compose for different areas. Parameters: `path`, `task`* ## `ctx_compress` Compress read cache to free token budget. Does not affect session state or knowledge. WORKFLOW: check budget with ctx_context first, then reclaim space. Parameters: `include_signatures` ## `ctx_compress_memory` Compress memory/config file (CLAUDE.md, .cursorrules) preserving code, URLs, and paths. Creates .original.md backup. WORKFLOW: check token overhead with ctx_context, then compress to reduce persistent instruction cost. Parameters: `path`* ## `ctx_context` Session context overview — cached files, seen files, session state, CRP mode. WORKFLOW: track context budget periodically — use before ctx_compress/ctx_compile. ANTIPATTERN: not for reading file content — use ctx_read or ctx_compose. Parameters: _none_ ## `ctx_control` Fine-tune context — exclude, include, pin, unpin, set_view, set_priority, mark_outdated, reset, list, history. Overlay-based, reversible, scoped to call/session/project. WORKFLOW: after ctx_compose, exclude low-relevance files. ANTIPATTERN: not for initial context building — use ctx_compose/ctx_read first. Parameters: `action`*, `reason`, `scope`, `target`, `value` ## `ctx_cost` Cost attribution — track tokens and cost per agent/tool call. Local-first, no external billing. Actions: report (summary), agent (per-agent), tools (per-tool), json (machine), status (live), reset (zero). WORKFLOW: call report to find top cost drivers, then agent/tools for detail. Parameters: `action`, `agent_id`, `limit` ## `ctx_dedup` WORKFLOW: action=analyze first to find shared imports/code across files, then action=apply to register dedup hints for ctx_read output. ANTIPATTERN: NOT for permanent dedup — only compression hints for read output. Parameters: `action` ## `ctx_delta` Incremental diff since last read — shows only changed lines after you edit. WORKFLOW: ctx_read(mode=full) -> edit -> ctx_delta (no re-read needed). Use INSTEAD of re-reading the whole file after modifications — saves 90%+ tokens on unchanged content. Path must have a prior ctx_read in this session's cache. For the full git diff against HEAD, use ctx_read(path, mode=diff) instead. Parameters: `path`* ## `ctx_discover` Find shell commands not yet using lean-ctx compression — use when context feels bloated. Shows which commands would save tokens via lean-ctx patterns. limit=N caps results. ANTIPATTERN: not for finding compression bugs — reports missed opportunities only. Run 'lean-ctx init --global' to auto-compress all commands. Parameters: `limit` ## `ctx_discover_tools` WORKFLOW: call FIRST when unsure which tool fits your task — lists all tools on empty query. Then use ctx_call to invoke discovered tools (for static-tool-list clients). ANTIPATTERN: not for runtime invocation — use ctx_call(name=..., arguments=...) directly. Parameters: `query` ## `ctx_edit` Search-and-replace edit with race-condition guards — for simple text replacement in a single file. For editing code you've read, prefer ctx_patch (hash-anchored): it never makes you reproduce old text byte-for-byte. Read with ctx_read(mode="anchored") first. old_string must be unique unless replace_all=true. create=true writes new files. backup creates .bak. MD5/size/mtime pre-guards prevent race conditions. ANTIPATTERN: Do NOT loop on failures — switch to ctx_patch (anchored), or verify file content and adjust old_string. For LSP-aware refactoring (rename, move, inline), use ctx_refactor. Parameters: `create`, `new_string`*, `old_string`, `path`*, `replace_all` ## `ctx_execute` Run code in sandbox (11 languages) — use when conditionals, multi-line or cross-language transforms. ANTIPATTERN: for simple one-liners, prefer ctx_shell (lower overhead, auto-compressed). action=code (default) for one-shot; action=batch for parallel multi-language; action=file to process a project file (extension auto-detects). Pass intent to focus large output and save tokens. Languages: javascript, typescript, python, shell, ruby, go, rust, php, perl, r, elixir. Parameters: `action`, `code`, `intent`, `items`, `language`, `path`, `timeout` ## `ctx_expand` Retrieve archived tool output: see [Archived:ID] → ctx_expand id=ID (zero-loss, original preserved). head/tail/search filter lines; action=list|search_all browses/queries archives. ANTIPATTERN: not for project files — use ctx_read or ctx_compose. Parameters: `action`, `end_line`, `head`, `id`, `json_keys`, `json_path`, `query`, `search`, `session_id`, `start_line`, `tail` ## `ctx_explore` Iterative, deterministic code exploration → compact file:line citations. Runs a bounded multi-turn loop (BM25 + static call/import graph + AST symbols) and returns a block of `path:start-end` spans instead of bodies. USE WHEN: locating WHERE behavior lives across many files, cheaply. vs ctx_compose: compose inlines bodies in one shot; explore returns citations over N turns (far fewer tokens). citation=true emits only the block. Parameters: `citation`, `max_turns`, `path`, `query`* ## `ctx_feedback` Record and report LLM token/latency metrics — use to track efficiency and optimize context usage. WORKFLOW: action=record during each LLM call, then action=report for readable summary. Actions: record (log event), report (readable summary), json (machine-readable), reset (clear data), status (storage info). ANTIPATTERN: not for debugging code behavior — this tracks token/latency stats only. record requires llm_input_tokens + llm_output_tokens. Parameters: `action`, `agent_id`, `intent`, `latency_ms`, `limit`, `llm_input_tokens`, `llm_output_tokens`, `model`, `note` ## `ctx_fill` Budget-aware context fill — compress N files to fit a token budget. WORKFLOW: pass paths[] + budget=N; task="..." enables intent-driven pruning. ANTIPATTERN: does NOT decide which files to include — use ctx_plan for project-wide selection. Saves tokens vs per-file reads (for many files with a budget). Parameters: `budget`*, `paths`*, `task` ## `ctx_gain` Gain report — shows token savings from lean-ctx compression. action=wrapped for periodic/annual summary. Other actions: status|report|score|cost|tasks|heatmap|agents|json. period="week"|"month"|"all" scopes the report. Parameters: `action`, `limit`, `model`, `period` ## `ctx_git_read` Read remote git repos via cached shallow clone (not HTML scraping). modes: overview (tree + README) | tree (file list) | read (file content) | grep (search). Accepts repo URLs and GitHub/GitLab blob/tree links (ref+path auto-detected). https-only, SSRF-guarded. Prefer over ctx_url_read for whole-repo access. Parameters: `max_tokens`, `mode`, `path`, `query`, `ref`, `timeout_secs`, `url`* ## `ctx_glob` Find files by glob pattern (respects .gitignore; multi-root via paths). For file CONTENT search use ctx_search. Parameters: `ignore_gitignore`, `max_results`, `path`, `paths`, `pattern`* ## `ctx_graph` File-level dependency graph queries. action=symbol path="file.rs::fnName" returns the DEFINITION (not usages — use ctx_search for references). neighbors=imports±direction, impact=reverse-dep blast radius, path from→to=dependency chain, diff since=HEAD~1=git change impact, diagram kind=deps|calls (Mermaid). For understanding code use ctx_compose FIRST. Parameters: `action`*, `depth`, `format`, `kind`, `path`, `project_root`, `since`, `to` ## `ctx_handoff` Context handoff protocol (hashed, deterministic, local-first). Actions: create|show|list|pull|clear|export|import. Stores curated file refs with hashes. Before ending a session or handing off to another agent. Parameters: `action`, `apply_knowledge`, `apply_session`, `apply_workflow`, `filename`, `format`, `path`, `paths`, `privacy`, `write` ## `ctx_heatmap` File access heatmap — shows most frequently accessed files per session. action=status (default) for summary, action=detail for per-file access counts. Identify hot files to optimize context usage. Parameters: `action`, `path` ## `ctx_impact` Change impact analysis — assess blast radius before refactoring. action=analyze path="file.rs" maps downstream dependents; action=diff compares git refs; action=chain traces from→to dependency paths. depth controls traversal (default 5). Parameters: `action`, `depth`, `format`, `path`, `root` ## `ctx_index` Index orchestration — manage code graph index. WORKFLOW: status → build → build-full (escalate if stale). ANTI-PATTERN: build-full is expensive — use incremental build first. Actions: status (state), build (incremental), build-full (rebuild). Parameters: `action`*, `project_root` ## `ctx_intent` Submit task goals as JSON or short text — server infers from tool calls. ANTI-PATTERN: not needed for simple tasks. query=task|JSON; format=json for JSON output; project_root=scope. Parameters: `format`, `project_root`, `query`* ## `ctx_knowledge` Persistent memory across sessions — remember decisions, patterns, and facts for recall. WORKFLOW: save after completing significant tasks; recall at session start. action=remember value='Y' saves a fact (key optional — derived from value; content= is an accepted alias). action=recall query='X' retrieves it (bare recall lists recent facts). action=status shows all categories. action=consolidate imports latest session if present, runs lifecycle, then frees 25% facts/history/procedures capacity. action=gotcha trigger='X' resolution='Y' for known pitfalls. mode=semantic|exact for recall. category groups related facts. Parameters: `action`*, `as_of`, `category`, `confidence`, `dry_run`, `examples`, `format`, `key`, `limit`, `merge`, `mode`, `path`, `pattern_type`, `query`, `resolution`, `severity`, `store`, `trigger`, `value` ## `ctx_ledger` Context ledger — track persistent context pressure. WORKFLOW: status → evict → reset (reset only if budget needs full flush). ANTI-PATTERN: don't evict files you actively need — check status first. Actions: status, reset, evict. Parameters: `action`*, `targets` ## `ctx_load_tools` Load/unload specialized tool categories to reduce surface area. WORKFLOW: list → load → unload when done. ANTI-PATTERN: don't unload categories you're actively using. Actions: load|unload|list. Categories: arch, debug, memory, metrics, session. Core is always loaded. Parameters: `action`*, `category` ## `ctx_metrics` Session token statistics — cache hit rates, per-tool savings, pipeline metrics, and signature backend ratios. ANTI-PATTERN: not for real-time monitoring — snapshot of current session. Complements ctx_radar for budget analysis. Parameters: _none_ ## `ctx_multi_read` DEPRECATED → use ctx_read with paths=['a.rs','b.rs']. Folded into ctx_read (#509); hidden from tools/list, still callable for one release. Parameters: `fresh`, `mode`, `paths`* ## `ctx_multi_repo` Multi-repository — add, remove, search project directories. WORKFLOW: list_roots → add_root/remove_root → search. ANTI-PATTERN: not for single-repo projects — use ctx_search. Actions: add_root|remove_root|list_roots|search|status|save_config. Cross-repo search runs hybrid retrieval per root (BM25+dense+SPLADE) and merges with RRF; mode="bm25" forces lexical-only. ctx_search/ctx_glob/ctx_tree/ctx_read all accept a repo= arg (not in their own schema) to target a registered root by alias instead of the project root — list_roots shows the aliases. Parameters: `action`*, `alias`, `max_results`, `mode`, `path`, `query`, `roots` ## `ctx_outline` WORKFLOW: call BEFORE ctx_read to map code structure (a syntax-aware table of contents). Accepts a FILE or a DIRECTORY (folder surface — per-file symbols). Symbols come from tree-sitter (27 languages, real line spans); a conservative regex fallback covers the rest. kind=fn|struct|class|trait|enum|impl|all filters by kind; match= filters by name (case-insensitive); format=json emits deterministic JSON labelling the backend per file. ANTIPATTERN: NOT for file content (use ctx_read) or deep understanding (use ctx_compose). Parameters: `format`, `kind`, `match`, `path`* ## `ctx_overview` WORKFLOW: call at session START before ctx_compose/ctx_read. ANTIPATTERN: NOT for source code — structure only. Use ctx_compose for code understanding. Project map — task='your goal' scopes files by relevance (PageRank on symbol graph). High-level structure only, no source body. ~10x cheaper than ctx_compose. Parameters: `path`, `task` ## `ctx_pack` WORKFLOW: create -> export -> import -> install for sharing context state. ANTIPATTERN: NOT for ephemeral session save (use ctx_session). Context Package Manager — create, install, manage portable context packages with knowledge, graph, session patterns, and gotchas. Actions: pr, create, list, info, remove, install, export, import, auto_load, summary. Saves tokens: pre-built context state (avoids re-building). Parameters: `action`*, `apply`, `author`, `base`, `depth`, `description`, `diff`, `enable`, `file`, `format`, `layers`, `level`, `name`, `project_root`, `scope`, `tags`, `version` ## `ctx_package` WORKFLOW: save -> resume in new session for agent handoff. ANTIPATTERN: NOT for internal session persistence (use ctx_session). Self-contained JSON bundles: session state, summaries, knowledge. Actions: save, resume, list, info. Saves tokens: portable across sessions/agents. Parameters: `action`, `description`, `path` ## `ctx_patch` Hash-anchored edit — patch by (line, hash) anchor; never reproduce old text byte-for-byte. Anchors N:hh| come from ctx_read(mode="anchored") or ctx_search(anchored=true). op=set_line one line; replace_lines start_*..end_* range; insert_after (line 0 = top); delete; replace_symbol (name + new_body); create writes a NEW file from new_text. new_text="" deletes. Batch via ops:[{op,line,hash,new_text},…] — one preimage, applied all-or-nothing. Stale anchor → CONFLICT with fresh anchors to retry (no partial writes). Parameters: `end_hash`, `end_line`, `hash`, `line`, `name`, `new_body`, `new_text`, `op`, `ops`, `path`*, `start_hash`, `start_line` ## `ctx_plan` WORKFLOW: set task+profile -> ctx_plan -> use results with ctx_read/ctx_compose. ANTIPATTERN: NOT for compressing already-selected files (use ctx_fill). Selects files for context via Phi scoring + budget + policy. task=short English; budget=token limit (default 12000); profile=ultra_lean|balanced|forensic. Saves tokens by prioritizing relevant files. Parameters: `budget`, `profile`, `task`* ## `ctx_plugins` WORKFLOW: list -> info/name -> enable/disable. ANTIPATTERN: NOT for tool listing (use ctx_discover_tools). Plugin management — list, enable, disable, info, hooks. name required for enable/disable/info. Extends tool functionality. Saves tokens: loads only needed plugins. Parameters: `action`*, `name` ## `ctx_prefetch` WORKFLOW: call BEFORE context-heavy operations to minimize latency. ANTIPATTERN: NOT for normal reads — only for proactive cache warming. Prewarms cache for blast radius files via graph + task signals. task=description; changed_files=paths for blast radius; budget_tokens=soft budget (default 3000); max_files=limit (default 10). Saves latency (not tokens): preloads files before needed. Parameters: `budget_tokens`, `changed_files`, `max_files`, `root`, `task` ## `ctx_preload` Caches task-relevant files, returns L-curve-optimized summary. WORKFLOW: call at session start or when switching tasks, before ctx_read. ANTIPATTERN: not for reading individual files — use ctx_read instead. ~50-100 tokens vs ~5000 for individual reads (~50x savings). Parameters: `path`, `task`* ## `ctx_proof` Export machine-readable ContextProofV1 (Verifier, SLO, Pipeline, Provenance). WORKFLOW: call after completing a task to generate audit trail. ANTIPATTERN: not for budget analysis — use ctx_radar/ctx_metrics instead. action=export (only valid); format=json|summary|both; write=true|false; max_evidence=max tool receipts (default 50). Writes to .lean-ctx/proofs/. Parameters: `action`*, `filename`, `format`, `max_evidence`, `max_ledger_files`, `project_root`, `write` ## `ctx_provider` Query GitHub, GitLab, Jira, Postgres, MCP bridges, custom REST. WORKFLOW: action=list first to discover configured providers. ANTIPATTERN: not for file content — use ctx_compose/ctx_read instead. provider=id (github|gitlab|jira|mcp:); resource=issues|pull_requests. Data flows through consolidation pipeline; results searchable via ctx_semantic_search. Parameters: `action`*, `iid`, `labels`, `limit`, `mode`, `provider`, `resource`, `state`, `status` ## `ctx_quality` WORKFLOW: report (project score+hotspots+$ tax) → file (one file) → delta (vs HEAD). Code health = clean code as a token-cost lever: cognitive complexity, naming, and the estimated token 'quality tax' of over-threshold functions. ANTIPATTERN: NOT a linter/style checker — it scores navigability, not formatting. Parameters: `action`, `format`, `path`, `root` ## `ctx_radar` Context budget breakdown — system prompt, messages, tools, reads, shell. WORKFLOW: call when context window tight to find biggest consumers. ANTIPATTERN: not for per-call timing — use ctx_metrics instead. format=display (human-readable) or json (structured). Complements ctx_metrics for comprehensive budget analysis. Saves tokens vs manual budget estimation. Parameters: `format` ## `ctx_read` Read source files. mode REQUIRED — choose by intent (see `mode` below). To UNDERSTAND code run ctx_compose FIRST; ctx_read after it identified files. anchored → edit by reference via ctx_patch (no exact-recall). Parameters: `aggressiveness`, `fresh`, `limit`, `mode`, `offset`, `path`, `paths`, `protect`, `raw`, `start_line` ## `ctx_refactor` Rename, move, safe_delete, inline, read-only analyses via LSP/IDE. WORKFLOW: use action=references first to find usages before refactoring. ANTIPATTERN: not for symbol discovery — use ctx_symbol/ctx_compose. Single-phase edits (replace_symbol_body, reformat) work headless via name_path. Two-phase ops (_preview+_apply) need JetBrains IDE (else BACKEND_REQUIRED). Conflicts blocked unless force=true. See `action` parameter for full list. Parameters: `action`*, `column`, `direction`, `end_line`, `expected_hash`, `force`, `keep_definition`, `line`, `mode`, `name_path`, `new_body`, `new_name`, `optimize_imports`, `path`, `plan_hash`, `propagate`, `scope`, `search_comments`, `search_text_occurrences`, `target_parent`, `target_path`, `text` ## `ctx_repomap` PageRank symbol map ranked by structural importance + session relevance. WORKFLOW: call for codebase-wide orientation at session start. ANTIPATTERN: not for task-scoped views — use ctx_overview instead. focus_files=['path/*.rs'] boosts specific areas; max_tokens controls size (default 2048). Saves tokens vs reading all files individually. Parameters: `focus_files`, `max_tokens`, `path` ## `ctx_response` Compress LLM response text via structural de-duplication. Removes repetitive patterns while preserving key information. WORKFLOW: use after receiving a response, before storing/forwarding. ANTIPATTERN: no-op when CRP mode is off — use ctx_read compression instead. Parameters: `text`* ## `ctx_retrieve` Retrieve original uncompressed content from the session cache (CCR) — restores full verbatim source when compressed ctx_read output is insufficient. WORKFLOW: call ctx_read FIRST to populate cache, then ctx_retrieve for verbatim. query='text' to find matching lines within cached content. ANTIPATTERN: not for reading files directly — use ctx_read. Parameters: `path`*, `query` ## `ctx_review` Automated code review with impact analysis, caller tracking, and test discovery. Actions: review (single file), diff-review (from git diff text), checklist (structured review questions). depth=N (default 3). WORKFLOW: run tests first, then use review for structured analysis. ANTIPATTERN: not a substitute for actual test execution. Parameters: `action`*, `depth`, `path` ## `ctx_routes` Discover HTTP API endpoints without reading route definition files. Auto-detects: Express, Flask, FastAPI, Actix, Spring, Rails, Next.js. method=GET|POST filters by verb; path='/api' filters by prefix. ANTIPATTERN: not for filesystem paths — use ctx_tree. Saves tokens vs grepping route definitions. Parameters: `method`, `path` ## `ctx_rules` Cross-agent rules governance (ContextOps). Actions: sync (distribute rules to agents), diff (show drift), lint (check consistency), status (sync state), init (create central config). WORKFLOW: run status first to check state, then sync if out of date. Parameters: `action`*, `agent` ## `ctx_search` Search code; `action` picks the engine (default regex). regex(pattern) | semantic(query, by meaning) | symbol(name, AST-exact; or handle=path#name@Lline) | reindex | find_related(file_path,line). anchored=true tags hits for ctx_patch. Run ctx_compose FIRST. Parameters: `action`, `anchored`, `file`, `file_path`, `handle`, `include`, `kind`, `line`, `max_results`, `mode`, `name`, `path`, `paths`, `pattern`, `query`, `top_k` ## `ctx_semantic_search` [Deprecated → ctx_search action="semantic"] Search code by meaning (BM25+embeddings); reindex / find_related are ctx_search actions too. Hidden from tools/list but still callable for one release — prefer ctx_search. Parameters: `action`, `file_path`, `languages`, `line`, `mode`, `path`, `path_glob`, `query`*, `top_k` ## `ctx_session` Session memory. save at session end, load at start, status = snapshot; task|finding|decision record progress (value=text). ANTIPATTERN: permanent project knowledge → ctx_knowledge. Parameters: `action`*, `session_id`, `value` ## `ctx_share` WORKFLOW: push from agent A → pull from agent B shares cached file contexts. Actions: push|pull|list|clear. Omit to_agent for broadcast. ANTIPATTERN: NOT file transfer — shares lean-ctx cache entries only. Parameters: `action`*, `message`, `paths`, `to_agent` ## `ctx_shell` WORKFLOW: preferred — auto-compresses output (build/test/log). raw=true for verbatim output. [exit:N] on errors (lossless). ANTIPATTERN: multi-line scripts → ctx_execute. Parameters: `command`*, `cwd`, `env`, `raw`, `timeout_ms` ## `ctx_skillify` WORKFLOW: mine to extract patterns → list to review → promote to activate. Codifies patterns into .cursor/rules/skillify-*.mdc. Actions: mine|list|status|promote. Idempotent. ANTIPATTERN: one-off rules → write .mdc by hand. Parameters: `action`, `slug` ## `ctx_smart_read` DEPRECATED → use ctx_read (it auto-selects the mode; omit `mode`). Folded into ctx_read (#509); hidden from tools/list, still callable for one release. Parameters: `path`* ## `ctx_smells` WORKFLOW: rules (list detectors) → scan (run on project). Code smell detection: dead_code, long_function, god_file, complexity, etc. rule='name' or path='file' to filter. ANTIPATTERN: NOT a linter — no style/format enforcement. Parameters: `action`, `format`, `path`, `root`, `rule` ## `ctx_summary` WORKFLOW: record after tasks → recall with query. Compact session digests (task, files, decisions, next steps). Actions: recall|record|list. Auto-captured on checkpoints. ANTIPATTERN: structured facts → ctx_knowledge. Parameters: `action`, `query`, `top_k` ## `ctx_symbol` [Deprecated → ctx_search action="symbol"] Get one symbol's body by name (AST-precise); optional file/kind narrow. Hidden from tools/list but still callable for one release — prefer ctx_search. Parameters: `file`, `kind`, `name`* ## `ctx_task` Multi-agent task orchestration. WORKFLOW: action=create → action=list to review → action=update to change state. Actions: create|update|list|get|cancel|message|info. States: working|input-required|completed|failed|canceled. ANTIPATTERN: not for code execution — use ctx_shell or ctx_execute. Parameters: `action`*, `description`, `message`, `state`, `task_id`, `to_agent` ## `ctx_tools` Gateway to downstream MCP servers — unlimited external tools at ~constant context cost. actions: find (query → top-N relevant tools) | call (proxy a server::tool) | list (servers+counts) | refresh. WORKFLOW: find to discover, then call the chosen server::tool. ANTIPATTERN: not for built-in tools — use those directly. Parameters: `action`, `arguments`, `query`, `tool` ## `ctx_transcript_compact` Compact an OpenAI-format message array deterministically: keep system + fresh tail verbatim, replace older turns with a recoverable summary, offload raw turns into session memory (indexed for recall). Returns JSON {messages, stats}. tool_call/tool_result pairs never split. Parameters: `focus_topic`, `fresh_tail_tokens`, `messages`*, `protect_min_messages` ## `ctx_tree` Directory tree with file counts per directory. depth=N (default 3); show_hidden for dotfiles; paths for multi-root. respect_gitignore filters ignored files (default true). WORKFLOW: lightweight orientation before ctx_repomap or ctx_compose. Parameters: `depth`, `path`, `paths`, `respect_gitignore`, `show_hidden` ## `ctx_url_read` Fetch URL: pages→Markdown; PDF→text; YouTube→transcript; mode=auto best per type. mode=facts|quotes for research (claims+confidence). query='topic' focuses extraction. GitHub blob/raw URLs auto-resolve to raw file. SSRF-guarded (no private IPs). max_tokens=6000; timeout_secs=20 (max 60). Parameters: `max_items`, `max_tokens`, `mode`, `query`, `timeout_secs`, `url`* ## `ctx_verify` Verification observability — tool call statistics and claim-based verification. WORKFLOW: action=stats to monitor tool usage; action=proof|v2 for Lean4 proof verification. Actions: stats|proof|v2 (format=summary|json|both, default summary). ANTIPATTERN: not for runtime verification during active development — use for periodic audit. Parameters: `action`, `format` ## `ctx_workflow` Workflow rails — state machine with evidence tracking. WORKFLOW: start → transition (multiple) → complete. evidence_add before transition to attach proof. Built-in plan_code_test when spec omitted. Actions: start|status|transition|complete|evidence_add|evidence_list|stop. spec=WorkflowSpec JSON for custom states/transitions. ANTIPATTERN: NOT for one-shot tasks — use direct tool calls instead. Parameters: `action`, `key`, `name`, `spec`, `to`, `value` ## `shell` Shell command with auto-compression (~95 patterns). Alias for ctx_shell. Output is compressed for token savings. For verbatim output pass raw=true. Use when your MCP client prefers shell/bash over ctx_shell — transparently delegates to ctx_shell internals. Parameters: `command`*, `cwd`, `raw`