# Carto MCP Tools — API Reference

Auto-generated from `src/mcp/server.js`. Re-run `node scripts/gen-api-docs.js` after adding tools.

**86 tools** across 9 categories.

## Tool surface & tiers (CF-7)

The MCP surface is collapsed into **5 parameterized families** + a tiered set of singletons.
Which tools are *listed* to a client is gated by `CARTO_MCP_TIER` (env) or `carto.config.json` `mcp.tier`:

- **core** (default): the ~10 tools every session needs — `get_architecture`, `get_context`, `impact`, `validate_diff`, `get_change_plan`, `memory`, `get_predictive_risk`, `get_minimal_context_for_intent`, `patterns`, `history`.
- **advanced**: core + the documented ~8 (e.g. `org`, `get_routes`, `get_models`, `get_gaps`, `scaffold_for_intent`, `get_working_memory`, `get_test_coverage_map`, `get_safety_checklist`).
- **all**: also lists experimental singletons.

The **Families** collapse ~30 former tools; those old names are **deprecated shims** — they still
resolve (byte-identical output + a one-line deprecation notice) but are never listed. See each
family doc for the `mode`/`kind`/`view` that replaces the old tool.

## Categories

### Families (5)
- [`impact`](./impact.md)
- [`memory`](./memory.md)
- [`history`](./history.md)
- [`patterns`](./patterns.md)
- [`org`](./org.md)

### Core graph (21)
- [`get_routes`](./get_routes.md)
- [`get_blast_radius`](./get_blast_radius.md)
- [`get_structure`](./get_structure.md)
- [`get_domain`](./get_domain.md)
- [`get_neighbors`](./get_neighbors.md)
- [`get_cross_domain`](./get_cross_domain.md)
- [`get_context`](./get_context.md)
- [`search_routes`](./search_routes.md)
- [`get_models`](./get_models.md)
- [`get_high_impact_files`](./get_high_impact_files.md)
- [`get_env_vars`](./get_env_vars.md)
- [`get_domains_list`](./get_domains_list.md)
- [`get_file_summary`](./get_file_summary.md)
- [`get_change_plan`](./get_change_plan.md)
- [`get_similar_patterns`](./get_similar_patterns.md)
- [`simulate_change_impact`](./simulate_change_impact.md)
- [`get_gaps`](./get_gaps.md)
- [`dismiss_gap`](./dismiss_gap.md)
- [`set_intent`](./set_intent.md)
- [`get_intent`](./get_intent.md)
- [`get_file_receipts`](./get_file_receipts.md)

### Episodic Memory (5)
- [`validate_diff`](./validate_diff.md)
- [`get_recent_decisions`](./get_recent_decisions.md)
- [`get_session_context`](./get_session_context.md)
- [`did_we_discuss_this`](./did_we_discuss_this.md)
- [`get_intervention_history`](./get_intervention_history.md)

### Temporal (9)
- [`get_architecture`](./get_architecture.md)
- [`get_architectural_drift`](./get_architectural_drift.md)
- [`get_domain_evolution`](./get_domain_evolution.md)
- [`get_hotspot_files`](./get_hotspot_files.md)
- [`get_complexity_trend`](./get_complexity_trend.md)
- [`get_churn_vs_blast_radius`](./get_churn_vs_blast_radius.md)
- [`get_arch_events`](./get_arch_events.md)
- [`get_domain_health`](./get_domain_health.md)
- [`get_temporal_context`](./get_temporal_context.md)

### Brain (10)
- [`get_invariants`](./get_invariants.md)
- [`get_canonical_pattern`](./get_canonical_pattern.md)
- [`get_conventions`](./get_conventions.md)
- [`get_action_patterns`](./get_action_patterns.md)
- [`scaffold_for_intent`](./scaffold_for_intent.md)
- [`get_working_memory`](./get_working_memory.md)
- [`get_pending_decisions`](./get_pending_decisions.md)
- [`get_active_drift`](./get_active_drift.md)
- [`get_active_suggestions`](./get_active_suggestions.md)
- [`dismiss_suggestion`](./dismiss_suggestion.md)

### AI-native (14)
- [`get_minimal_context_for_intent`](./get_minimal_context_for_intent.md)
- [`get_progressive_disclosure_tree`](./get_progressive_disclosure_tree.md)
- [`get_token_budget_report`](./get_token_budget_report.md)
- [`get_decision_log`](./get_decision_log.md)
- [`get_evolution_delta`](./get_evolution_delta.md)
- [`get_change_velocity`](./get_change_velocity.md)
- [`get_test_coverage_map`](./get_test_coverage_map.md)
- [`get_safety_checklist`](./get_safety_checklist.md)
- [`get_data_flow`](./get_data_flow.md)
- [`get_interface_contract`](./get_interface_contract.md)
- [`explain_change_in_natural_language`](./explain_change_in_natural_language.md)
- [`get_stale_docs`](./get_stale_docs.md)
- [`get_dependency_surface`](./get_dependency_surface.md)
- [`get_upgrade_risk`](./get_upgrade_risk.md)

### Adjacent (8)
- [`get_cross_language_call_graph`](./get_cross_language_call_graph.md)
- [`get_iac_resources`](./get_iac_resources.md)
- [`ingest_otlp_traces`](./ingest_otlp_traces.md)
- [`get_risk_weighted_blast_radius`](./get_risk_weighted_blast_radius.md)
- [`get_dead_code_with_confidence`](./get_dead_code_with_confidence.md)
- [`get_hot_in_prod_no_tests`](./get_hot_in_prod_no_tests.md)
- [`get_semantic_diff`](./get_semantic_diff.md)
- [`get_llm_enrichment`](./get_llm_enrichment.md)

### Predictive (7)
- [`get_predictive_risk`](./get_predictive_risk.md)
- [`get_microservice_cut_points`](./get_microservice_cut_points.md)
- [`validate_change`](./validate_change.md)
- [`get_file_ownership`](./get_file_ownership.md)
- [`get_cross_team_coupling`](./get_cross_team_coupling.md)
- [`get_drift_digest`](./get_drift_digest.md)
- [`get_ai_cost_attribution`](./get_ai_cost_attribution.md)

### Org-wide (7)
- [`get_org_architecture`](./get_org_architecture.md)
- [`get_service_dependency_graph`](./get_service_dependency_graph.md)
- [`get_cross_repo_blast_radius`](./get_cross_repo_blast_radius.md)
- [`find_consumers_of_api`](./find_consumers_of_api.md)
- [`get_org_domain_mapping`](./get_org_domain_mapping.md)
- [`get_service_boundary_violations`](./get_service_boundary_violations.md)
- [`get_microservices_migration_cut_points`](./get_microservices_migration_cut_points.md)
