MCP Server for Structural Causal Model DAG Interventional Engine Skill - Pure Python Standard Library implementation of Pearl's Structural Causal Models (SCM). Supports causal DAG construction, structural equation assignment, observational sampling, and graph truncation under Pearl's do-calculus interventions.
Single tool with significant definition gaps. Tool name 'simulate_scm_intervention' lacks action verb clarity (should be 'run_' or 'execute_'). Description is adequate (156 chars, within 10-1024 range) but lacks WHEN/WHY guidance. Input schema present with types and descriptions, but parameters lack constraints (no enums, ranges, or validation hints). Output schema undocumented, LLM cannot predict response structure. No error handling guidance. Tool is read-only but lacks explicit idempotentHint annotation. Missing composition context: no guidance on how to chain this tool with others or what downstream tools might consume its output.
Simulate a Structural Causal Model with optional Pearl's do-calculus intervention. Constructs a causal DAG with variables (Seasonality, Spend, Traffic, Revenue) and their structural equations, applies an optional intervention to fix a variable to a specific value, and returns the simulated state.
Tool name lacks action verb. 'simulate_scm_intervention' is a noun phrase; should start with verb like 'run_scm_intervention' or 'execute_scm_intervention' to signal intent to LLM.
Output schema completely undocumented. Response structure {'simulated_state': {...}} is inferred from code, not declared. LLM cannot predict fields or plan downstream calls.
Parameters lack constraints. 'intervention_val' accepts any number with no range guidance (should specify realistic bounds, e.g., 0-100000). 'noise' dict has no schema for nested object structure.
No error handling guidance. Code can raise ValueError for cyclic dependencies, but tool definition provides no recovery hints or error classification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Missing tool annotations. Tool is read-only and idempotent but lacks explicit readOnlyHint and idempotentHint annotations in schema.