carto-md 2.0.9 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +19 -15
- package/README.md +192 -415
- package/docs/api/README.md +99 -0
- package/docs/api/did_we_discuss_this.md +34 -0
- package/docs/api/dismiss_suggestion.md +34 -0
- package/docs/api/explain_change_in_natural_language.md +33 -0
- package/docs/api/find_consumers_of_api.md +34 -0
- package/docs/api/get_action_patterns.md +32 -0
- package/docs/api/get_active_drift.md +32 -0
- package/docs/api/get_active_suggestions.md +25 -0
- package/docs/api/get_ai_cost_attribution.md +32 -0
- package/docs/api/get_arch_events.md +42 -0
- package/docs/api/get_architectural_drift.md +37 -0
- package/docs/api/get_architecture.md +25 -0
- package/docs/api/get_blast_radius.md +34 -0
- package/docs/api/get_canonical_pattern.md +39 -0
- package/docs/api/get_change_plan.md +34 -0
- package/docs/api/get_change_velocity.md +32 -0
- package/docs/api/get_churn_vs_blast_radius.md +32 -0
- package/docs/api/get_complexity_trend.md +39 -0
- package/docs/api/get_context.md +34 -0
- package/docs/api/get_conventions.md +32 -0
- package/docs/api/get_cross_domain.md +25 -0
- package/docs/api/get_cross_language_call_graph.md +25 -0
- package/docs/api/get_cross_repo_blast_radius.md +34 -0
- package/docs/api/get_cross_team_coupling.md +25 -0
- package/docs/api/get_data_flow.md +33 -0
- package/docs/api/get_dead_code_with_confidence.md +32 -0
- package/docs/api/get_decision_log.md +32 -0
- package/docs/api/get_dependency_surface.md +25 -0
- package/docs/api/get_domain.md +34 -0
- package/docs/api/get_domain_evolution.md +39 -0
- package/docs/api/get_domain_health.md +32 -0
- package/docs/api/get_domains_list.md +25 -0
- package/docs/api/get_drift_digest.md +32 -0
- package/docs/api/get_env_vars.md +32 -0
- package/docs/api/get_evolution_delta.md +36 -0
- package/docs/api/get_file_ownership.md +33 -0
- package/docs/api/get_file_summary.md +34 -0
- package/docs/api/get_high_impact_files.md +32 -0
- package/docs/api/get_hot_in_prod_no_tests.md +34 -0
- package/docs/api/get_hotspot_files.md +37 -0
- package/docs/api/get_iac_resources.md +25 -0
- package/docs/api/get_interface_contract.md +33 -0
- package/docs/api/get_intervention_history.md +32 -0
- package/docs/api/get_invariants.md +37 -0
- package/docs/api/get_llm_enrichment.md +33 -0
- package/docs/api/get_microservice_cut_points.md +32 -0
- package/docs/api/get_microservices_migration_cut_points.md +25 -0
- package/docs/api/get_minimal_context_for_intent.md +39 -0
- package/docs/api/get_models.md +32 -0
- package/docs/api/get_neighbors.md +39 -0
- package/docs/api/get_org_architecture.md +25 -0
- package/docs/api/get_org_domain_mapping.md +25 -0
- package/docs/api/get_pending_decisions.md +32 -0
- package/docs/api/get_predictive_risk.md +32 -0
- package/docs/api/get_progressive_disclosure_tree.md +25 -0
- package/docs/api/get_recent_decisions.md +37 -0
- package/docs/api/get_risk_weighted_blast_radius.md +32 -0
- package/docs/api/get_routes.md +25 -0
- package/docs/api/get_safety_checklist.md +33 -0
- package/docs/api/get_semantic_diff.md +34 -0
- package/docs/api/get_service_boundary_violations.md +25 -0
- package/docs/api/get_service_dependency_graph.md +25 -0
- package/docs/api/get_session_context.md +32 -0
- package/docs/api/get_similar_patterns.md +39 -0
- package/docs/api/get_stale_docs.md +25 -0
- package/docs/api/get_structure.md +25 -0
- package/docs/api/get_temporal_context.md +34 -0
- package/docs/api/get_test_coverage_map.md +25 -0
- package/docs/api/get_token_budget_report.md +36 -0
- package/docs/api/get_upgrade_risk.md +25 -0
- package/docs/api/get_working_memory.md +25 -0
- package/docs/api/ingest_otlp_traces.md +34 -0
- package/docs/api/scaffold_for_intent.md +34 -0
- package/docs/api/search_routes.md +34 -0
- package/docs/api/simulate_change_impact.md +37 -0
- package/docs/api/validate_change.md +39 -0
- package/docs/api/validate_diff.md +39 -0
- package/docs/concepts/anci.md +87 -0
- package/docs/concepts/blast-radius.md +66 -0
- package/docs/concepts/domains.md +91 -0
- package/docs/concepts/import-graph.md +102 -0
- package/docs/concepts/mcp-integration.md +148 -0
- package/docs/guides/adding-feature-safely.md +101 -0
- package/docs/guides/ci-integration.md +175 -0
- package/docs/guides/monorepo-setup.md +121 -0
- package/docs/guides/onboarding-new-engineer.md +121 -0
- package/docs/guides/pre-merge-review.md +139 -0
- package/docs/migration/v1-to-v2.md +110 -0
- package/docs/quickstart.md +95 -0
- package/docs/scale.md +2 -2
- package/docs/troubleshooting.md +180 -0
- package/package.json +10 -4
- package/scripts/gen-api-docs.js +170 -0
- package/src/acp/agent.js +83 -11
- package/src/acp/config.js +64 -0
- package/src/acp/persistence.js +146 -0
- package/src/acp/providers/anthropic.js +179 -27
- package/src/acp/providers/index.js +15 -2
- package/src/acp/providers/openai.js +164 -38
- package/src/acp/providers/sse.js +82 -0
- package/src/acp/safety.js +128 -0
- package/src/acp/session.js +73 -0
- package/src/adjacent/call-graph.js +170 -0
- package/src/adjacent/iac.js +167 -0
- package/src/adjacent/llm-enrich.js +35 -0
- package/src/adjacent/runtime.js +216 -0
- package/src/adjacent/semantic-diff.js +143 -0
- package/src/agents/scan-structure.js +1 -1
- package/src/ai/context-builder.js +215 -0
- package/src/ai/retrieval/lexical.js +122 -0
- package/src/ai/retrieval/rrf.js +121 -0
- package/src/ai/retrieval/semantic.js +35 -0
- package/src/ai/retrieval/structural.js +82 -0
- package/src/ai/tools.js +423 -0
- package/src/anci/emit.js +2 -2
- package/src/bitmap/index.js +1 -1
- package/src/bitmap/tools.js +2 -2
- package/src/brain/conventions/index.js +185 -0
- package/src/brain/index.js +31 -0
- package/src/brain/invariants/index.js +252 -0
- package/src/brain/procedural/index.js +181 -0
- package/src/brain/suggestions/index.js +153 -0
- package/src/brain/working/index.js +170 -0
- package/src/cli/check.js +47 -1
- package/src/cli/diff.js +83 -0
- package/src/cli/doctor.js +270 -0
- package/src/cli/explain.js +61 -0
- package/src/cli/index.js +101 -0
- package/src/cli/init.js +143 -5
- package/src/cli/org.js +172 -0
- package/src/cli/pr-impact.js +59 -2
- package/src/cli/serve.js +1 -1
- package/src/cli/status.js +211 -0
- package/src/cli/sync.js +2 -2
- package/src/cli/temporal.js +188 -0
- package/src/cli/validate.js +201 -0
- package/src/cli/watch.js +4 -4
- package/src/cli/why.js +101 -0
- package/src/extractors/frameworks.js +236 -0
- package/src/extractors/languages/dart.js +138 -0
- package/src/extractors/languages/go.js +11 -1
- package/src/extractors/languages/javascript.js +13 -3
- package/src/extractors/languages/kotlin.js +169 -0
- package/src/extractors/languages/php.js +195 -0
- package/src/extractors/languages/python.js +12 -1
- package/src/extractors/languages/swift.js +140 -0
- package/src/extractors/languages/typescript.js +15 -2
- package/src/extractors/plugin-api.js +102 -0
- package/src/mcp/files-without-tests.js +285 -0
- package/src/mcp/middleware/index.js +451 -0
- package/src/mcp/server.js +2292 -0
- package/src/mcp/validate.js +1 -1
- package/src/org/detect.js +262 -0
- package/src/org/queries.js +144 -0
- package/src/org/store.js +173 -0
- package/src/org/sync.js +106 -0
- package/src/predictive/cut-points.js +83 -0
- package/src/predictive/drift-digest.js +88 -0
- package/src/predictive/ownership.js +145 -0
- package/src/predictive/risk-score.js +121 -0
- package/src/predictive/validate-change.js +55 -0
- package/src/store/store-adapter.js +3 -3
- package/src/store/{sync-v2.js → sync.js} +53 -13
- package/src/temporal/backfill.js +211 -0
- package/src/temporal/delta.js +85 -0
- package/src/temporal/events.js +180 -0
- package/src/temporal/queries.js +358 -0
- package/src/temporal/snapshot.js +151 -0
- package/src/temporal/store.js +400 -0
- package/src/mcp/server-v2.js +0 -986
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Carto MCP Tools — API Reference
|
|
2
|
+
|
|
3
|
+
Auto-generated from `src/mcp/server.js`. Re-run `node scripts/gen-api-docs.js` after adding tools.
|
|
4
|
+
|
|
5
|
+
**76 tools** across 8 categories.
|
|
6
|
+
|
|
7
|
+
## Categories
|
|
8
|
+
|
|
9
|
+
### Core graph (16)
|
|
10
|
+
- [`get_routes`](./get_routes.md)
|
|
11
|
+
- [`get_blast_radius`](./get_blast_radius.md)
|
|
12
|
+
- [`get_structure`](./get_structure.md)
|
|
13
|
+
- [`get_domain`](./get_domain.md)
|
|
14
|
+
- [`get_neighbors`](./get_neighbors.md)
|
|
15
|
+
- [`get_cross_domain`](./get_cross_domain.md)
|
|
16
|
+
- [`get_context`](./get_context.md)
|
|
17
|
+
- [`search_routes`](./search_routes.md)
|
|
18
|
+
- [`get_models`](./get_models.md)
|
|
19
|
+
- [`get_high_impact_files`](./get_high_impact_files.md)
|
|
20
|
+
- [`get_env_vars`](./get_env_vars.md)
|
|
21
|
+
- [`get_domains_list`](./get_domains_list.md)
|
|
22
|
+
- [`get_file_summary`](./get_file_summary.md)
|
|
23
|
+
- [`get_change_plan`](./get_change_plan.md)
|
|
24
|
+
- [`get_similar_patterns`](./get_similar_patterns.md)
|
|
25
|
+
- [`simulate_change_impact`](./simulate_change_impact.md)
|
|
26
|
+
|
|
27
|
+
### Episodic Memory (5)
|
|
28
|
+
- [`validate_diff`](./validate_diff.md)
|
|
29
|
+
- [`get_recent_decisions`](./get_recent_decisions.md)
|
|
30
|
+
- [`get_session_context`](./get_session_context.md)
|
|
31
|
+
- [`did_we_discuss_this`](./did_we_discuss_this.md)
|
|
32
|
+
- [`get_intervention_history`](./get_intervention_history.md)
|
|
33
|
+
|
|
34
|
+
### Temporal (9)
|
|
35
|
+
- [`get_architecture`](./get_architecture.md)
|
|
36
|
+
- [`get_architectural_drift`](./get_architectural_drift.md)
|
|
37
|
+
- [`get_domain_evolution`](./get_domain_evolution.md)
|
|
38
|
+
- [`get_hotspot_files`](./get_hotspot_files.md)
|
|
39
|
+
- [`get_complexity_trend`](./get_complexity_trend.md)
|
|
40
|
+
- [`get_churn_vs_blast_radius`](./get_churn_vs_blast_radius.md)
|
|
41
|
+
- [`get_arch_events`](./get_arch_events.md)
|
|
42
|
+
- [`get_domain_health`](./get_domain_health.md)
|
|
43
|
+
- [`get_temporal_context`](./get_temporal_context.md)
|
|
44
|
+
|
|
45
|
+
### Brain (10)
|
|
46
|
+
- [`get_invariants`](./get_invariants.md)
|
|
47
|
+
- [`get_canonical_pattern`](./get_canonical_pattern.md)
|
|
48
|
+
- [`get_conventions`](./get_conventions.md)
|
|
49
|
+
- [`get_action_patterns`](./get_action_patterns.md)
|
|
50
|
+
- [`scaffold_for_intent`](./scaffold_for_intent.md)
|
|
51
|
+
- [`get_working_memory`](./get_working_memory.md)
|
|
52
|
+
- [`get_pending_decisions`](./get_pending_decisions.md)
|
|
53
|
+
- [`get_active_drift`](./get_active_drift.md)
|
|
54
|
+
- [`get_active_suggestions`](./get_active_suggestions.md)
|
|
55
|
+
- [`dismiss_suggestion`](./dismiss_suggestion.md)
|
|
56
|
+
|
|
57
|
+
### AI-native (14)
|
|
58
|
+
- [`get_minimal_context_for_intent`](./get_minimal_context_for_intent.md)
|
|
59
|
+
- [`get_progressive_disclosure_tree`](./get_progressive_disclosure_tree.md)
|
|
60
|
+
- [`get_token_budget_report`](./get_token_budget_report.md)
|
|
61
|
+
- [`get_decision_log`](./get_decision_log.md)
|
|
62
|
+
- [`get_evolution_delta`](./get_evolution_delta.md)
|
|
63
|
+
- [`get_change_velocity`](./get_change_velocity.md)
|
|
64
|
+
- [`get_test_coverage_map`](./get_test_coverage_map.md)
|
|
65
|
+
- [`get_safety_checklist`](./get_safety_checklist.md)
|
|
66
|
+
- [`get_data_flow`](./get_data_flow.md)
|
|
67
|
+
- [`get_interface_contract`](./get_interface_contract.md)
|
|
68
|
+
- [`explain_change_in_natural_language`](./explain_change_in_natural_language.md)
|
|
69
|
+
- [`get_stale_docs`](./get_stale_docs.md)
|
|
70
|
+
- [`get_dependency_surface`](./get_dependency_surface.md)
|
|
71
|
+
- [`get_upgrade_risk`](./get_upgrade_risk.md)
|
|
72
|
+
|
|
73
|
+
### Adjacent (8)
|
|
74
|
+
- [`get_cross_language_call_graph`](./get_cross_language_call_graph.md)
|
|
75
|
+
- [`get_iac_resources`](./get_iac_resources.md)
|
|
76
|
+
- [`ingest_otlp_traces`](./ingest_otlp_traces.md)
|
|
77
|
+
- [`get_risk_weighted_blast_radius`](./get_risk_weighted_blast_radius.md)
|
|
78
|
+
- [`get_dead_code_with_confidence`](./get_dead_code_with_confidence.md)
|
|
79
|
+
- [`get_hot_in_prod_no_tests`](./get_hot_in_prod_no_tests.md)
|
|
80
|
+
- [`get_semantic_diff`](./get_semantic_diff.md)
|
|
81
|
+
- [`get_llm_enrichment`](./get_llm_enrichment.md)
|
|
82
|
+
|
|
83
|
+
### Predictive (7)
|
|
84
|
+
- [`get_predictive_risk`](./get_predictive_risk.md)
|
|
85
|
+
- [`get_microservice_cut_points`](./get_microservice_cut_points.md)
|
|
86
|
+
- [`validate_change`](./validate_change.md)
|
|
87
|
+
- [`get_file_ownership`](./get_file_ownership.md)
|
|
88
|
+
- [`get_cross_team_coupling`](./get_cross_team_coupling.md)
|
|
89
|
+
- [`get_drift_digest`](./get_drift_digest.md)
|
|
90
|
+
- [`get_ai_cost_attribution`](./get_ai_cost_attribution.md)
|
|
91
|
+
|
|
92
|
+
### Org-wide (7)
|
|
93
|
+
- [`get_org_architecture`](./get_org_architecture.md)
|
|
94
|
+
- [`get_service_dependency_graph`](./get_service_dependency_graph.md)
|
|
95
|
+
- [`get_cross_repo_blast_radius`](./get_cross_repo_blast_radius.md)
|
|
96
|
+
- [`find_consumers_of_api`](./find_consumers_of_api.md)
|
|
97
|
+
- [`get_org_domain_mapping`](./get_org_domain_mapping.md)
|
|
98
|
+
- [`get_service_boundary_violations`](./get_service_boundary_violations.md)
|
|
99
|
+
- [`get_microservices_migration_cut_points`](./get_microservices_migration_cut_points.md)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `did_we_discuss_this`
|
|
2
|
+
|
|
3
|
+
Substring search over the episodic memory log (decisions + interventions) for prior discussions of a topic. Use to avoid re-deciding settled questions.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"topic": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Topic to search for, e.g. \"auth\", \"snake_case\", \"blast radius\"."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": [
|
|
17
|
+
"topic"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Required arguments
|
|
23
|
+
|
|
24
|
+
- `topic`
|
|
25
|
+
|
|
26
|
+
## Properties
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description |
|
|
29
|
+
|------|------|-------------|
|
|
30
|
+
| `topic` | string | Topic to search for, e.g. "auth", "snake_case", "blast radius". |
|
|
31
|
+
|
|
32
|
+
## See also
|
|
33
|
+
|
|
34
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `dismiss_suggestion`
|
|
2
|
+
|
|
3
|
+
Mark a suggestion ID as dismissed for the current session. Acknowledgment-only; the underlying signal still exists.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"id": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Suggestion id from get_active_suggestions."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": [
|
|
17
|
+
"id"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Required arguments
|
|
23
|
+
|
|
24
|
+
- `id`
|
|
25
|
+
|
|
26
|
+
## Properties
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description |
|
|
29
|
+
|------|------|-------------|
|
|
30
|
+
| `id` | string | Suggestion id from get_active_suggestions. |
|
|
31
|
+
|
|
32
|
+
## See also
|
|
33
|
+
|
|
34
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `explain_change_in_natural_language`
|
|
2
|
+
|
|
3
|
+
Given a unified diff, returns a plain-language summary + risk + violation list + suggestions. Powered by validate_diff.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"diff": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": [
|
|
16
|
+
"diff"
|
|
17
|
+
]
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Required arguments
|
|
22
|
+
|
|
23
|
+
- `diff`
|
|
24
|
+
|
|
25
|
+
## Properties
|
|
26
|
+
|
|
27
|
+
| Name | Type | Description |
|
|
28
|
+
|------|------|-------------|
|
|
29
|
+
| `diff` | string | |
|
|
30
|
+
|
|
31
|
+
## See also
|
|
32
|
+
|
|
33
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `find_consumers_of_api`
|
|
2
|
+
|
|
3
|
+
Across all org repos, find every file importing a given npm/pypi/go/maven target.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"target": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Target package or module name"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": [
|
|
17
|
+
"target"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Required arguments
|
|
23
|
+
|
|
24
|
+
- `target`
|
|
25
|
+
|
|
26
|
+
## Properties
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description |
|
|
29
|
+
|------|------|-------------|
|
|
30
|
+
| `target` | string | Target package or module name |
|
|
31
|
+
|
|
32
|
+
## See also
|
|
33
|
+
|
|
34
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `get_action_patterns`
|
|
2
|
+
|
|
3
|
+
Procedural patterns mined from git history: "when developers add X, they also touch Y". Filter by natural-language intent.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"intent": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Optional intent filter (e.g. \"add route\")."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": []
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required arguments
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Name | Type | Description |
|
|
27
|
+
|------|------|-------------|
|
|
28
|
+
| `intent` | string | Optional intent filter (e.g. "add route"). |
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `get_active_drift`
|
|
2
|
+
|
|
3
|
+
Domains with active drift in the last 7d: growth, threshold breaches. Use to spot domains drifting before they reach a critical event.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"threshold": {
|
|
12
|
+
"type": "number",
|
|
13
|
+
"description": "Drift threshold 0-1 (default 0.2 = 20%)."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": []
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required arguments
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Name | Type | Description |
|
|
27
|
+
|------|------|-------------|
|
|
28
|
+
| `threshold` | number | Drift threshold 0-1 (default 0.2 = 20%). |
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# `get_active_suggestions`
|
|
2
|
+
|
|
3
|
+
Active Suggestion Engine output. 4 triggers: cross-domain coupling jump, AI session conflict, convention violation mid-session, hotspot threshold crossed. Read periodically.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {},
|
|
11
|
+
"required": []
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Required arguments
|
|
16
|
+
|
|
17
|
+
_None._
|
|
18
|
+
|
|
19
|
+
## Properties
|
|
20
|
+
|
|
21
|
+
_None._
|
|
22
|
+
|
|
23
|
+
## See also
|
|
24
|
+
|
|
25
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `get_ai_cost_attribution`
|
|
2
|
+
|
|
3
|
+
Per-AI-client decision counts + violation counts. Use to attribute cross-domain coupling cost to individual AI sessions / developers.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"hours": {
|
|
12
|
+
"type": "number",
|
|
13
|
+
"description": "Lookback hours (default 168 = 7d)."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": []
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required arguments
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Name | Type | Description |
|
|
27
|
+
|------|------|-------------|
|
|
28
|
+
| `hours` | number | Lookback hours (default 168 = 7d). |
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# `get_arch_events`
|
|
2
|
+
|
|
3
|
+
Architectural events (domain split, merge, growth, hotspot emergence). Severity filter: minor | major | critical.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"severity": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Filter: minor | major | critical."
|
|
14
|
+
},
|
|
15
|
+
"kind": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Optional kind filter (e.g. domain_growth, hotspot_active)."
|
|
18
|
+
},
|
|
19
|
+
"time_range": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "Window like \"90d\" (default \"90d\")."
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": []
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Required arguments
|
|
29
|
+
|
|
30
|
+
_None._
|
|
31
|
+
|
|
32
|
+
## Properties
|
|
33
|
+
|
|
34
|
+
| Name | Type | Description |
|
|
35
|
+
|------|------|-------------|
|
|
36
|
+
| `severity` | string | Filter: minor \| major \| critical. |
|
|
37
|
+
| `kind` | string | Optional kind filter (e.g. domain_growth, hotspot_active). |
|
|
38
|
+
| `time_range` | string | Window like "90d" (default "90d"). |
|
|
39
|
+
|
|
40
|
+
## See also
|
|
41
|
+
|
|
42
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# `get_architectural_drift`
|
|
2
|
+
|
|
3
|
+
Per-domain growth/shrink and event count over a time window. Run `carto temporal init` first to backfill from git history.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"domain": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Optional domain filter (e.g. AUTH)."
|
|
14
|
+
},
|
|
15
|
+
"time_range": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Window like \"30d\", \"90d\", \"1y\" (default \"30d\")."
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": []
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Required arguments
|
|
25
|
+
|
|
26
|
+
_None._
|
|
27
|
+
|
|
28
|
+
## Properties
|
|
29
|
+
|
|
30
|
+
| Name | Type | Description |
|
|
31
|
+
|------|------|-------------|
|
|
32
|
+
| `domain` | string | Optional domain filter (e.g. AUTH). |
|
|
33
|
+
| `time_range` | string | Window like "30d", "90d", "1y" (default "30d"). |
|
|
34
|
+
|
|
35
|
+
## See also
|
|
36
|
+
|
|
37
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# `get_architecture`
|
|
2
|
+
|
|
3
|
+
Get a 500-word markdown summary of the project: domains, entry points, tech stack, key patterns, and size metrics. Use this as your first call when entering a new repo.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {},
|
|
11
|
+
"required": []
|
|
12
|
+
}
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Required arguments
|
|
16
|
+
|
|
17
|
+
_None._
|
|
18
|
+
|
|
19
|
+
## Properties
|
|
20
|
+
|
|
21
|
+
_None._
|
|
22
|
+
|
|
23
|
+
## See also
|
|
24
|
+
|
|
25
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `get_blast_radius`
|
|
2
|
+
|
|
3
|
+
Get all files, routes, and domains affected by changing a specific file. Includes risk level per route.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"file": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Relative file path from project root"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": [
|
|
17
|
+
"file"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Required arguments
|
|
23
|
+
|
|
24
|
+
- `file`
|
|
25
|
+
|
|
26
|
+
## Properties
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description |
|
|
29
|
+
|------|------|-------------|
|
|
30
|
+
| `file` | string | Relative file path from project root |
|
|
31
|
+
|
|
32
|
+
## See also
|
|
33
|
+
|
|
34
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `get_canonical_pattern`
|
|
2
|
+
|
|
3
|
+
Highest-quality example of a pattern in the codebase (e.g. canonical route handler). Use as a copy-paste template before writing similar code.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"pattern_type": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "route_handler | model_definition"
|
|
14
|
+
},
|
|
15
|
+
"domain": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Optional domain filter."
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"pattern_type"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Required arguments
|
|
27
|
+
|
|
28
|
+
- `pattern_type`
|
|
29
|
+
|
|
30
|
+
## Properties
|
|
31
|
+
|
|
32
|
+
| Name | Type | Description |
|
|
33
|
+
|------|------|-------------|
|
|
34
|
+
| `pattern_type` | string | route_handler \| model_definition |
|
|
35
|
+
| `domain` | string | Optional domain filter. |
|
|
36
|
+
|
|
37
|
+
## See also
|
|
38
|
+
|
|
39
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# `get_change_plan`
|
|
2
|
+
|
|
3
|
+
Given a natural-language intent (e.g. "add rate limiting to /api/users"), returns: files to touch, domains affected, blast radius, and similar patterns in the codebase.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"intent": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Natural language description of the change you want to make"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": [
|
|
17
|
+
"intent"
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Required arguments
|
|
23
|
+
|
|
24
|
+
- `intent`
|
|
25
|
+
|
|
26
|
+
## Properties
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description |
|
|
29
|
+
|------|------|-------------|
|
|
30
|
+
| `intent` | string | Natural language description of the change you want to make |
|
|
31
|
+
|
|
32
|
+
## See also
|
|
33
|
+
|
|
34
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `get_change_velocity`
|
|
2
|
+
|
|
3
|
+
Commits-per-day over a window (requires temporal store). Useful for spotting development tempo shifts.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"days": {
|
|
12
|
+
"type": "number",
|
|
13
|
+
"description": "Lookback days (default 30)."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": []
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required arguments
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Name | Type | Description |
|
|
27
|
+
|------|------|-------------|
|
|
28
|
+
| `days` | number | Lookback days (default 30). |
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# `get_churn_vs_blast_radius`
|
|
2
|
+
|
|
3
|
+
Scatter data of churn vs blast_radius for every changed file in a window. Use to find risk hotspots.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"time_range": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Window like \"90d\" (default \"90d\")."
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": []
|
|
17
|
+
}
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Required arguments
|
|
21
|
+
|
|
22
|
+
_None._
|
|
23
|
+
|
|
24
|
+
## Properties
|
|
25
|
+
|
|
26
|
+
| Name | Type | Description |
|
|
27
|
+
|------|------|-------------|
|
|
28
|
+
| `time_range` | string | Window like "90d" (default "90d"). |
|
|
29
|
+
|
|
30
|
+
## See also
|
|
31
|
+
|
|
32
|
+
- [Index of all MCP tools](./README.md)
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# `get_complexity_trend`
|
|
2
|
+
|
|
3
|
+
A single file's presence across snapshots + commit count + current blast_radius. Use to track how a file's footprint evolved.
|
|
4
|
+
|
|
5
|
+
## Input schema
|
|
6
|
+
|
|
7
|
+
```json
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"file": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"description": "Relative file path."
|
|
14
|
+
},
|
|
15
|
+
"time_range": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "Window like \"90d\" (default \"90d\")."
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": [
|
|
21
|
+
"file"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Required arguments
|
|
27
|
+
|
|
28
|
+
- `file`
|
|
29
|
+
|
|
30
|
+
## Properties
|
|
31
|
+
|
|
32
|
+
| Name | Type | Description |
|
|
33
|
+
|------|------|-------------|
|
|
34
|
+
| `file` | string | Relative file path. |
|
|
35
|
+
| `time_range` | string | Window like "90d" (default "90d"). |
|
|
36
|
+
|
|
37
|
+
## See also
|
|
38
|
+
|
|
39
|
+
- [Index of all MCP tools](./README.md)
|