MCP Server for Counterfactual Three-Step Abduction Prediction Skill - implements Pearl's three-step counterfactual algorithm for causal inference
Single tool 'compute_counterfactual' has a reasonable description (156 chars, within 10-1024 range) explaining Pearl's three-step algorithm. However, the input schema is severely underdeveloped: parameters lack individual type definitions and descriptions. The 'equations' parameter is typed as 'object' with only a brief description and default value; 'evidence' and 'interventions' similarly lack granular schema detail. No output schema is documented, the response structure is inferred from code (returns {abduced_noise, counterfactual_outcome}). No error handling guidance, no parameter constraints (e.g., numeric ranges, required fields), and no indication of when/why to call this tool vs. alternatives. The tool name 'compute_counterfactual' is reasonably verb-forward but lacks context about the algorithm or use case.
Compute counterfactual outcomes using Pearl's three-step algorithm: abduction of exogenous noise from factual evidence, action via intervention, and prediction of counterfactual outcome
Input schema lacks type definitions and per-parameter descriptions. Parameters 'equations', 'evidence', 'interventions' are typed as 'object' with no nested schema detail, no constraints on keys/values, no indication of required vs. optional fields.
Output schema is not documented. Response structure {abduced_noise, counterfactual_outcome} is inferred from code, not declared in tool definition. LLMs cannot plan downstream operations without knowing return types.
No error handling or recovery guidance. Tool lacks error classification (retryable vs. fatal), validation error messages, or hints for LLM self-correction (e.g., 'equations must form a DAG').
Parameter constraints missing. No documentation of valid ranges for numeric values, required structure of 'equations' dict, or validation rules (e.g., must evidence keys match equation variables?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Tool definition not formally registered via MCP protocol. Code shows a custom JSON-over-STDIO handler, not an MCP-compliant tool registration with schema, inputSchema, and description fields.