aigroup-econ-mcp 0.4.2__py3-none-any.whl → 1.4.3__py3-none-any.whl
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.
- .gitignore +253 -0
- PKG-INFO +710 -0
- README.md +672 -0
- __init__.py +14 -0
- aigroup_econ_mcp-1.4.3.dist-info/METADATA +710 -0
- aigroup_econ_mcp-1.4.3.dist-info/RECORD +92 -0
- aigroup_econ_mcp-1.4.3.dist-info/entry_points.txt +2 -0
- aigroup_econ_mcp-1.4.3.dist-info/licenses/LICENSE +21 -0
- cli.py +28 -0
- econometrics/README.md +18 -0
- econometrics/__init__.py +191 -0
- econometrics/advanced_methods/modern_computing_machine_learning/__init__.py +0 -0
- econometrics/basic_parametric_estimation/__init__.py +31 -0
- econometrics/basic_parametric_estimation/gmm/__init__.py +13 -0
- econometrics/basic_parametric_estimation/gmm/gmm_model.py +256 -0
- econometrics/basic_parametric_estimation/mle/__init__.py +13 -0
- econometrics/basic_parametric_estimation/mle/mle_model.py +241 -0
- econometrics/basic_parametric_estimation/ols/__init__.py +13 -0
- econometrics/basic_parametric_estimation/ols/ols_model.py +141 -0
- econometrics/causal_inference/causal_identification_strategy/__init__.py +0 -0
- econometrics/missing_data/missing_data_measurement_error/__init__.py +0 -0
- econometrics/model_specification_diagnostics_robust_inference/README.md +173 -0
- econometrics/model_specification_diagnostics_robust_inference/__init__.py +78 -0
- econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/__init__.py +20 -0
- econometrics/model_specification_diagnostics_robust_inference/diagnostic_tests/diagnostic_tests_model.py +149 -0
- econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/__init__.py +15 -0
- econometrics/model_specification_diagnostics_robust_inference/generalized_least_squares/gls_model.py +130 -0
- econometrics/model_specification_diagnostics_robust_inference/model_selection/__init__.py +18 -0
- econometrics/model_specification_diagnostics_robust_inference/model_selection/model_selection_model.py +286 -0
- econometrics/model_specification_diagnostics_robust_inference/regularization/__init__.py +15 -0
- econometrics/model_specification_diagnostics_robust_inference/regularization/regularization_model.py +177 -0
- econometrics/model_specification_diagnostics_robust_inference/robust_errors/__init__.py +15 -0
- econometrics/model_specification_diagnostics_robust_inference/robust_errors/robust_errors_model.py +122 -0
- econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/__init__.py +15 -0
- econometrics/model_specification_diagnostics_robust_inference/simultaneous_equations/simultaneous_equations_model.py +246 -0
- econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/__init__.py +15 -0
- econometrics/model_specification_diagnostics_robust_inference/weighted_least_squares/wls_model.py +127 -0
- econometrics/nonparametric/nonparametric_semiparametric_methods/__init__.py +0 -0
- econometrics/spatial_econometrics/spatial_econometrics_new/__init__.py +0 -0
- econometrics/specific_data_modeling/micro_discrete_limited_data/__init__.py +0 -0
- econometrics/specific_data_modeling/survival_duration_data/__init__.py +0 -0
- econometrics/specific_data_modeling/time_series_panel_data/__init__.py +143 -0
- econometrics/specific_data_modeling/time_series_panel_data/arima_model.py +104 -0
- econometrics/specific_data_modeling/time_series_panel_data/cointegration_vecm.py +334 -0
- econometrics/specific_data_modeling/time_series_panel_data/dynamic_panel_models.py +653 -0
- econometrics/specific_data_modeling/time_series_panel_data/exponential_smoothing.py +176 -0
- econometrics/specific_data_modeling/time_series_panel_data/garch_model.py +198 -0
- econometrics/specific_data_modeling/time_series_panel_data/panel_diagnostics.py +125 -0
- econometrics/specific_data_modeling/time_series_panel_data/panel_var.py +60 -0
- econometrics/specific_data_modeling/time_series_panel_data/structural_break_tests.py +87 -0
- econometrics/specific_data_modeling/time_series_panel_data/time_varying_parameter_models.py +106 -0
- econometrics/specific_data_modeling/time_series_panel_data/unit_root_tests.py +204 -0
- econometrics/specific_data_modeling/time_series_panel_data/var_svar_model.py +372 -0
- econometrics/statistical_inference/statistical_inference_techniques/__init__.py +0 -0
- econometrics/statistics/distribution_decomposition_methods/__init__.py +0 -0
- econometrics/tests/basic_parametric_estimation_tests/__init__.py +3 -0
- econometrics/tests/basic_parametric_estimation_tests/test_gmm.py +128 -0
- econometrics/tests/basic_parametric_estimation_tests/test_mle.py +127 -0
- econometrics/tests/basic_parametric_estimation_tests/test_ols.py +100 -0
- econometrics/tests/model_specification_diagnostics_tests/__init__.py +3 -0
- econometrics/tests/model_specification_diagnostics_tests/test_diagnostic_tests.py +86 -0
- econometrics/tests/model_specification_diagnostics_tests/test_robust_errors.py +89 -0
- econometrics/tests/specific_data_modeling_tests/__init__.py +3 -0
- econometrics/tests/specific_data_modeling_tests/test_arima.py +98 -0
- econometrics/tests/specific_data_modeling_tests/test_dynamic_panel.py +198 -0
- econometrics/tests/specific_data_modeling_tests/test_exponential_smoothing.py +105 -0
- econometrics/tests/specific_data_modeling_tests/test_garch.py +118 -0
- econometrics/tests/specific_data_modeling_tests/test_unit_root.py +156 -0
- econometrics/tests/specific_data_modeling_tests/test_var.py +124 -0
- prompts/__init__.py +0 -0
- prompts/analysis_guides.py +43 -0
- pyproject.toml +78 -0
- resources/MCP_MASTER_GUIDE.md +422 -0
- resources/MCP_TOOLS_DATA_FORMAT_GUIDE.md +185 -0
- resources/__init__.py +0 -0
- server.py +83 -0
- tools/README.md +88 -0
- tools/__init__.py +45 -0
- tools/data_loader.py +213 -0
- tools/decorators.py +38 -0
- tools/econometrics_adapter.py +286 -0
- tools/mcp_tool_groups/__init__.py +1 -0
- tools/mcp_tool_groups/basic_parametric_tools.py +173 -0
- tools/mcp_tool_groups/model_specification_tools.py +402 -0
- tools/mcp_tool_groups/time_series_tools.py +494 -0
- tools/mcp_tools_registry.py +114 -0
- tools/model_specification_adapter.py +369 -0
- tools/output_formatter.py +563 -0
- tools/time_series_panel_data_adapter.py +858 -0
- tools/time_series_panel_data_tools.py +65 -0
- aigroup_econ_mcp/__init__.py +0 -19
- aigroup_econ_mcp/cli.py +0 -82
- aigroup_econ_mcp/config.py +0 -561
- aigroup_econ_mcp/server.py +0 -452
- aigroup_econ_mcp/tools/__init__.py +0 -18
- aigroup_econ_mcp/tools/base.py +0 -470
- aigroup_econ_mcp/tools/cache.py +0 -533
- aigroup_econ_mcp/tools/data_loader.py +0 -171
- aigroup_econ_mcp/tools/file_parser.py +0 -829
- aigroup_econ_mcp/tools/machine_learning.py +0 -60
- aigroup_econ_mcp/tools/ml_ensemble.py +0 -210
- aigroup_econ_mcp/tools/ml_evaluation.py +0 -272
- aigroup_econ_mcp/tools/ml_models.py +0 -54
- aigroup_econ_mcp/tools/ml_regularization.py +0 -172
- aigroup_econ_mcp/tools/monitoring.py +0 -555
- aigroup_econ_mcp/tools/optimized_example.py +0 -229
- aigroup_econ_mcp/tools/panel_data.py +0 -553
- aigroup_econ_mcp/tools/regression.py +0 -214
- aigroup_econ_mcp/tools/statistics.py +0 -154
- aigroup_econ_mcp/tools/time_series.py +0 -667
- aigroup_econ_mcp/tools/timeout.py +0 -283
- aigroup_econ_mcp/tools/tool_handlers.py +0 -378
- aigroup_econ_mcp/tools/tool_registry.py +0 -170
- aigroup_econ_mcp/tools/validation.py +0 -482
- aigroup_econ_mcp-0.4.2.dist-info/METADATA +0 -360
- aigroup_econ_mcp-0.4.2.dist-info/RECORD +0 -29
- aigroup_econ_mcp-0.4.2.dist-info/entry_points.txt +0 -2
- /aigroup_econ_mcp-0.4.2.dist-info/licenses/LICENSE → /LICENSE +0 -0
- {aigroup_econ_mcp-0.4.2.dist-info → aigroup_econ_mcp-1.4.3.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"""
|
|
2
|
+
时间序列和面板数据工具注册
|
|
3
|
+
将时间序列和面板数据模型注册为MCP工具
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from .time_series_panel_data_adapter import TimeSeriesPanelDataAdapter
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def register_time_series_panel_data_tools():
|
|
11
|
+
"""
|
|
12
|
+
注册时间序列和面板数据工具
|
|
13
|
+
"""
|
|
14
|
+
# 这个函数可以用于初始化时注册工具
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# 工具函数别名,便于直接调用
|
|
19
|
+
arima_model = TimeSeriesPanelDataAdapter.arima_model
|
|
20
|
+
exponential_smoothing_model = TimeSeriesPanelDataAdapter.exponential_smoothing_model
|
|
21
|
+
garch_model = TimeSeriesPanelDataAdapter.garch_model
|
|
22
|
+
unit_root_tests = TimeSeriesPanelDataAdapter.unit_root_tests
|
|
23
|
+
var_svar_model = TimeSeriesPanelDataAdapter.var_svar_model
|
|
24
|
+
cointegration_analysis = TimeSeriesPanelDataAdapter.cointegration_analysis
|
|
25
|
+
dynamic_panel_model = TimeSeriesPanelDataAdapter.dynamic_panel_model
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# 工具列表
|
|
29
|
+
TIME_SERIES_PANEL_DATA_TOOLS = [
|
|
30
|
+
{
|
|
31
|
+
"name": "arima_model",
|
|
32
|
+
"function": arima_model,
|
|
33
|
+
"description": "ARIMA模型,用于时间序列建模和预测"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "exponential_smoothing_model",
|
|
37
|
+
"function": exponential_smoothing_model,
|
|
38
|
+
"description": "指数平滑模型,用于时间序列建模和预测"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "garch_model",
|
|
42
|
+
"function": garch_model,
|
|
43
|
+
"description": "GARCH模型,用于波动率建模"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "unit_root_tests",
|
|
47
|
+
"function": unit_root_tests,
|
|
48
|
+
"description": "单位根检验,用于检验时间序列的平稳性"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "var_svar_model",
|
|
52
|
+
"function": var_svar_model,
|
|
53
|
+
"description": "向量自回归(VAR)和结构向量自回归(SVAR)模型"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "cointegration_analysis",
|
|
57
|
+
"function": cointegration_analysis,
|
|
58
|
+
"description": "协整分析,包括Engle-Granger检验、Johansen检验和VECM模型"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"name": "dynamic_panel_model",
|
|
62
|
+
"function": dynamic_panel_model,
|
|
63
|
+
"description": "动态面板模型,包括差分GMM和系统GMM"
|
|
64
|
+
}
|
|
65
|
+
]
|
aigroup_econ_mcp/__init__.py
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
AIGroup 计量经济学 MCP 服务
|
|
3
|
-
专业计量经济学MCP工具 - 让大模型直接进行数据分析
|
|
4
|
-
|
|
5
|
-
提供:
|
|
6
|
-
- 描述性统计分析
|
|
7
|
-
- OLS回归分析
|
|
8
|
-
- 时间序列分析
|
|
9
|
-
- 假设检验
|
|
10
|
-
- 模型诊断
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
__version__ = "0.4.2"
|
|
14
|
-
__author__ = "AIGroup"
|
|
15
|
-
__description__ = "专业计量经济学MCP工具 - 让大模型直接进行数据分析"
|
|
16
|
-
|
|
17
|
-
from .server import create_mcp_server
|
|
18
|
-
|
|
19
|
-
__all__ = ["create_mcp_server", "__version__", "__author__", "__description__"]
|
aigroup_econ_mcp/cli.py
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
AIGroup 计量经济学 MCP 服务命令行入口
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
import sys
|
|
6
|
-
import click
|
|
7
|
-
import uvicorn
|
|
8
|
-
from .server import create_mcp_server
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@click.command()
|
|
12
|
-
@click.option('--port', default=8000, help='服务器端口')
|
|
13
|
-
@click.option('--host', default='127.0.0.1', help='服务器地址')
|
|
14
|
-
@click.option('--transport', default='stdio',
|
|
15
|
-
type=click.Choice(['stdio', 'streamable-http', 'sse']),
|
|
16
|
-
help='传输协议 (默认: stdio)')
|
|
17
|
-
@click.option('--debug', is_flag=True, help='启用调试模式')
|
|
18
|
-
@click.option('--mount-path', default=None, help='挂载路径')
|
|
19
|
-
@click.option('--version', is_flag=True, help='显示版本信息')
|
|
20
|
-
def cli(port: int, host: str, transport: str, debug: bool, mount_path: str, version: bool):
|
|
21
|
-
"""AIGroup 计量经济学 MCP 工具
|
|
22
|
-
|
|
23
|
-
默认以stdio模式启动MCP服务器,适用于MCP客户端集成。
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
# 处理版本标志
|
|
27
|
-
if version:
|
|
28
|
-
from . import __version__
|
|
29
|
-
click.echo(f"aigroup-econ-mcp v{__version__}", err=True)
|
|
30
|
-
click.echo("Professional econometrics MCP tool", err=True)
|
|
31
|
-
click.echo("Author: AIGroup", err=True)
|
|
32
|
-
sys.exit(0)
|
|
33
|
-
|
|
34
|
-
# 创建MCP服务器
|
|
35
|
-
mcp_server = create_mcp_server()
|
|
36
|
-
|
|
37
|
-
# 设置调试模式
|
|
38
|
-
if debug:
|
|
39
|
-
mcp_server.settings.debug = True
|
|
40
|
-
click.echo(f"[DEBUG] 调试模式已启用", err=True)
|
|
41
|
-
|
|
42
|
-
# 根据传输协议启动服务器
|
|
43
|
-
if transport == 'stdio':
|
|
44
|
-
# stdio模式直接运行,不输出任何日志到stdout(MCP协议通信)
|
|
45
|
-
# 所有日志输出到stderr
|
|
46
|
-
from . import __version__
|
|
47
|
-
click.echo(f"[INFO] aigroup-econ-mcp v{__version__} starting...", err=True)
|
|
48
|
-
click.echo(f"[INFO] Transport: stdio (MCP protocol)", err=True)
|
|
49
|
-
if debug:
|
|
50
|
-
click.echo(f"[DEBUG] Debug mode enabled", err=True)
|
|
51
|
-
click.echo(f"[INFO] Server ready. Waiting for MCP client connection...", err=True)
|
|
52
|
-
mcp_server.run(transport='stdio')
|
|
53
|
-
|
|
54
|
-
elif transport == 'streamable-http':
|
|
55
|
-
# Streamable HTTP模式 - 使用uvicorn手动启动
|
|
56
|
-
click.echo(f"[INFO] Starting aigroup-econ-mcp server", err=True)
|
|
57
|
-
click.echo(f"[INFO] Professional econometrics MCP tool for AI data analysis", err=True)
|
|
58
|
-
click.echo(f"[INFO] Transport protocol: {transport}", err=True)
|
|
59
|
-
click.echo(f"[INFO] Service address: http://{host}:{port}", err=True)
|
|
60
|
-
if mount_path:
|
|
61
|
-
click.echo(f"[INFO] Mount path: {mount_path}", err=True)
|
|
62
|
-
|
|
63
|
-
# 获取Starlette应用并启动uvicorn服务器
|
|
64
|
-
app = mcp_server.streamable_http_app()
|
|
65
|
-
uvicorn.run(app, host=host, port=port, log_level="info")
|
|
66
|
-
|
|
67
|
-
elif transport == 'sse':
|
|
68
|
-
# SSE模式 - 使用uvicorn手动启动
|
|
69
|
-
click.echo(f"[INFO] Starting aigroup-econ-mcp server", err=True)
|
|
70
|
-
click.echo(f"[INFO] Professional econometrics MCP tool for AI data analysis", err=True)
|
|
71
|
-
click.echo(f"[INFO] Transport protocol: {transport}", err=True)
|
|
72
|
-
click.echo(f"[INFO] Service address: http://{host}:{port}", err=True)
|
|
73
|
-
if mount_path:
|
|
74
|
-
click.echo(f"[INFO] Mount path: {mount_path}", err=True)
|
|
75
|
-
|
|
76
|
-
# 获取Starlette应用并启动uvicorn服务器
|
|
77
|
-
app = mcp_server.sse_app()
|
|
78
|
-
uvicorn.run(app, host=host, port=port, log_level="info")
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if __name__ == "__main__":
|
|
82
|
-
cli()
|