MCP Server for Propensity Score Inverse Probability Weighting (IPW) Skill. Fits logistic regression models for treatment assignment probabilities and computes stabilized Horvitz-Thompson / Hajek IPW estimators for Average Treatment Effect (ATE) estimation.
Single tool 'estimate_ate_ipw' has a detailed description (189 chars) explaining the statistical method, but critical structural issues severely limit usability. Input schema is present with three array parameters (covariate_x, treatment_t, outcome_y), each with descriptions and defaults. However, the tool name lacks a clear action verb (should be 'calculate_ate_ipw' or 'estimate_ate_with_ipw'), and parameter descriptions are minimal (e.g., 'List of covariate values' lacks format/constraint details). No output schema is documented, the response structure (ate_ipw, naive_ate, mu1, mu0, w0, w1) is inferred from code, not declared. No error handling guidance for edge cases (empty arrays, division by zero, singular matrices). The tool is READ_ONLY but performs statistical computation with no side effects, so the risk classification is correct but underutilized.
Calculate Hajek-stabilized Inverse Probability Weighting ATE estimate. Fits a univariate logistic regression model for propensity scores P(T=1|X), applies probability trimming [0.02, 0.98], and computes the IPW estimator for Average Treatment Effect along with naive difference in means.
Tool name lacks action verb. 'estimate_ate_ipw' is a noun phrase; should start with verb like 'calculate_ate_ipw' or 'compute_ate_with_ipw' to signal intent to LLM.
Output schema not documented. Response fields (ate_ipw, naive_ate, mu1, mu0, w0, w1) are inferred from code; LLM cannot plan downstream use without explicit schema declaration.
Parameter descriptions lack format/constraint details. 'List of covariate values' does not specify array length requirements, numeric range, or handling of NaN/Inf. LLM cannot validate inputs.
No error handling guidance. Code silently returns 0.0 for division-by-zero (sum_w_treated == 0); LLM receives no indication of failure or recovery path.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Default parameter values are non-trivial (covariate_x=[0,1,-1], treatment_t=[0,1,0], outcome_y=[1,6,0.5]). LLM may reuse these literally instead of adapting to actual data, causing incorrect estimates.