aigroup-econ-mcp 0.4.0__py3-none-any.whl → 0.4.1__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.
Potentially problematic release.
This version of aigroup-econ-mcp might be problematic. Click here for more details.
- aigroup_econ_mcp/__init__.py +1 -1
- aigroup_econ_mcp/cli.py +81 -86
- aigroup_econ_mcp-0.4.1.dist-info/METADATA +360 -0
- {aigroup_econ_mcp-0.4.0.dist-info → aigroup_econ_mcp-0.4.1.dist-info}/RECORD +7 -10
- aigroup_econ_mcp/server_v1_backup.py +0 -1250
- aigroup_econ_mcp/server_v1_old.py +0 -1250
- aigroup_econ_mcp/server_with_file_support.py +0 -259
- aigroup_econ_mcp-0.4.0.dist-info/METADATA +0 -718
- {aigroup_econ_mcp-0.4.0.dist-info → aigroup_econ_mcp-0.4.1.dist-info}/WHEEL +0 -0
- {aigroup_econ_mcp-0.4.0.dist-info → aigroup_econ_mcp-0.4.1.dist-info}/entry_points.txt +0 -0
- {aigroup_econ_mcp-0.4.0.dist-info → aigroup_econ_mcp-0.4.1.dist-info}/licenses/LICENSE +0 -0
aigroup_econ_mcp/__init__.py
CHANGED
aigroup_econ_mcp/cli.py
CHANGED
|
@@ -1,87 +1,82 @@
|
|
|
1
|
-
"""
|
|
2
|
-
AIGroup 计量经济学 MCP 服务命令行入口
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
import sys
|
|
6
|
-
import click
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
@click.
|
|
12
|
-
@click.option('--
|
|
13
|
-
@click.option('--
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@click.option('--
|
|
18
|
-
@click.option('--
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
click.echo("
|
|
30
|
-
click.echo("
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
#
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
click.echo(f"[INFO]
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
click.echo(f"[INFO]
|
|
57
|
-
click.echo(f"[INFO]
|
|
58
|
-
click.echo(f"[INFO]
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
click.echo(f"[INFO]
|
|
72
|
-
click.echo(f"[INFO]
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
mount_path=mount_path or '/sse'
|
|
83
|
-
)
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
if __name__ == "__main__":
|
|
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__":
|
|
87
82
|
cli()
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: aigroup-econ-mcp
|
|
3
|
+
Version: 0.4.1
|
|
4
|
+
Summary: 专业计量经济学MCP工具 - 让大模型直接进行数据分析
|
|
5
|
+
Project-URL: Homepage, https://github.com/aigroup/aigroup-econ-mcp
|
|
6
|
+
Project-URL: Repository, https://github.com/aigroup/aigroup-econ-mcp.git
|
|
7
|
+
Project-URL: Issues, https://github.com/aigroup/aigroup-econ-mcp/issues
|
|
8
|
+
Author-email: AIGroup <jackdark425@gmail.com>
|
|
9
|
+
License-File: LICENSE
|
|
10
|
+
Keywords: data-analysis,economics,mcp,regression,statistics
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Requires-Python: >=3.10
|
|
23
|
+
Requires-Dist: arch>=6.0.0
|
|
24
|
+
Requires-Dist: click>=8.0.0
|
|
25
|
+
Requires-Dist: linearmodels>=7.0
|
|
26
|
+
Requires-Dist: matplotlib>=3.5.0
|
|
27
|
+
Requires-Dist: mcp>=1.0.0
|
|
28
|
+
Requires-Dist: numpy>=1.21.0
|
|
29
|
+
Requires-Dist: pandas>=1.5.0
|
|
30
|
+
Requires-Dist: psutil>=5.9.0
|
|
31
|
+
Requires-Dist: pydantic>=2.0.0
|
|
32
|
+
Requires-Dist: pyyaml>=6.0
|
|
33
|
+
Requires-Dist: scikit-learn>=1.0.0
|
|
34
|
+
Requires-Dist: scipy>=1.7.0
|
|
35
|
+
Requires-Dist: statsmodels>=0.13.0
|
|
36
|
+
Requires-Dist: uvicorn>=0.20.0
|
|
37
|
+
Description-Content-Type: text/markdown
|
|
38
|
+
|
|
39
|
+
# aigroup-econ-mcp - 专业计量经济学MCP工具
|
|
40
|
+
|
|
41
|
+
🎯 专为Roo-Code设计的计量经济学MCP服务 - 提供统计分析、回归建模、时间序列分析,无需复杂环境配置
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+

|
|
45
|
+

|
|
46
|
+

|
|
47
|
+
|
|
48
|
+
## 📋 目录
|
|
49
|
+
|
|
50
|
+
- [🚀 快速开始](#-快速开始)
|
|
51
|
+
- [✨ 核心功能](#-核心功能)
|
|
52
|
+
- [🔧 工具列表](#-工具列表)
|
|
53
|
+
- [📁 文件输入支持](#-文件输入支持)
|
|
54
|
+
- [⚙️ 安装配置](#️-安装配置)
|
|
55
|
+
- [📚 使用示例](#-使用示例)
|
|
56
|
+
- [🔍 故障排除](#-故障排除)
|
|
57
|
+
- [🏗️ 项目架构](#️-项目架构)
|
|
58
|
+
- [🤝 贡献指南](#-贡献指南)
|
|
59
|
+
- [📄 许可证](#-许可证)
|
|
60
|
+
|
|
61
|
+
## 🚀 快速开始
|
|
62
|
+
|
|
63
|
+
### 一键启动(推荐)
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# 使用uvx快速启动(无需安装)
|
|
67
|
+
uvx aigroup-econ-mcp
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Roo-Code配置
|
|
71
|
+
|
|
72
|
+
在RooCode的MCP设置中添加:
|
|
73
|
+
|
|
74
|
+
```json
|
|
75
|
+
{
|
|
76
|
+
"mcpServers": {
|
|
77
|
+
"aigroup-econ-mcp": {
|
|
78
|
+
"command": "uvx",
|
|
79
|
+
"args": ["aigroup-econ-mcp"],
|
|
80
|
+
"alwaysAllow": [
|
|
81
|
+
"descriptive_statistics", "ols_regression", "hypothesis_testing",
|
|
82
|
+
"time_series_analysis", "correlation_analysis", "panel_fixed_effects",
|
|
83
|
+
"panel_random_effects", "panel_hausman_test", "panel_unit_root_test",
|
|
84
|
+
"var_model_analysis", "vecm_model_analysis", "garch_model_analysis",
|
|
85
|
+
"state_space_model_analysis", "variance_decomposition_analysis",
|
|
86
|
+
"random_forest_regression_analysis", "gradient_boosting_regression_analysis",
|
|
87
|
+
"lasso_regression_analysis", "ridge_regression_analysis",
|
|
88
|
+
"cross_validation_analysis", "feature_importance_analysis_tool"
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## ✨ 核心功能
|
|
96
|
+
|
|
97
|
+
### 📊 统计分析
|
|
98
|
+
- **描述性统计** - 均值、方差、偏度、峰度等
|
|
99
|
+
- **假设检验** - t检验、F检验、卡方检验、ADF检验
|
|
100
|
+
- **相关性分析** - Pearson、Spearman、Kendall相关系数
|
|
101
|
+
|
|
102
|
+
### 📈 回归建模
|
|
103
|
+
- **OLS回归** - 普通最小二乘法回归分析
|
|
104
|
+
- **正则化回归** - Lasso、Ridge回归
|
|
105
|
+
- **模型诊断** - 残差分析、异方差检验
|
|
106
|
+
|
|
107
|
+
### ⏰ 时间序列分析
|
|
108
|
+
- **平稳性检验** - ADF、KPSS检验
|
|
109
|
+
- **ARIMA建模** - 自动定阶和参数估计
|
|
110
|
+
- **VAR/VECM模型** - 向量自回归/误差修正模型
|
|
111
|
+
- **GARCH模型** - 波动率建模
|
|
112
|
+
|
|
113
|
+
### 🏢 面板数据分析
|
|
114
|
+
- **固定效应模型** - 控制个体/时间固定效应
|
|
115
|
+
- **随机效应模型** - 处理随机效应
|
|
116
|
+
- **Hausman检验** - 模型选择检验
|
|
117
|
+
- **面板单位根检验** - 面板数据平稳性分析
|
|
118
|
+
|
|
119
|
+
### 🤖 机器学习集成
|
|
120
|
+
- **随机森林** - 非线性关系建模
|
|
121
|
+
- **梯度提升** - 高精度预测
|
|
122
|
+
- **特征重要性** - 变量选择分析
|
|
123
|
+
- **交叉验证** - 模型性能评估
|
|
124
|
+
|
|
125
|
+
## 🔧 工具列表
|
|
126
|
+
|
|
127
|
+
### 基础统计工具
|
|
128
|
+
| 工具 | 功能 | 输入方式 |
|
|
129
|
+
|------|------|----------|
|
|
130
|
+
| `descriptive_statistics` | 描述性统计分析 | 数据字典/CSV/JSON |
|
|
131
|
+
| `ols_regression` | OLS回归分析 | y_data, x_data/CSV/JSON |
|
|
132
|
+
| `hypothesis_testing` | 假设检验 | data1, data2/CSV/JSON |
|
|
133
|
+
| `correlation_analysis` | 相关性分析 | 数据字典/CSV/JSON |
|
|
134
|
+
|
|
135
|
+
### 时间序列工具
|
|
136
|
+
| 工具 | 功能 | 输入方式 |
|
|
137
|
+
|------|------|----------|
|
|
138
|
+
| `time_series_analysis` | 时间序列分析 | 时间序列数据/CSV/JSON |
|
|
139
|
+
| `var_model_analysis` | VAR模型分析 | 多变量时间序列/CSV/JSON |
|
|
140
|
+
| `vecm_model_analysis` | VECM模型分析 | 多变量时间序列/CSV/JSON |
|
|
141
|
+
| `garch_model_analysis` | GARCH模型分析 | 时间序列数据/CSV/JSON |
|
|
142
|
+
| `state_space_model_analysis` | 状态空间模型 | 时间序列数据/CSV/JSON |
|
|
143
|
+
| `variance_decomposition_analysis` | 方差分解 | 多变量时间序列/CSV/JSON |
|
|
144
|
+
|
|
145
|
+
### 面板数据工具
|
|
146
|
+
| 工具 | 功能 | 输入方式 |
|
|
147
|
+
|------|------|----------|
|
|
148
|
+
| `panel_fixed_effects` | 固定效应模型 | y_data, x_data, entity_ids, time_periods/CSV |
|
|
149
|
+
| `panel_random_effects` | 随机效应模型 | y_data, x_data, entity_ids, time_periods/CSV |
|
|
150
|
+
| `panel_hausman_test` | Hausman检验 | y_data, x_data, entity_ids, time_periods/CSV |
|
|
151
|
+
| `panel_unit_root_test` | 面板单位根检验 | 面板数据/CSV |
|
|
152
|
+
|
|
153
|
+
### 机器学习工具
|
|
154
|
+
| 工具 | 功能 | 输入方式 |
|
|
155
|
+
|------|------|----------|
|
|
156
|
+
| `random_forest_regression_analysis` | 随机森林回归 | y_data, x_data/CSV/JSON |
|
|
157
|
+
| `gradient_boosting_regression_analysis` | 梯度提升回归 | y_data, x_data/CSV/JSON |
|
|
158
|
+
| `lasso_regression_analysis` | Lasso回归 | y_data, x_data/CSV/JSON |
|
|
159
|
+
| `ridge_regression_analysis` | Ridge回归 | y_data, x_data/CSV/JSON |
|
|
160
|
+
| `cross_validation_analysis` | 交叉验证 | y_data, x_data/CSV/JSON |
|
|
161
|
+
| `feature_importance_analysis_tool` | 特征重要性 | y_data, x_data/CSV/JSON |
|
|
162
|
+
|
|
163
|
+
## 📁 文件输入支持
|
|
164
|
+
|
|
165
|
+
### 支持的文件格式
|
|
166
|
+
- **CSV文件** - 自动解析表头和数值数据
|
|
167
|
+
- **JSON文件** - 支持标准JSON数据格式
|
|
168
|
+
- **自动检测** - 智能识别文件格式和数据类型
|
|
169
|
+
|
|
170
|
+
### 使用方式
|
|
171
|
+
|
|
172
|
+
#### 方式1:直接数据输入(传统方式)
|
|
173
|
+
```json
|
|
174
|
+
{
|
|
175
|
+
"data": {
|
|
176
|
+
"GDP增长率": [3.2, 2.8, 3.5, 2.9],
|
|
177
|
+
"通货膨胀率": [2.1, 2.3, 1.9, 2.4]
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
#### 方式2:CSV文件输入(推荐)
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"file_content": "GDP增长率,通货膨胀率\n3.2,2.1\n2.8,2.3\n3.5,1.9\n2.9,2.4",
|
|
186
|
+
"file_format": "csv"
|
|
187
|
+
}
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
#### 方式3:文件路径输入
|
|
191
|
+
```json
|
|
192
|
+
{
|
|
193
|
+
"file_path": "./test_data.csv",
|
|
194
|
+
"file_format": "auto"
|
|
195
|
+
}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
## ⚙️ 安装配置
|
|
199
|
+
|
|
200
|
+
### 方式1:uvx安装(推荐)
|
|
201
|
+
```bash
|
|
202
|
+
# 直接运行最新版本
|
|
203
|
+
uvx aigroup-econ-mcp
|
|
204
|
+
|
|
205
|
+
# 指定版本
|
|
206
|
+
uvx aigroup-econ-mcp@0.4.0
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 方式2:pip安装
|
|
210
|
+
```bash
|
|
211
|
+
# 安装包
|
|
212
|
+
pip install aigroup-econ-mcp
|
|
213
|
+
|
|
214
|
+
# 运行服务
|
|
215
|
+
aigroup-econ-mcp
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### 依赖说明
|
|
219
|
+
- **核心依赖**: pandas, numpy, scipy, statsmodels, matplotlib
|
|
220
|
+
- **扩展依赖**: linearmodels, scikit-learn, arch
|
|
221
|
+
- **轻量级**: 无需torch或其他重型依赖
|
|
222
|
+
|
|
223
|
+
## 📚 使用示例
|
|
224
|
+
|
|
225
|
+
### 基础统计分析
|
|
226
|
+
```python
|
|
227
|
+
# 描述性统计
|
|
228
|
+
result = await descriptive_statistics(
|
|
229
|
+
data={
|
|
230
|
+
"GDP增长率": [3.2, 2.8, 3.5, 2.9],
|
|
231
|
+
"通货膨胀率": [2.1, 2.3, 1.9, 2.4]
|
|
232
|
+
}
|
|
233
|
+
)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 回归分析
|
|
237
|
+
```python
|
|
238
|
+
# OLS回归
|
|
239
|
+
result = await ols_regression(
|
|
240
|
+
y_data=[10, 12, 15, 18, 20],
|
|
241
|
+
x_data=[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6]],
|
|
242
|
+
feature_names=["广告支出", "价格"]
|
|
243
|
+
)
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### 文件输入分析
|
|
247
|
+
```python
|
|
248
|
+
# 使用CSV文件
|
|
249
|
+
result = await descriptive_statistics(
|
|
250
|
+
file_content="变量1,变量2\n1.2,3.4\n2.3,4.5\n3.4,5.6",
|
|
251
|
+
file_format="csv"
|
|
252
|
+
)
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## 🔍 故障排除
|
|
256
|
+
|
|
257
|
+
### 常见问题
|
|
258
|
+
|
|
259
|
+
#### uvx安装卡住
|
|
260
|
+
```bash
|
|
261
|
+
# 清除缓存重试
|
|
262
|
+
uvx --no-cache aigroup-econ-mcp
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
#### 工具返回错误
|
|
266
|
+
- 检查数据格式是否正确
|
|
267
|
+
- 确保没有缺失值
|
|
268
|
+
- 查看详细错误信息
|
|
269
|
+
|
|
270
|
+
#### MCP服务连接失败
|
|
271
|
+
- 检查网络连接
|
|
272
|
+
- 确保Python版本>=3.8
|
|
273
|
+
- 查看详细错误日志
|
|
274
|
+
|
|
275
|
+
### 数据要求
|
|
276
|
+
- **样本量**: 建议至少20个观测点
|
|
277
|
+
- **数据类型**: 所有变量必须为数值型
|
|
278
|
+
- **缺失值**: 自动处理或报错提示
|
|
279
|
+
|
|
280
|
+
## 🏗️ 项目架构
|
|
281
|
+
|
|
282
|
+
### 模块结构
|
|
283
|
+
```
|
|
284
|
+
src/aigroup_econ_mcp/
|
|
285
|
+
├── server.py # MCP服务器核心
|
|
286
|
+
├── cli.py # 命令行入口
|
|
287
|
+
├── config.py # 配置管理
|
|
288
|
+
└── tools/ # 工具模块
|
|
289
|
+
├── base.py # 基础工具类
|
|
290
|
+
├── statistics.py # 统计分析
|
|
291
|
+
├── regression.py # 回归分析
|
|
292
|
+
├── time_series.py # 时间序列
|
|
293
|
+
├── panel_data.py # 面板数据
|
|
294
|
+
├── machine_learning.py # 机器学习
|
|
295
|
+
├── file_parser.py # 文件解析
|
|
296
|
+
├── data_loader.py # 数据加载
|
|
297
|
+
├── decorators.py # 装饰器
|
|
298
|
+
├── tool_registry.py # 工具注册
|
|
299
|
+
└── tool_handlers.py # 业务处理器
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### 设计特点
|
|
303
|
+
- **组件化架构** - 模块化设计,易于维护
|
|
304
|
+
- **统一接口** - 所有工具支持文件输入
|
|
305
|
+
- **错误处理** - 统一的错误处理和日志记录
|
|
306
|
+
- **性能优化** - 异步处理和缓存机制
|
|
307
|
+
|
|
308
|
+
## 🤝 贡献指南
|
|
309
|
+
|
|
310
|
+
### 开发环境设置
|
|
311
|
+
```bash
|
|
312
|
+
# 克隆项目
|
|
313
|
+
git clone https://github.com/jackdark425/aigroup-econ-mcp
|
|
314
|
+
cd aigroup-econ-mcp
|
|
315
|
+
|
|
316
|
+
# 安装开发依赖
|
|
317
|
+
uv add --dev pytest pytest-asyncio black isort mypy ruff
|
|
318
|
+
|
|
319
|
+
# 运行测试
|
|
320
|
+
uv run pytest
|
|
321
|
+
|
|
322
|
+
# 代码格式化
|
|
323
|
+
uv run black src/
|
|
324
|
+
uv run isort src/
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### 提交贡献
|
|
328
|
+
1. Fork项目
|
|
329
|
+
2. 创建功能分支
|
|
330
|
+
3. 提交更改
|
|
331
|
+
4. 开启Pull Request
|
|
332
|
+
|
|
333
|
+
### 代码规范
|
|
334
|
+
- 遵循PEP 8编码规范
|
|
335
|
+
- 使用类型注解
|
|
336
|
+
- 添加单元测试
|
|
337
|
+
- 更新相关文档
|
|
338
|
+
|
|
339
|
+
## 📄 许可证
|
|
340
|
+
|
|
341
|
+
MIT License - 查看 [LICENSE](LICENSE) 文件了解详情
|
|
342
|
+
|
|
343
|
+
## 🙏 致谢
|
|
344
|
+
|
|
345
|
+
- **Model Context Protocol (MCP)** - 模型上下文协议
|
|
346
|
+
- **Roo-Code** - AI编程助手
|
|
347
|
+
- **statsmodels** - 统计分析库
|
|
348
|
+
- **pandas** - 数据处理库
|
|
349
|
+
- **scikit-learn** - 机器学习库
|
|
350
|
+
- **linearmodels** - 面板数据分析库
|
|
351
|
+
|
|
352
|
+
## 📞 支持
|
|
353
|
+
|
|
354
|
+
- 💬 [GitHub Issues](https://github.com/jackdark425/aigroup-econ-mcp/issues)
|
|
355
|
+
- 📧 邮箱:jackdark425@gmail.com
|
|
356
|
+
- 📚 文档:查看项目文档和示例
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
**立即开始**: `uvx aigroup-econ-mcp` 🚀
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
aigroup_econ_mcp/__init__.py,sha256=
|
|
2
|
-
aigroup_econ_mcp/cli.py,sha256=
|
|
1
|
+
aigroup_econ_mcp/__init__.py,sha256=2GgJrD8MTHFgaiXrWYsOou0034taAT1zTRyJx_NZKkg,472
|
|
2
|
+
aigroup_econ_mcp/cli.py,sha256=7yeNXWNwMdpUswAO4LsqAvb0EmCO3S6Bs6sl483uSXI,3363
|
|
3
3
|
aigroup_econ_mcp/config.py,sha256=ab5X4-H8isIe2nma0c0AOqlyYgwhf5kfe9Zx5XRrzIo,18876
|
|
4
4
|
aigroup_econ_mcp/server.py,sha256=-FIO4rnJrRQJpT1UESB4-hN5SYMQlTdj94veFOn8cxw,21690
|
|
5
|
-
aigroup_econ_mcp/server_v1_backup.py,sha256=1J9Bajg53yU1veouGVTYD5gDblcp63K3Oy3QKpu66Ws,50160
|
|
6
|
-
aigroup_econ_mcp/server_v1_old.py,sha256=1J9Bajg53yU1veouGVTYD5gDblcp63K3Oy3QKpu66Ws,50160
|
|
7
|
-
aigroup_econ_mcp/server_with_file_support.py,sha256=W4KIgJbW498ayZIEQfJWQZBVGqKQUOXxxRMa0tKeDOE,7778
|
|
8
5
|
aigroup_econ_mcp/tools/__init__.py,sha256=6C9seG5y9BKDl_cRpvMOT8WqSkBSGRPS_9P7-uRRTEc,357
|
|
9
6
|
aigroup_econ_mcp/tools/base.py,sha256=CwZFtvagcv732OAyCecEfwj8vekrOHSKjPXwrWamW2g,8163
|
|
10
7
|
aigroup_econ_mcp/tools/cache.py,sha256=Urv2zuycp5dS7Qh-XQWEMrwszq9RZ-il8cz_-WniGgc,15311
|
|
@@ -23,8 +20,8 @@ aigroup_econ_mcp/tools/timeout.py,sha256=vNnGsR0sXW1xvIbKCF-qPUU3QNDAn_MaQgSxbGx
|
|
|
23
20
|
aigroup_econ_mcp/tools/tool_handlers.py,sha256=cqv7FU95b_kjEJcZSAIGuGjUqbcCCKT0MXrmflnnelo,15028
|
|
24
21
|
aigroup_econ_mcp/tools/tool_registry.py,sha256=yoA00XBiIQ0ly45huW4x9TNHSEJqu7veGOwSyZF-qko,4388
|
|
25
22
|
aigroup_econ_mcp/tools/validation.py,sha256=F7LHwog5xtFIMjD9D48kd8jAF5MsZb7wjdrgaOg8EKo,16657
|
|
26
|
-
aigroup_econ_mcp-0.4.
|
|
27
|
-
aigroup_econ_mcp-0.4.
|
|
28
|
-
aigroup_econ_mcp-0.4.
|
|
29
|
-
aigroup_econ_mcp-0.4.
|
|
30
|
-
aigroup_econ_mcp-0.4.
|
|
23
|
+
aigroup_econ_mcp-0.4.1.dist-info/METADATA,sha256=ipzSXbSHPdZCgxmYgGvjDf7PLckgtAvpjbxYbQMUr-k,10800
|
|
24
|
+
aigroup_econ_mcp-0.4.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
25
|
+
aigroup_econ_mcp-0.4.1.dist-info/entry_points.txt,sha256=j5ZJYOc4lAZV-X3XkAuGhzHtIRcJtZ6Gz8ZKPY_QTrM,62
|
|
26
|
+
aigroup_econ_mcp-0.4.1.dist-info/licenses/LICENSE,sha256=DoyCJUWlDzKbqc5KRbFpsGYLwLh-XJRHKQDoITjb1yc,1083
|
|
27
|
+
aigroup_econ_mcp-0.4.1.dist-info/RECORD,,
|