MCP-for-Stata

Stata-MCP · 让 Agent 和你一样使用本地的 Stata

不写一行代码来完成实证研究

Stata-MCP Day 0 适配 DeepSeek Harness

一行命令安装 Stata-MCP 到全部 Agent

uvx stata-mcp install --all

GNU AGPL-3.0 许可证 · 全平台支持

我们的用户来自

关注和使用 MCP-for-Stata 的研究者来自不同顶尖高校与研究机构

  • 新加坡国立大学
  • 牛津大学
  • 北京大学
  • 中山大学
  • 复旦大学
  • 上海大学
  • 世界银行

用户反馈

来自项目社区的使用反馈

当学生第一次向我推荐 MCP-for-Stata 时,我起初颇为不屑,觉得它不过如此。然而如今,它已成为我教学中不可或缺的一部分,我也鼓励学生在研究中打造属于自己的 AI 工作流。
Nash - 教授 · 牛津大学
我本科主修计算机专业,起初接触 Stata 时感到有些茫然。直到朋友向我推荐了 MCP-for-Stata,在它的辅助下学习 Stata 的过程变得高效而轻松。
陈** - 博士生 · 复旦大学
MCP-for-Stata 在一定程度上改变了我的数据分析工作流程。它的 Agent 模式可以在我睡后完成简单的任务,节省了我大量时间。睡后的时间可以被充分利用起来。
Sophia - 分析师 · 世界银行
作为一个开源项目,MCP-for-Stata 让我能够将其集成到我的科研智能体中,从而节省了大量时间,用于阅读文献与思考研究问题。
徐** - 博士生 · 斯坦福大学
在日常的数据分析工作中,MCP-for-Stata 大幅提升了我的工作效率。自然语言处理功能非常智能,能准确理解我的分析需求并生成相应的代码。这是计量经济学研究的革命性工具!
Zoy - 研究员 · NBER

Security by design

让 Agent 能操作 Stata,也让每次执行有边界

MCP-for-Stata 在 do-file 到达 Stata 之前进行检查,把已识别的高风险操作拦在执行之外,并保留可复查的本地代码与日志。

01 · Agent

提出分析步骤

根据研究任务生成或修改 do-file。

02 · MCP-for-Stata

执行前检查

检查命令、文件位置与高风险入口。

03 · Local Stata

本地执行并返回日志

统计计算仍由本地 Stata 完成。

默认保护

危险命令执行前拦截

Security Guard 默认开启,会检查 do-file,并阻止已识别的文件删除、系统命令和外部代码执行。

默认保护

do-file 路径有边界

待执行的 do-file 必须位于配置的工作目录或受管目录中,越界路径会被拒绝。

默认保护

第三方包安装单独授权

日常执行入口不能直接安装包;高风险安装工具默认不开放,需要明确启用和批准。

按需开启:RAM 使用上限;单次执行超时

使用方法

三种叙述路径,把 MCP-for-Stata 接到你常用的 AI 助手里

一键注册到所有 Agent

一行命令完成 Claude Code、Codex、OpenClaw 等的 MCP 配置

不想折腾复杂配置时,直接运行下面这条命令,它会一次性把 MCP-for-Stata 写进 Claude Code、Claude Desktop、Codex、OpenClaw、Cursor、Cline、Gemini CLI、OpenCode 的 MCP 配置里。

uvx stata-mcp install --all

也可以用一键脚本(如果没有 uv 会自动安装):

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/sepinetam/mcp-for-stata/main/scripts/install.sh | bash

Windows (PowerShell)

irm https://raw.githubusercontent.com/sepinetam/mcp-for-stata/main/scripts/install.ps1 | iex

进阶:Claude Code

Claude Code 用户的推荐配置方式

全局注册 MCP-for-Stata

执行一次,本机所有 Claude Code 项目都会自动加载 MCP-for-Stata。

claude mcp add stata-mcp --scope user -- uvx stata-mcp

可选:安装 IDE 插件

在 IDE 内使用 Claude Code 时,可以再装官方 stata-toolbox 插件,附带 Stata LSP,让生成的 do-file 有更好的语法补全。

claude plugin marketplace add sepinetam/mcp-for-stata
claude plugin install stata-toolbox -s project

启动并开始对话

在项目目录里运行 claude,用自然语言提问就行,MCP-for-Stata 会负责跑 do-file 并把结果回传。

其他客户端

通用 MCP JSON,适配所有兼容 MCP 协议的客户端

把下面这段配置写进客户端的 MCP 配置文件即可。请确认 Stata 安装在默认路径,macOS/Linux 下 Stata CLI 可用。

{
  "mcpServers": {
    "stata-mcp": { "command": "uvx", "args": ["stata-mcp"] }
  }
}

接入客户端前可以先跑 uvx stata-mcp doctor 自检环境。

常见问题

关于 MCP-for-Stata 的常见问题解答

Stata-MCP 是一个新的 AI 模型吗?

不是。Stata-MCP 不是模型,也不替代你正在使用的 Claude、Codex、Cursor 或其他 AI 客户端。它是一个本地运行的 MCP 服务器,让这些 AI 客户端可以调用你电脑上的 Stata,读取数据结构、生成 do-file、执行分析,并把结果返回到对话里。

Stata-MCP 和直接让 ChatGPT 或 Claude 写 Stata 代码有什么区别?

通用 AI 助手通常只能根据描述生成一段 Stata 代码,你还需要自己复制、运行、排错和整理结果。Stata-MCP 把 AI 客户端接到真实的 Stata 环境里,可以运行 do-file、查看 Stata 输出、查询 Stata help、根据错误信息继续修正,并围绕同一个项目目录迭代分析。

Stata-MCP 支持哪些 AI 客户端?

Stata-MCP 支持所有兼容 MCP 协议的 AI 客户端,包括 Claude Code、Claude Desktop、Codex、OpenClaw、Cursor、Cline、Gemini CLI、OpenCode 等主流工具。运行 uvx stata-mcp install --all 可以一次性把配置写进所有受支持的客户端。

SepineTam/Stata-MCP 只是一个 CLI 工具,或者只能在 CLI Agent 中使用吗?

NO。Stata-MCP 不只是一款 CLI 工具,也不局限于 CLI Agent。它可以在任何支持 MCP 的 AI 智能体中使用,包括 DeepSeek Harness、Claude Code、Claude Science、Codex、ChatGPT、Cursor、VS Code、OpenClaw,以及其他任何兼容 MCP 的智能体或客户端。

我已有的 do-file、数据和项目结构还能继续用吗?

可以。Stata-MCP 以标准 do-file 和本地项目目录为工作单位,不要求你把现有流程重建一遍。你可以让 AI 阅读已有脚本、补全分析步骤、运行局部代码、解释已有输出,或者在当前目录里生成新的图表、日志和结果文件。

Stata-MCP 会替代 Stata 或其他专业统计工具吗?

不会。Stata-MCP 是把 AI、Stata 和你的研究项目连接起来的工作台。真正的统计计算仍由你本地安装的 Stata 完成;Stata-MCP 负责把自然语言需求转成可执行工作流,并帮助你更快地检查、运行和迭代。

如何确认我的设备能否跑 Stata-MCP?

运行 uvx stata-mcp doctor 即可。该命令会逐项检查系统、Python、uv、依赖、Stata CLI、可执行性、配置文件、工作目录、Security Guard、RAM 监控、PyPI 连通性等多项指标,并打印 PASS / FAIL 摘要,方便你在接入客户端前就知道是否需要修复。

Stata-MCP 的分析结果如何复现?

Stata-MCP 优先生成和执行标准 do-file,结果会落在你的本地工作目录中,便于纳入 Git、论文附录或项目归档。你也可以保留 AI 对话、do-file、Stata 日志、输出表格和图形,形成从研究问题到代码、结果和解释的可追踪记录。

Stata-MCP 在执行 do-file 时会拦截危险命令吗?

会。Security Guard 默认开启,会在 do-file 交给 Stata 之前检查并阻止已识别的 shell 调用、文件删除和外部代码加载;do-file 路径和第三方包安装还有单独的边界。但这些机制用于降低风险,并不是完整沙箱,仍应审查生成的代码并保持 Guard 开启。

可以限制 Stata 进程占用的内存吗?

可以。Stata-MCP 提供 RAM Monitoring 模块,开启后会用后台线程追踪 Stata 进程的内存占用,超过阈值时自动终止。可以通过 STATA_MCP__IS_MONITOR 和 STATA_MCP__RAM_LIMIT 配置。

是否需要付费才能使用 Stata-MCP?

Stata-MCP 本身是开源免费项目,目前采用 GNU AGPL-3.0 许可证。但你仍需要拥有有效的 Stata 许可证,并承担使用 AI 服务时可能产生的 API 或订阅费用。

如果我没有 Stata 许可证,能使用 Stata-MCP 吗?

不能。Stata-MCP 调用的是你本地安装的 Stata;如果没有可用的 Stata 软件和许可证,就无法执行实际统计分析。

我的数据会保存在哪里?

Stata-MCP 在你的本地计算机上运行,Stata 也在本地执行。数据文件、临时文件、日志和输出结果默认保存在你的本地目录中,不会由 Stata-MCP 主动上传到第三方服务器。

Stata-MCP 会把我的研究数据发送给 AI 服务商吗?

Stata-MCP 本身不会主动收集或上传你的个人信息,但 AI 客户端需要把对话内容、你明确提供的上下文,以及模型输入输出发送给你选择的 AI 服务商处理。处理敏感数据时,建议只暴露必要的变量名、摘要统计或脱敏样本,并遵守所在机构的数据政策。

Stata-MCP 可以处理哪些类型的回归分析和数据格式?

在分析层面,Stata-MCP 支持 Stata 能处理的大多数任务,包括线性回归、逻辑回归、面板数据、时间序列、工具变量等;在数据层面,可以围绕 .dta、.csv、.xlsx、.sav 等常见格式开展分析。

生成的 Stata 代码质量如何?

Stata-MCP 会尽量生成结构清晰、可运行、便于复查的 Stata 代码,并结合 Stata 输出继续修正语法和执行错误。研究设计、变量定义、模型设定和结果解释仍需要研究者判断;用于论文或报告前,建议像审阅任何统计代码一样检查 do-file。

如果代码运行出错怎么办?

Stata-MCP 可以把 Stata 的错误输出返回给 AI 客户端,让 AI 根据报错继续修改 do-file 或建议下一步检查。它能减少复制粘贴和手动排错成本,但不能保证每一次模型选择、变量处理或统计解释都自动正确。

支持哪些操作系统?

Stata-MCP 支持 macOS、Linux、Windows,推荐使用 Stata 17 及以上版本。

如何开始使用 Stata-MCP?

三步即可。第一步,运行 uvx stata-mcp doctor 自检环境;第二步,运行 uvx stata-mcp install --all 一次性给所有支持的 Agent 写好配置,也可以用 -c <client> 指定单个客户端;第三步,启动你常用的 Agent,并用自然语言开始分析。