使用说明
项目简介
Stata-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,旨在让大型语言模型 (LLM) 能够安全、可扩展地调用 Stata 软件进行复杂的统计分析和数据处理任务。通过标准化的 MCP 协议,Stata-MCP 提供了资源管理、工具注册和 Prompt 模板等核心功能,使得 LLM 客户端可以方便地与 Stata 进行交互,完成数据加载、统计分析、结果输出等操作。
主要功能点
- Stata 命令工具集: 内置丰富的 Stata 命令生成工具,涵盖数据管理、描述统计、回归分析、面板数据分析、标签管理等常用功能,例如 'use', 'save', 'summarize', 'regress', 'generate', 'xtreg', 'merge', 'label' 等。
- 数据信息获取: 提供 'get_data_info' 工具,允许 LLM 获取数据文件的描述性统计信息,以便更好地理解数据,例如文件格式、大小、变量类型、缺失值情况以及数值变量的统计摘要和分类变量的频率分布。
- 结果文档管理: 通过 'results_doc_path' 工具,方便用户统一管理 Stata 命令执行结果的输出路径,便于结果的整理和后续使用。
- Dofile 管理: 支持 'write_dofile' 和 'append_dofile' 工具,允许 LLM 生成和管理 Stata dofile,实现复杂分析流程的自动化,提高分析效率和可重复性。
- Stata 执行: 通过 'stata_do' 工具,安全地执行 Stata dofile,并将执行日志返回给 LLM 客户端,方便用户查看 Stata 命令的执行情况。
安装步骤
- 克隆仓库:
git clone https://github.com/SepineTam/stata-mcp.git - 进入目录:
cd stata-mcp - 复制配置文件:
(可选) 根据需要修改 'config.py' 中的配置,例如临时数据存储路径等。cp example.config.py config.py - 运行服务器:
请根据实际安装的 Stata 版本号和版本类型修改命令中的参数 '17 se',例如,如果您的 Stata 版本是 16MP,则应使用 'uv run stata_mcp.py 16 mp'。uv run stata_mcp.py 17 se
服务器配置
对于 MCP 客户端(如 Claude, Cline, ChatWise),您需要配置 Stata-MCP 服务器的连接信息。以下是一些示例配置,请根据您的 MCP 客户端进行相应配置:
Claude 配置示例 (JSON):
{ "stata-mcp": { "command": "uv", "args": [ "--directory", "/Users/yourname/path/to/repo/", // 请替换为您的 stata-mcp 仓库在您电脑上的实际路径 "run", "stata_mcp.py", "17", // 您的 Stata 版本号,例如 16, 17, 18 等 "se" // 您的 Stata 版本类型,例如 se, mp ] } }
ChatWise 配置示例:
type: stdio ID: stata-mcp command: uv --directory /Users/yourname/path/to/repo/ run stata_mcp.py 17 se // 请替换为您的 stata-mcp 仓库路径和 Stata 版本信息
Cline 配置示例 (JSON):
{ "mcpServers": { "stata-mcp": { "command": "uv", "args": [ "--directory", "/Users/yourname/path/to/repo/", // 请替换为您的 stata-mcp 仓库在您电脑上的实际路径 "run", "stata_mcp.py", "17", // 您的 Stata 版本号 "se" // 您的 Stata 版本类型 ] } } }
配置参数说明:
- 'command': 启动服务器的命令,通常为 'uv' (推荐,需要预先安装 uv)或 'python3' 等。
- 'args': 启动命令的参数列表,用于配置 Stata-MCP 服务器,包括:
- '--directory': 'stata-mcp' 仓库在您电脑上的本地路径。请务必根据您的实际情况替换为正确的路径。
- 'run': 使用 'uv run' 或 'python3 -m' 运行 Python 脚本的固定参数。
- 'stata_mcp.py': 服务器主程序文件名,固定为 'stata_mcp.py'。
- '17 se': 请根据您实际安装的 Stata 版本进行修改。 '17' 代表 Stata 版本号,'se' 代表版本类型 (SE 或 MP)。例如,如果您安装的是 Stata 16MP,则应修改为 '16 mp'。
基本使用方法
- 确保 Stata-MCP 服务器已成功启动并运行。
- 在您的 LLM 客户端中,根据客户端的要求配置并连接到 Stata-MCP 服务器。
- 使用 LLM 客户端提供的界面或指令,即可调用 Stata-MCP 服务器提供的各种 Stata 工具,例如:
- 请求 LLM 加载指定的数据文件进行分析,LLM 将调用 'use' 工具生成 Stata 命令。
- 请求 LLM 对数据进行描述性统计分析,LLM 将调用 'summarize' 工具生成 Stata 命令。
- 请求 LLM 进行回归分析,LLM 将调用 'regress' 或 'xtreg' 等工具生成 Stata 命令。
- 请求 LLM 执行一系列复杂的 Stata 分析流程,LLM 可以组合使用 'write_dofile', 'append_dofile' 和 'stata_do' 工具,先生成 dofile,再执行 dofile。
- 当 LLM 需要了解数据文件信息时,可以调用 'get_data_info' 工具获取数据文件的描述性统计信息。
- 当需要保存 Stata 分析结果时,可以使用 'results_doc_path' 工具获取结果输出路径,并告知 LLM 在生成的 Stata 代码中使用该路径保存结果。
- 通过调用 'read_log' 工具,LLM 可以读取 Stata 命令执行的日志,了解命令执行的详细信息。
信息
分类
AI与计算