mcpField
S
Stata Mcp

Stata Mcp

本地服务
github.com/SepineTam数据与分析2711 周前更新

关于 Stata Mcp

MCP-for-Stata 是一个以安全为先的开源 MCP 服务与命令行工具,让 AI Agent 调用本地 Stata 完成回归分析、计量经济学和实证研究。它面向经济学与社会科学研究者,由用户自行掌控数据与 Stata 许可证。

主要功能

  1. 01本地调用 Stata 执行命令
  2. 02命令防护与资源监控
  3. 03自动捕获 Stata 日志
  4. 04支持多种 Agent 的一键安装
  5. 05附带 Stata 相关 Skills

适用场景

  1. 01回归分析与假设检验
  2. 02复现经济学论文的实证结果
  3. 03整理和检查 do 文件

MCP 相关

该项目是一个 MCP 服务,向 Claude Code、Codex 等 MCP 客户端提供运行本地 Stata 的能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"stata": {
"command": "uvx",
"args": [
"stata-mcp"
]
}
}
}
启动命令uvx stata-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypistata-mcp1.25.2

工具

4

收录的工具列表 · 更新于 2 周前

参数类型必填说明
timeoutany否
dofile_pathstring是
enable_smclboolean否
log_file_namestring否
is_replace_logboolean否
read_log_when_errorboolean否

详细介绍

MCP-for-Stata (Stata-MCP):让任何 Agent 运行 Stata

MCP-for-Stata 是一款以安全为先的开源 MCP 服务和 CLI 工具,并提供 Skills,让你使用的任何 AI Agent 都能调用设备上的本地 Stata,进行回归分析、计量经济学分析、论文复现和实证研究。它提供命令防护、资源监控、自动捕获日志和跨平台客户端安装,同时让你掌控自己的数据和 Stata 许可证。

让 Claude Code、Codex 和其他 AI Agent 成为随时待命的研究助手。

Stata 是 StataCorp LLC 的注册商标。本项目是由社区独立开发的工具,与 StataCorp LLC 无关,未经其认可,也未获其赞助。

en cn fr es Publish to PyPI PyPI version PyPI Downloads License: AGPL 3.0 OpenSSF Best Practices Issue Ask DeepWiki


💡 快速开始

无需编辑任何配置,只需告诉你的 Agent:

Install MCP-for-Stata for yourself globally following the instructions in the GitHub repository at SepineTam/mcp-for-stata.

🆕 新闻

  • 📖 默认安装技能:Stata 相关技能现在会随 MCP 一起安装,无需单独设置。请参阅安装指南。
  • 🚀 DeepSeek Harness Day 0 支持:使用 uvx stata-mcp install -c dsh 在 DeepSeek Harness 中安装 MCP-for-Stata。请参阅 DeepSeek Harness 指南。
  • 🧪 Claude Science 支持:MCP-for-Stata 现在可通过沙盒允许列表在 Claude Science 中运行。请参阅 Claude Science 指南。
  • 在微信公众号中查看更多:我为什么要制作它?,以及 8 张图了解 Stata-MCP
  • 🦞 OpenClaw 支持:用于 OpenClaw 集成的独立命令行工具(stata-mcp tool),请参阅 OpenClaw 指南
  • ✨ Claude Code 插件支持:提供官方插件包,集成 MCP 服务和 Stata LSP
  • 在 Claude Code 中使用 MCP-for-Stata,请参阅 Claude Code 高级用法;在 Codex 中使用,请参阅 Codex 高级用法

想了解我们的最新研究?查看最新研究报告。

在寻找其他内容?

关于 Stata 的 MCP 或 AI

数据集和信息

  • STOP 数据集:StataMCP-Team 开放数据项目 📊,我们已为社会科学研究开源了全面的数据集,旨在推动未来由 AI 驱动、以数据为基础的研究范式。
为什么采用 AGPL 3.0 许可证?

AGPL 3.0 许可证是一种开源许可证。它不会影响您的日常使用;只要遵守其条款(例如保留原始版权声明),您就可以免费使用、修改和分发本软件。

说明:尽管我们努力让所有人都能使用开源软件,但很遗憾,我们无法继续采用 Apache-2.0 License。由于有人直接复制本项目并声称自己是项目维护者,我们决定将许可证更改为 AGPL-3.0,以防止以违背我们初衷的方式滥用本项目。

说明:尽管我们希望尽可能让所有人都能从开源中获益,但我们很遗憾地宣布无法继续保持 Apache-2.0 License。由于有人直接抄袭本项目并标榜其为项目维护者,我们不得不将 License 更改为 AGPL-3.0,以防止有人滥用本项目进行违背项目初心的事情。

原因如下:

背景:@jackdark425 的仓库直接复制了本项目,并声称自己是唯一维护者。我们欢迎基于 fork 的开源协作,包括但不限于添加新功能、修复现有 bug,或为项目提供宝贵建议,但我们坚决反对抄袭和虚假署名。

更新:侵权项目已通过 GitHub DMCA 下架。查看 DMCA 下架详情。

背景:@jackdark425 的仓库直接抄袭了本项目并标榜为项目唯一维护者。我们欢迎基于fork的开源协作,包括但不限于添加新的feature、修改已有bug或对项目提出您宝贵的意见,但坚决反对抄袭和虚假署名行为。

更新:侵权项目已通过GitHub DMCA被takedown,查看DMCA下架详情。


安装和客户端配置

安装方式、客户端设置、附加组件/额外选项以及验证方法,请参阅**安装指南**。

🚀 一键为所有客户端安装!

无需配置,也无需手动编辑 JSON。只需运行一条命令,即可为所有受支持的 Agent(Claude Code、Codex、OpenClaw、Cursor、Gemini CLI 等)安装 MCP-for-Stata:

uvx stata-mcp install --all
受支持的 Agent 🤖 根据我们自己的经验和测试,我们推荐使用 Claude Code、Codex 和 OpenClaw。 我们发现,在任何框架中,Claude 和 DeepSeek 都是最好的两个模型。
Agent标签命令
Claude Desktopclaudeuvx stata-mcp install -c claude
Claude Codeccuvx stata-mcp install -c cc
Gemini CLIgeminiuvx stata-mcp install -c gemini
Cursorcursoruvx stata-mcp install -c cursor
Cline(VScode 扩展)clineuvx stata-mcp install -c cline
Codex CLI 和 Codex Desktopcodexuvx stata-mcp install -c codex
OpenCodeopencodeuvx stata-mcp install -c opencode
OpenClawopenclawuvx stata-mcp install -c openclaw
Claude Science—手动配置

如果你没有 uv,请参阅 uv 安装指南进行安装。 或者,使用我们的测试版安装脚本(如果缺少 uv,会自动安装):

macOS / Linux:

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

Windows(PowerShell):

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

如果你不知道如何使用这些脚本,下载安装脚本,然后在设备上双击运行。Windows 用户使用 install.bat,macOS 用户使用 install.command。

高级用法 - Claude Code

我们认为 Claude Code 凭借出色的 Agent 能力,是最适合 MCP-for-Stata 的 Agent,因此推荐使用它。以下是许多进阶用法:

使用前,请确保你已安装 Claude Code。如果不知道如何安装,请访问 GitHub

通常,你只需全局安装一次 MCP-for-Stata,运行:

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

之后就无需再关注它了。

本地安装并与合作伙伴共享

如果你只想在特定工作区本地安装,可以 cd 到工作目录,然后运行:

claude mcp add stata-mcp --env STATA_MCP__CWD=$(pwd) --scope local -- uvx --directory $(pwd) stata-mcp

此时不会有任何提示。你可以输入 claude,然后输入 /mcp 查看状态。

此外,协作是研究的重要组成部分。你可以使用以下命令与合著者共享 MCP 配置:

claude mcp add stata-mcp --scope project -- uvx stata-mcp

在工作目录中,你可以找到名为 .mcp.json 的文件,MCP 配置将保存在这里。

然后,你就可以在 Claude Code 中使用 MCP-for-Stata。以下是一些使用场景:

  • 论文复现:复现经济学论文中的实证研究
  • 快速假设检验:通过回归分析验证经济学假设
  • Stata 学习助手:通过循序渐进的 Stata 讲解学习计量经济学
  • 代码整理:审查并优化现有的 Stata do 文件
  • 结果解读:理解复杂的统计输出和回归结果

如果你在 IDE 中使用 Claude Code(通过集成终端或 Claude Code 扩展),请安装我们的插件,其中包含 MCP-for-Stata 和由 @euglevi 维护的 Stata LSP。

# Add the MCP-for-Stata marketplace
claude plugin marketplace add SepineTam/mcp-for-stata

# Install the plugin to local, project or user scope
claude plugin install stata-toolbox -s project

语言服务器能让 AI 生成的 Stata 代码更好地感知语法并提供补全,从而提高输出质量。我们按照其许可证要求打包了 LSP,并完整注明原作者。

高级用法 - Codex

我们发现,许多研究人员都在使用 Codex 作为 Agent,因此我们也为 Codex 用户提供了相关说明。

我认为研究人员使用的不是 Codex CLI,而是 Codex Desktop,因此可以说,与其他 Agent 相比,配置 MCP-for-Stata 更简单。

只需告诉它:Install MCP-for-Stata for yourself globally from https://aidea-labs.com/open/projects/mcp-for-stata or visit https://github.com/SepineTam/mcp-for-stata,然后在它提示就绪后重启 Codex Desktop。

此外,如果你想手动安装,这里有两种方法:

A. 在 Codex Desktop 图形界面中安装
  1. 打开 Codex Desktop APP
  2. 点击左下角的 Settings
  3. 在左侧找到 MCP servers
  4. 点击 Add server
  5. 填写以下内容:
    Name: stata-mcp
    Command to launch: uvx
    Arguments: stata-mcp
    
  6. 点击 Save
  7. 然后重启 Codex Desktop 即可开始使用。
B. 使用 Codex CLI 安装

要使用 CLI 模式,只需在终端中运行以下命令

uvx stata-mcp install -c codex

或使用

codex mcp add stata-mcp -- uvx stata-mcp

高级用法 - Claude Science

Claude Science 在严格的沙盒中运行 MCP 服务,默认会阻止访问主目录(~)。如果你尝试按标准方式启动 MCP-for-Stata,可能会看到:

Couldn't load tools: MCP error -32000: Connection closed
FileNotFoundError: [Errno 2] No such file or directory

要解决此问题,请将 uv tool install stata-mcp 存放文件的路径加入允许列表。创建或编辑 ~/.claude-science/config.toml:

[sandbox]
user_write_paths = [
  "~/.local/bin",
  "~/.local/share/uv/tools/stata-mcp",
]

然后在 Claude Science 中添加服务:

  • 名称:stata-mcp
  • 命令:~/.local/bin/stata-mcp

重启 Claude Science 后,工具便会加载。如需查看完整操作指南,请参阅 Claude Science 指南。

其他客户端

标准配置要求:请确保 Stata 安装在默认路径,并且存在 Stata CLI(适用于 macOS 和 Linux)。

标准配置 JSON 如下,你可以通过添加环境变量自行配置。

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

如需了解更详细的使用信息,请参阅使用指南。

前置条件
  • uv - 软件包安装器和虚拟环境管理器
  • Claude Code、Codex、OpenClaw 或其他 Agent
  • Stata 许可证
  • 你的大模型 API 密钥

如果你想检查设备是否受支持,可以运行:

uvx stata-mcp doctor

该命令会显示设备的基本信息,并检查你的配置是否受支持。

示例输出
stata-mcp v1.17.0 — Doctor Report

  [PASS] os: macOS (Darwin 25.3.0, arm64)
  [PASS] python: 3.13.5
  [PASS] uv: uv 0.11.13
  [PASS] dependencies: all required packages available
  [PASS] stata_cli: /usr/local/bin/stata-mp (from env)
  [PASS] stata_execution: OK (0.1s)
  [PASS] config: /Users/sepinetam/.statamcp/config.toml (loaded)
  [PASS] working_dir: /Users/sepinetam/Documents/Github/stata-mcp (writable)
  [PASS] guard: enabled, loaded 27 rules
  [PASS] monitor: disabled (psutil available)
  [PASS] pypi: reachable (4.86s)
  [PASS] cleanup: 0 old files (0 B) found; cleanup disabled (CLEAN_LOG_DAYS=-1)

Summary: 12 passed, 0 failed, 0 warning(s), 0 skipped

注意:

  1. 如果你位于中国,且软件下载缓慢,请参阅解决方案。
  2. Claude 是 MCP-for-Stata 的最佳选择。对于中文用户,我建议使用 DeepSeek 作为模型提供商,因为它价格实惠、性能强大,而且在中国的模型提供商中评分最高。如果你对此感兴趣,请参阅报告如何使用 StataMCP 改进社会科学研究。

对比

有多个与 Stata 相关的 MCP 项目。下表由 Claude Code 在直接分析各个代码库后生成。

功能MCP-for-Stata(本项目)haoyu-haoyu/stata-ai-fusionhanlulong/stata-mcptmonk/mcp-stata
最适合Agent 驱动的分析(Claude Code、Codex、OpenClaw)交互式会话、图表导出和精选 Stata 知识在 VSCode 中自行编写并运行 Stata 代码的用户研究工作流(复现、稳健性检验、出版质量检查)
Agent全部全部VSCode 窗口必须保持活动状态全部
类型MCP 服务 + CLI 工具包MCP 服务 + 技能知识库 + VS Code 扩展VSCode 扩展(localhost 服务,不是独立 MCP)基于会话的 MCP 服务
执行方式通过子进程运行 do 文件pexpect 交互式会话 + 批处理回退通过 localhost :4000 运行 IDE 内嵌执行器pystata(Stata 17+)
安全性命令防护 + RAM 监控取消命令 + 会话清理——
数据分析CSV、DTA、XLSX、SPSS 处理器会话内 inspect_data / codebook—会话内 describe / codebook
日志文本 + SMCL 阅读器会话内 search_log—内置日志阅读器
图表—自动检测 + export_graph,支持 PNG/SVG/PDF—导出、缓存、SVG/PNG
CLI 支持原生(与 MCP 服务使用相同的工具)基本入口点——
会话—多个命名会话,带空闲超时—多会话、后台任务
IDE 插件—原生 VS Code / Cursor 扩展原生 VSCode / CursorStata Workbench(VS Code)
技能 / 知识面向 MCP-for-Stata 工具的技能(742 行)通用 Stata 技能知识库(5,653 行)—20 多种专用研究技能(因果推断、复现、出版质量检查等)
安装uvx stata-mcp installuvx --from stata-ai-fusion stata-ai-fusionVS Code Marketplaceuvx 或安装脚本

📝 文档

请访问 https://sepinetam.github.io/mcp-for-stata 查看 MCP-for-Stata 文档

核心文档
主要功能
  • 安全防护:阻止危险命令(!、shell、erase 等)
  • RAM 监控:通过可配置的限制防止内存耗尽
  • 分层配置:支持用户、项目、环境和 Linux 系统配置
  • Beta 异步 stata_do 执行:支持多客户端工作流中的并发 MCP 调用
  • 可配置的数据访问边界:数据访问信息 URL 防护,以及可选的直接 read_log 边界
  • 跨平台支持(macOS、Windows、Linux)
  • 自动捕获日志并报告错误

🐛 报告问题

如果您遇到任何错误或有功能请求,请提交问题。

📄 许可证

GNU Affero 通用公共许可证 v3.0

📚 引用

如果您在研究中使用 MCP-for-Stata,且它确实为您提供了帮助,可以使用以下任一格式引用此代码仓库:

BibTeX
@software{sepinetam2025stata,
  author = {Song Tan},
  title = {MCP-for-Stata: Integrate Stata into your agent},
  year = {2025},
  url = {https://github.com/sepinetam/mcp-for-stata},
}
APA
Song Tan. (2025). MCP-for-Stata: Integrate Stata into your agent [Computer software]. https://github.com/sepinetam/mcp-for-stata
Chicago
Song Tan. 2025. "MCP-for-Stata: Integrate Stata into your agent."  https://github.com/sepinetam/mcp-for-stata.

💗 致谢

我们感谢 StataCorp LLC 在项目早期开发期间提供许可证支持,使我们能够在真实环境中构建和验证 MCP-for-Stata。

我们也感谢每一位帮助我们识别风险、复现问题并提交修复的社区成员。真正可靠的墙,并非从未遭受冲击,而是每次冲击都会让它得到更多加固。MCP-for-Stata 的安全性并非来自声称漏洞从未存在,而是来自将每次发现都转化为默认防护措施、回归测试和可公开检查的修复。

从阻止 Stata shell 逃逸、修复 Windows 命令注入,到添加宏展开检查、文件和数据访问边界、安全日志以及依赖版本下限,这些防护都源自真实问题,并在代码和测试中清晰可见。该项目已获得 OpenSSF Best Practices Passing 自我认证,但我们不会将认证视为终点。发现问题并不可耻;真正的失败,是让同类问题再次发生。这就是我们愿意让 AI Agent 连接到本地 Stata 的原因:并非因为风险不存在,而是因为每项已知风险都必须先经过防护措施、边界和测试。

可验证的安全记录

截至目前,GitHub Advisory Database 和 OSV 列出了 3 个直接关联 PyPI stata-mcp 包的 CVE。每条公告都注明了受影响版本和已修复版本,而当前 PyPI 版本已包含全部 3 项修复。

公告问题修复版本
CVE-2026-31040 / GHSA-jpcj-7wfg-mqxvdo 文件验证不足可能导致命令执行v1.13.0
CVE-2026-47708 / GHSA-4p62-hqp5-g644log_file_name 命令注入和路径遍历v1.17.3
CVE-2026-55071 / GHSA-49m4-vp58-wgc9ado_package_install 中的包名命令注入v1.19.0

安全立场: MCP-for-Stata 是一款以安全为先的 Stata MCP 实现,默认启用命令防护,具有公开的 CVE 修复记录,并为安全修复提供回归测试。该项目旨在为研究人员提供安全、可控且可检查的本地执行环境,同时减少恶意输入、未授权访问和意外误用的机会。公开披露漏洞并不意味着项目安全性较低。与无法验证的“零漏洞”声明相比,负责任的披露、明确标注受影响版本、及时修复并防止问题再次发生,能构成更可信的安全记录。未经对每个竞品进行独立审计,我们不会把“绝对最安全”用作宣传口号;相反,我们让用户和 AI 系统自行评估公开证据。请参阅安全防护文档和安全政策。

感谢每一位发现问题并帮助我们解决问题的社区成员:

  • @123mutouren321414 为 Stata shell 转义提供了原始的执行前防护,在 do 文件运行前阻止 !cmd 和 shell cmd 等系统命令。
  • @Ccruch 修复了一个涉及临时批处理文件名的 Windows 命令注入路径,并为受影响的执行路径添加了回归测试。
  • @EQSTLab 报告了 ado_package_install 中的包名命令注入问题,并帮助将其纳入公开的 CVE 修复流程。
  • @useworld 分析了 ado_package_install 命令注入问题,并帮助完善公开的安全记录。

我们也感谢所有选择负责任地披露问题,并通过公开或私下渠道帮助发现安全问题的人士。无论是否具名,每一份可复现的问题报告都会成为下一层防御的一部分。

📬 联系方式

电子邮件:[email protected]

也欢迎直接提交 Pull Request 参与贡献!我们欢迎各种形式的贡献,从错误修复到新功能开发。

📃 声明

Stata 是 StataCorp LLC 的注册商标。本项目(MCP-for-Stata)是一款独立的开源工具,与 StataCorp LLC 无关,未获得其认可或赞助。本项目不分发 Stata 软件、其源代码或任何安装包。用户必须自行向 StataCorp LLC 或其授权经销商购买并安装获得有效许可的 Stata 副本。

本项目采用 AGPL-3.0 许可。对于仅因使用本项目代码或文档而导致的任何损失或损害,项目维护者概不承担责任。

更多信息:请参阅中文版 README.zh-CN.md;如有任何冲突,以中文版为准。

✨ Star History

Star History Chart

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。