Skip to main content
Glama

DoWhy MCP v2.0

by lesong36
MIT License
END_TO_END_TOOL_DESIGN.md7.29 kB
# 🎯 DoWhy MCP Server 端到端目的型工具设计策略 ## 📋 **设计理念** 基于用户的核心观点: 1. **100%移植DoWhy功能**:完整调用DoWhy包、function API、causal API等方法 2. **端到端目的型工具**:为LLM Agent设计的目的导向工具 3. **双层实现策略**:基础功能100%实现 + 暴露给Agent的目的型工具可选择性实现 --- ## 🏗️ **架构设计** ### 层次1: DoWhy完整移植层 (100%实现) ``` DoWhy原生功能 → MCP工具包装 → 内部调用 ``` - **目标**: 100%覆盖DoWhy v0.13的所有功能 - **实现**: 直接调用DoWhy原生API,不重新发明轮子 - **用途**: 为上层目的型工具提供完整的基础能力 ### 层次2: Agent目的型工具层 (选择性暴露) ``` 业务目标 → 目的型工具 → 调用基础层 → 返回结果 ``` - **目标**: 为LLM Agent提供端到端的问题解决工具 - **实现**: 组合基础层功能,实现特定业务目标 - **用途**: 直接暴露给Agent使用 --- ## 📊 **双层实现矩阵** ### 🔧 **基础层:DoWhy完整移植 (必须100%实现)** #### A. 因果估计基础工具 | DoWhy功能 | MCP工具名 | 实现状态 | 优先级 | |-----------|-----------|---------|--------| | `LinearRegressionEstimator` | `_linear_regression_estimator` | ✅ | P0 | | `GeneralizedLinearModelEstimator` | `_glm_estimator` | ❌ | P0 | | `DistanceMatchingEstimator` | `_distance_matching_estimator` | ❌ | P0 | | `PropensityScoreMatchingEstimator` | `_psm_estimator` | ✅ | P0 | | `PropensityScoreStratificationEstimator` | `_pss_estimator` | ❌ | P0 | | `PropensityScoreWeightingEstimator` | `_psw_estimator` | ❌ | P0 | | `InstrumentalVariableEstimator` | `_iv_estimator` | ✅ | P0 | | `RegressionDiscontinuityEstimator` | `_rd_estimator` | ❌ | P0 | | `TwoStageRegressionEstimator` | `_2sr_estimator` | ❌ | P0 | | `Econml` | `_econml_estimator` | ❌ | P1 | | `Causalml` | `_causalml_estimator` | ❌ | P1 | #### B. GCM基础工具 | DoWhy功能 | MCP工具名 | 实现状态 | 优先级 | |-----------|-----------|---------|--------| | `StructuralCausalModel` | `_structural_causal_model` | ❌ | P0 | | `assign_causal_mechanisms` | `_assign_mechanisms` | ❌ | P0 | | `fit` | `_fit_gcm` | ❌ | P0 | | `interventional_samples` | `_interventional_samples` | ❌ | P0 | | `counterfactual_samples` | `_counterfactual_samples` | ❌ | P0 | | `attribute_anomalies` | `_attribute_anomalies` | ❌ | P0 | | `arrow_strength` | `_arrow_strength` | ❌ | P1 | | ... | ... | ... | ... | #### C. 反驳基础工具 | DoWhy功能 | MCP工具名 | 实现状态 | 优先级 | |-----------|-----------|---------|--------| | `RandomCommonCause` | `_random_common_cause` | ✅ | P0 | | `PlaceboTreatmentRefuter` | `_placebo_treatment` | ❌ | P0 | | `DataSubsetRefuter` | `_data_subset` | ❌ | P0 | | ... | ... | ... | ... | **基础层总计**: 82个DoWhy功能 → 82个MCP基础工具 --- ### 🎯 **Agent层:端到端目的型工具 (选择性实现)** #### 1. 因果效应分析工具 | 目的型工具 | 业务目标 | 调用基础层 | 实现优先级 | |-----------|---------|-----------|-----------| | `causal_effect_analyzer` | 分析X对Y的因果效应 | `_linear_regression_estimator` + `_psm_estimator` + `_random_common_cause` | 🔥 P0 | | `treatment_effect_evaluator` | 评估治疗效果 | `_psm_estimator` + `_psw_estimator` + `_placebo_treatment` | 🔥 P0 | | `policy_impact_assessor` | 评估政策影响 | `_rd_estimator` + `_iv_estimator` + `_data_subset` | 🟡 P1 | #### 2. 根因分析工具 | 目的型工具 | 业务目标 | 调用基础层 | 实现优先级 | |-----------|---------|-----------|-----------| | `business_anomaly_analyzer` | 业务异常根因分析 | `_attribute_anomalies` + `_structural_causal_model` | 🔥 P0 | | `performance_drop_investigator` | 性能下降调查 | `_arrow_strength` + `_mechanism_change_test` | 🟡 P1 | | `system_failure_tracer` | 系统故障追踪 | `_causal_chain_tracer` + `_root_cause_identifier` | 🟡 P1 | #### 3. What-if分析工具 | 目的型工具 | 业务目标 | 调用基础层 | 实现优先级 | |-----------|---------|-----------|-----------| | `intervention_simulator` | 干预效果模拟 | `_interventional_samples` + `_counterfactual_samples` | 🔥 P0 | | `scenario_comparator` | 场景对比分析 | `_what_if_analyzer` + `_scenario_comparator` | 🟡 P1 | | `decision_support_analyzer` | 决策支持分析 | `_intervention_simulator` + `_counterfactual_fairness` | 🟡 P1 | #### 4. 模型验证工具 | 目的型工具 | 业务目标 | 调用基础层 | 实现优先级 | |-----------|---------|-----------|-----------| | `causal_model_validator` | 因果模型验证 | `_refutation_test_suite` + `_stability_analyzer` | 🔥 P0 | | `assumption_checker` | 假设检验 | `_e_value_analyzer` + `_rosenbaum_bounds_analyzer` | 🟡 P1 | | `robustness_tester` | 稳健性测试 | `_tipping_point_analyzer` + `_unobserved_confounder_analyzer` | 🟡 P1 | **Agent层总计**: 约15-20个端到端目的型工具 --- ## 🔄 **实现策略** ### 阶段1: 基础层完善 (P0功能) **目标**: 实现DoWhy核心功能的100%覆盖 **时间**: 8-12周 **内容**: 1. 补全8个缺失的标准估计方法 2. 实现GCM模块的核心功能(约20个) 3. 补全5个缺失的反驳方法 4. 实现其他P0级别的基础功能 ### 阶段2: Agent层核心工具 (P0目的型工具) **目标**: 实现最重要的端到端工具 **时间**: 4-6周 **内容**: 1. `causal_effect_analyzer` - 核心因果分析 2. `business_anomaly_analyzer` - 业务异常分析 3. `intervention_simulator` - 干预模拟 4. `causal_model_validator` - 模型验证 ### 阶段3: 扩展和优化 (P1功能) **目标**: 完善高级功能和优化 **时间**: 持续进行 **内容**: 1. 高级集成(EconML、CausalML) 2. 更多目的型工具 3. 性能优化 4. 文档完善 --- ## 📋 **清晰的Matrix清单** ### 基础层实现清单 (必须100%) ``` ✅ 已实现: 9个DoWhy功能 ❌ 待实现: 73个DoWhy功能 📊 总进度: 11% → 目标100% ``` ### Agent层实现清单 (选择性实现) ``` 🔥 P0工具: 4个 (必须实现) 🟡 P1工具: 8个 (根据需求实现) 🟢 P2工具: 5个 (可选实现) 📊 总计: 17个目的型工具 ``` --- ## 🎯 **成功标准** ### 基础层成功标准 1. **完整性**: 100%覆盖DoWhy v0.13功能 2. **一致性**: 与DoWhy原生行为完全一致 3. **可靠性**: 所有基础工具都有完整测试 4. **可扩展性**: 便于添加新的DoWhy功能 ### Agent层成功标准 1. **目的性**: 每个工具都解决特定业务问题 2. **易用性**: Agent可以直接调用,无需复杂配置 3. **完整性**: 端到端解决问题,不需要多步调用 4. **智能性**: 自动选择最佳的基础层组合 --- ## 💡 **关键优势** 1. **不重新发明轮子**: 100%使用DoWhy原生功能 2. **双层架构**: 基础层保证完整性,Agent层保证易用性 3. **渐进实施**: 可以分阶段实现,快速提供价值 4. **清晰边界**: 基础层和Agent层职责明确 5. **可维护性**: 跟随DoWhy更新,保持同步 这个设计策略完全符合您的要求:100%移植DoWhy功能,同时为Agent提供端到端的目的型工具!

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lesong36/dowhy_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server