如果你平时用 Stata 做计量分析,一定经历过这种循环:写 do 文件、运行、报错、改代码、再运行。有没有可能直接跟 AI 说一句话,它就帮你把回归跑完、把结果和日志摆好?WorkBuddy 接入 StataMCP 就是干这个的:通过 MCP(Model Context Protocol)协议,把 Stata 包装成 WorkBuddy 可以调用的工具。
先理解三层分工,少走一半弯路
整个链条里有三个角色,各管一摊:
- WorkBuddy 是“大脑”(Host):负责理解你的自然语言,决定该调用哪个工具。它的配置入口是「连接器」页面和用户目录下的
~/.workbuddy/mcp.json(Windows 在C:\Users\<用户名>\.workbuddy\mcp.json)。 - stata-mcp 是“翻译官”(MCP 服务器):把 WorkBuddy 的调用请求翻译成 Stata 命令。它对外暴露的工具主要有
stata_do(执行 do 文件)和read_log(读取日志)。 - Stata 是“计算引擎”:真正跑数的地方,必须已经安装且授权可用。
核心要记住一句话:MCP 是一套协议,不是某个软件;WorkBuddy 只认 mcp.json 里的“启动登记表”。新手最常见的误解是“在 WorkBuddy 里配好就等于 Stata 能跑了”——实际上 WorkBuddy 只负责把 stata-mcp 启动起来,stata-mcp 能不能找到 Stata 是另一个独立问题,需要单独验证。
第一步:6 项前置条件自查
动手前先逐项确认,缺一不可:
- Stata 已安装且授权可用。先手动双击打开,随便敲
display 1+1,能跑通再继续——否则后面 MCP 只会报“找不到 Stata”或超时。 - 操作系统是 Windows 或 macOS(自动发现 Stata 路径的功能目前只支持这两者,Linux 需要手写
STATA_CLI)。 - 已安装 WorkBuddy 桌面端。
- 有
uv(它提供uvx命令)或 Python ≥ 3.11,可用uv --version自查。 - 能访问 PyPI(首次安装需要下载包)。
- 准备一个可写的工作目录,比如
D:\my_research_project——日志和结果要落盘,没有可写目录会回退到系统默认位置,不好找。
第二步:零安装体检,一次看清 12 项状态
官方推荐用 uvx 零安装运行。先 pip install uv,然后直接运行:
uvx stata-mcp doctor这条命令会临时从 PyPI 拉包做一次全面体检,不必事先安装。doctor 共检查 12 项:操作系统与架构、Python 运行环境、uv 可用性、必需依赖包、Stata 可执行文件路径(最常出问题的一项)、真空跑一次 Stata(证明真的能算)、配置文件加载、工作目录可写、安全护栏规则数(默认启用本机 35 条)、内存监控开关(默认关闭)、PyPI 可达性、旧日志清理策略。哪一项飘红,就修哪一项,不要带着红灯往下走。
第三步:接入 WorkBuddy(新手推荐手动粘贴 JSON)
入口:WorkBuddy 左侧边栏 →「专家·技能·连接器」→「连接器」页签 → 右上角「自定义连接器」。配置文件是用户级的 ~/.workbuddy/mcp.json。
写法一(uvx 版,官方基准配置):
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": ["stata-mcp", "server"]
}
}
}注意 "uvx" 和 args 是一个整体:uvx 只是运行器,必须指明要跑哪个包、哪个子命令。
写法二(绝对路径版,适合 Stata 装在非默认位置):args 写法略有差异,并通过 env 指定 STATA_CLI(如 D:\Stata19\StataMP-64.exe)和 STATA_MCP__CWD(工作目录,如 D:\my_research_project)。如果报错,最省事的办法是直接告诉 WorkBuddy 你本机的 Stata 安装路径,让 AI 自动帮你配置并验证。
添加配置后必须做三件事:完全退出并重启 WorkBuddy(从托盘/任务栏彻底退出,不是关窗口);回到「连接器」页面确认 stata-mcp 状态为绿色已连接;如果弹出「信任/Trust」提示,一定要点击信任。
第四步:验证——让 AI 跑一次真回归
在对话框里说:“用 Stata 打开 sysuse auto 数据集,对 price 关于 mpg 和 weight 做回归,返回系数和日志路径。”成功的标志是:AI 返回了回归系数值,并且给出一条形如 .statamcp/stata-mcp-log/*.log 的日志路径。两者缺一不可——有系数没日志,等于结果不可复查。
进阶:目录全景与三个新手习惯
mcp.json管“怎么启动”,~/.statamcp/config.toml管“启动后怎么干活”,另有stata_mcp_debug.log服务端调试日志。工作目录下的.statamcp/里躺着每次执行的产物:stata-mcp-log(.log/.smcl 日志)、stata-mcp-dofile(MCP 自动生成的 do 文件)、stata-mcp-result(结构化结果)、stata-mcp-tmp(临时文件)、audit(追加式审计账本,含 security.jsonl)、snapshot、debug。- 第一次真实使用,建议先建
data/、scripts/、results/三级干净目录。注意 do 文件必须放在STATA_MCP__CWD指向的目录内,否则会被安全护栏拒绝。 - 三个习惯能帮你避开 90% 的坑:①写实体 do 文件(
stata_do的入参是dofile_path,把需求沉淀成文件);②看日志不只看回复(被 capture 吞掉的错误,返回码可能仍是 0);③图片要自己看(graph export返回成功不代表图画得对)。
把 Stata 接进 WorkBuddy,本质上是把“写代码跑数”变成了“下指令审结果”。环境配好之后,真正的效率来自把分析流程固定成 do 文件模板,让 AI 在模板里填空——这才是这套组合拳的完全体。
此處評論已關閉