用于VS码、游标和反重力的Stata MCP扩展
     ](https://open-vsx.org/extension/DeepEcon/stata-mcp) ](https://github.com/hanlulong/stata-mcp/releases) ](https://github.com/hanlulong/stata-mcp/blob/main/LICENSE)
特性
- 运行Stata命令:直接从编辑器中执行所选内容或整个.do文件
- 实时输出:在编辑器中立即查看Stata结果
- 语法高亮:对Stata.do、.ado、.mata和.doh文件的完全语法支持
- AI助手集成:通过MCP提供上下文帮助和代码建议
- 跨平台:适用于Windows、macOS和Linux
- 多会话并行执行:使用AI编码工具同时运行多个Stata会话
演示
观看此扩展如何通过Cursor(或VS Code/Antigravity)和AI辅助增强您的Stata工作流程:
*演示提示:“编写并执行Stata do文件,确保在所有情况下都使用完整的绝对文件路径。加载自动数据集(webuse auto)并为每个变量生成汇总统计数据。从数据集中识别和提取关键特征,生成相关图,并将其保存在名为plots的文件夹中。进行回归分析以检查汽车价格的主要决定因素。将所有输出导出到LaTeX文件并编译它。自动解决任何编译错误,并确保LaTeX编译不超过10秒。所有代码错误都应作为工作流程的一部分进行识别和解决。”*
需求
- 您的机器上安装了Stata 17或更高版本
- 紫外线 包管理器(自动安装,必要时可以手动安装)
安装
注: 初始安装需要设置依赖关系,这可能需要2分钟才能完成。在此一次性设置过程中请耐心等待。所有后续运行将立即开始。
- 打开 VS Code, 光标,或 反重力
- 打开“扩展”视图(
Ctrl+Shift+X/Cmd+Shift+X) - 搜索 “国家MCP”
- 点击 安装
就是这样——扩展自动启动MCP服务器,并在状态栏中显示为 “国家”.
Other installation methods — CLI, .vsix file, Open VSX
从命令行
# VS Code
code --install-extension DeepEcon.stata-mcp
# Cursor
cursor --install-extension DeepEcon.stata-mcp
# Antigravity (installs from Open VSX Registry)
antigravity --install-extension DeepEcon.stata-mcp从本地.vsix文件
下载 stata-mcp-.vsix 从 发布页面,然后:
code --install-extension path/to/stata-mcp-0.5.2.vsix
cursor --install-extension path/to/stata-mcp-0.5.2.vsix
antigravity --install-extension path/to/stata-mcp-0.5.2.vsix…或在UI:扩展视图中→ … menu → 从VSIX安装… → 选择下载的文件。
注册表
- VS代码市场:
- 打开VSX(光标/反重力):
从0.1.8版本开始,该扩展集成了一个快速的Python包安装程序,名为 uv 营造环境。如果在您的系统上找不到uv,扩展程序将尝试自动安装它。
⚡ 连接您的AI助手
扩展运行后(状态栏显示 “国家”),本地MCP服务器正在侦听:
http://localhost:4000/mcp-streamable--流式HTTP(现代客户端首选)http://localhost:4000/mcp--SSE(传统回退)
快速健康检查: curl -s http://localhost:4000/health 应该打印 {"status":"ok",...}.
📋 一次提示设置
将下面的块粘贴到任何支持MCP的助手中-- 克劳德代码, OpenAI 代码专家, 光标AI, 副驾驶聊天等等。将框悬停在GitHub上,然后单击右上角的复制图标。
Set up the Stata MCP server for me. Endpoint: http://localhost:4000/mcp-streamable — setup guide: https://github.com/hanlulong/stata-mcp#detailed-configurations — if I already have a stata-mcp entry in my MCP config (e.g. using mcp-proxy), replace it rather than appending. When registration succeeds, tell me to restart the client so the stata_run_selection tool becomes available.助手阅读指南,检测它是哪个客户端,编写正确的配置(或运行正确的CLI命令),然后告诉您重新启动。这 stata_run_selection 工具在重新启动后变得可见——MCP工具列表在会话中期不会刷新。
更喜欢手动设置?扩展 详细配置 下面是每个客户的说明。
用法
运行Stata代码
- 打开 Stata .do 文件
- 使用以下命令运行命令:
- 运行选择:选择Stata code并按 Ctrl+Shift+Enter (或 Cmd+Shift+Enter 在Mac上),或单击编辑器工具栏中的播放按钮 - 运行文件:新闻 Ctrl+Shift+D (或 Cmd+Shift+D 在Mac上)运行整个.do文件,或单击工具栏中的“全部运行”按钮 - 停止执行:新闻 Ctrl+Shift+C (或 Cmd+Shift+C 在Mac上)停止正在运行的命令 - 重新启动会话:单击编辑器工具栏中的重新启动按钮或使用命令面板(“Stata:重新启动会话”)重置Stata会话。这将清除所有内存中的数据、全局变量和程序,相当于关闭并重新打开Stata - 交互模式:单击编辑器工具栏中的图形按钮,在交互式浏览器窗口中运行代码
- 在Stata输出面板中查看输出
光标/反重力用户注意事项:默认情况下,工具栏按钮可能隐藏。向他们展示: 1. 点击 ... 编辑器标题栏中的(三点)菜单 1. 选择 “配置图标可见性” 1. 启用要查看的Stata按钮(运行选择、运行文件、停止、查看数据、重新启动会话、交互)
数据阅读器
访问数据查看器以检查您的Stata数据集:
- 点击 查看数据 编辑器工具栏中的按钮(第四个按钮,表格图标)
- 以表格形式查看当前数据集
- 筛选数据使用状态
if查看数据子集的条件
- 例子: `price > 5000 & mpg Extension Settings
通过VS代码设置自定义扩展行为。通过以下方式访问这些设置:
- VS代码/光标/反重力:文件>首选项>设置(或
Ctrl+,/Cmd+,) - 搜索“Stata MCP”以查找所有扩展设置
核心设置
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.stataPath | Stata安装目录的路径 | 自动检测到 |
stata-vscode.stataEdition | 要使用的Stata版本(MP、SE、BE) | mp |
stata-vscode.autoStartServer | 扩展激活时自动启动MCP服务器 | true |
服务器设置
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.mcpServerHost | MCP服务器主机 | localhost |
stata-vscode.mcpServerPort | MCP服务器的端口 | 4000 |
stata-vscode.forcePort | 强制指定端口,即使它已在使用中 | false |
图形设置
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.autoDisplayGraphs | 由Stata命令生成时自动显示图形 | true |
stata-vscode.graphDisplayMethod | 选择如何显示图形: vscode (网络视图面板)或 browser (外部浏览器) | vscode |
日志文件设置
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.logFileLocation | Stata日志文件的位置: dofile (与.do文件位于同一目录), parent (.do文件的父目录), workspace (VS代码工作区根), extension (扩展目录中的日志文件夹),或 custom (用户指定的目录) | extension |
stata-vscode.customLogDirectory | Stata日志文件的自定义目录(仅在logFileLocation设置为时使用 custom) | 空 |
高级设置
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.runFileTimeout | “运行文件”操作超时(秒) | 600 (10分钟) |
stata-vscode.runSelectionTimeout | “运行选择”和交互式窗口命令的超时时间(秒) | 600 (10分钟) |
stata-vscode.debugMode | 在输出面板中显示详细的调试信息 | false |
工作目录设置
控制Stata在运行.do文件时使用的目录:
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.workingDirectory | 运行.do文件时的工作目录: dofile (与.do文件相同), parent (.do文件的父目录), workspace (VS代码工作区根), extension (扩展目录中的日志文件夹), custom (用户指定),或 none (不要更改目录) | dofile |
stata-vscode.customWorkingDirectory | 自定义工作目录路径(仅在workingDirectory设置为时使用 custom) | 空 |
例子: 如果你的项目结构是 project/code/analysis.do 您的do文件预计将从以下位置运行 project/,set workingDirectory 到 parent.
MCP输出设置
这些设置控制Stata输出如何通过MCP协议返回给AI助手(LLM),有助于减少令牌使用:
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.resultDisplayMode | MCP返回的输出模式: compact (过滤冗余输出以保存令牌)或 full (返回完整输出) | compact |
stata-vscode.maxOutputTokens | MCP输出的最大令牌数(0=无限制)。较大的输出将保存到文件中,并返回路径 | 10000 |
紧凑型模式过滤器:
- 循环代码回声(foreach/forvalues/while块)-仅保留实际输出
- 程序定义和Mata块
- 命令回声和线路延续(用于
run_file仅) - 详细信息,如“(进行了N次实际更改)”和“(生成了N个缺失值)”
多会话设置
启用具有隔离会话的并行Stata执行。每个会话都有自己的数据、变量和宏。
| 设置 | 说明 | 默认值 |
|---|---|---|
stata-vscode.multiSession | 启用并行Stata执行的多会话模式 | true |
stata-vscode.maxSessions | 最大并发会话数(1-100) | 100 |
stata-vscode.sessionTimeout | 会话空闲超时(秒)。在此不活动期后,会话将自动销毁 | 3600 |
注: 每个会话需要约200-300 MB的RAM用于Stata。检查您的Stata许可证以了解并发实例限制。
GitHub Copilot
支持从VS Code 1.102开始的MCP(模型上下文协议)。您可以将Stata MCP服务器连接到Copilot,以进行AI驱动的Stata开发。
配置
- 安装Stata MCP扩展 在VS代码中(参见 安装 上文)
- 启动Stata MCP服务器:当您打开安装了扩展的VS Code时,服务器应自动启动。通过检查状态栏(应显示“Stata”)验证它是否正在运行。
- 将Stata MCP服务器添加到Copilot:您可以按工作区或全局配置MCP服务器。
选项A:按工作区配置
创建一个 .vscode/mcp.json 工作区根目录中的文件:
{
"servers": {
"stata-mcp": {
"type": "http",
"url": "http://localhost:4000/mcp-streamable"
}
}
}选项B:全局配置(所有工作区)
1. 打开命令面板(Ctrl+Shift+P/Cmd+Shift+P) 1. 类型 “MCP:打开用户配置” 并选择它 1. 将Stata MCP服务器添加到 mcp.json 文件:
{
"servers": {
"stata-mcp": {
"type": "http",
"url": "http://localhost:4000/mcp-streamable"
}
}
}> 在没有Streamable HTTP支持的旧版VS Code上,使用 "type": "sse" 随着 http://localhost:4000/mcp 相反。
用户级别 mcp.json 文件位于:
- 视窗: %APPDATA%\Code\User\mcp.json - macOS: ~/Library/Application Support/Code/User/mcp.json - Linux: ~/.config/Code/User/mcp.json
- 重新加载VS代码 以应用该配置。
- GitHub Copilot现在可以访问Stata工具,可以帮助您:
- 编写并执行Stata命令 - 分析您的数据 - 生成可视化 - 调试Stata代码 - 创建统计报告
验证连接
- 打开GitHub副本聊天(Ctrl+Shift+I/Cmd+Shift+I)
- 类型
@mcp查看可用的MCP工具 - Stata工具(
stata_run_selection,stata_run_file)应该出现
故障排除
如果Copilot无法识别Stata MCP服务器:
- 验证VS代码版本1.102或更高版本
- 验证MCP服务器是否正在运行(状态栏应显示“Stata”)
- 检查一下
.vscode/mcp.json存在正确的内容 - 尝试重新启动VS代码
- 检查扩展输出面板(查看>输出>Stata MCP)是否有任何错误
- 确保在贵组织的副驾驶政策中启用MCP(如适用)
Claude Code
克劳德代码 是Anthropic的官方AI编码助手,支持VS Code、Cursor和Antigravity。按照以下步骤配置Stata MCP服务器:
安装
- 安装Stata MCP扩展 在VS代码、光标或反重力中(请参见 安装 上文)
- 启动Stata MCP服务器:当您打开安装了扩展的IDE时,服务器应自动启动。通过检查状态栏(应显示“Stata”)验证它是否正在运行。
配置
Stata MCP服务器运行后,配置Claude Code以连接到它:
- 打开终端或命令面板
- 运行以下命令以添加Stata MCP服务器:
claude mcp add --transport http stata-mcp http://localhost:4000/mcp-streamable --scope user> 较旧的克劳德代码版本(2026年之前)可能无法识别 --transport http。在这些上面,使用 --transport sse 随着 http://localhost:4000/mcp 相反。Claude Code现在将SSE视为传统——更喜欢 http 只要它得到支持。
- 重新启动IDE
- Claude Code现在可以访问Stata工具,可以帮助您:
- 编写并执行Stata命令 - 分析您的数据 - 生成可视化 - 调试Stata代码 - 创建统计报告
验证连接
要验证Claude Code是否正确连接到Stata MCP服务器:
- 打开Stata.do文件或创建一个新文件
- 请Claude Code帮助完成Stata任务(例如,“加载自动数据集并显示摘要统计信息”)
- Claude Code应该能够执行Stata命令并显示结果
故障排除
如果Claude Code无法识别Stata MCP服务器:
- 验证MCP服务器是否正在运行(状态栏应显示“Stata”)
- 检查你是否运行了
claude mcp add带有正确URL的命令 - 尝试重新启动IDE
- 检查扩展输出面板(查看>输出>Stata MCP)是否有任何错误
- 确保没有端口冲突(默认端口为4000)
Claude Desktop
克劳德桌面版 连接到此扩展所公开的远程MCP服务器。确保安装了Stata MCP扩展,并且其状态栏显示 “国家” 在配置Claude Desktop之前。
选项A(推荐):添加为自定义连接器
- 打开克劳德桌面→ 设置 → 连接器 → 添加自定义连接器
- 姓名:
Stata MCP - 网址:
http://localhost:4000/mcp-streamable - 保存并重新启动Claude Desktop
无需包装器,无需编辑配置文件,无需安装Python/Node。这是Anthropic目前推荐的将远程MCP服务器添加到Claude Desktop的方法。
选项B:带stdio包装器的JSON配置 (如果你喜欢编辑 claude_desktop_config.json)
Anthropic的JSON配置还不能直接接受远程URL——您仍然需要一个本地stdio包装器。最简单的是 mcp-remote,如果您有Node,则为零安装:
- 打开配置文件:
- macOS: ~/Library/Application Support/Claude Desktop/claude_desktop_config.json - 视窗: %APPDATA%\Claude Desktop\claude_desktop_config.json
- 添加此块(与任何现有块合并
mcpServers对象):
{
"mcpServers": {
"stata-mcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:4000/mcp-streamable"]
}
}
}- 重新启动克劳德桌面。Stata工具将出现在可用工具列表中。
OpenAI Codex
您可以将此扩展与 OpenAI 代码专家 --CLI和每个IDE扩展共享相同的内容 ~/.codex/config.tomlCodex CLI 0.46.0+ (2025年10月)原生支持通过HTTP的MCP服务器,因此不需要包装器。从命令行驱动它:
codex mcp add stata-mcp --url http://localhost:4000/mcp-streamable或者手动将此块附加到 ~/.codex/config.toml (或 %USERPROFILE%\.codex\config.toml 在Windows上):
[mcp_servers.stata-mcp]
url = "http://localhost:4000/mcp-streamable"从旧安装升级? 如果存在[mcp_servers.stata-mcp]区块使用command = "mcp-proxy"(或command = "uvx"+mcp-proxy在args中), 删除该块 在添加上述密钥之前,TOML禁止重复密钥,如果两者都存在,Codex将自动跳过服务器。
然后重新启动Codex-- stata_run_selection 和 stata_run_file 工具将会出现。跑 codex mcp list 以确认服务器已注册。
运输注意事项。 食品法典委员会只说MCP的 *可流式传输的HTTP* 传输(单端点/mcp-streamable).扩展的遗留SSE端点(/mcp)适用于像GitHub Copilot这样的老客户——不要指向Codex。
Codex配置故障排除
如果Codex没有看到Stata工具:
- 验证MCP服务器是否正在运行(状态栏显示“Stata”)--尝试
curl -s http://localhost:4000/health - 检查
codex --version--确保你在 0.46.0 或更新。旧的Codex版本需要mcp-proxy包装(见下面的注释)。 - 验证配置文件是否存在于
~/.codex/config.toml并包含确切的[mcp_servers.stata-mcp]上方街区 - 跑
codex mcp list—stata-mcp应显示为已注册 - 配置更改后重新启动Codex(CLI或IDE)
- 检查扩展输出面板(视图→ 输出→ *Stata*)对于任何服务器端错误
- 确保没有端口冲突(默认值为4000——通过更改
stata-vscode.mcpServerPort如果需要)
Stuck on Codex < 0.46.0?
如果无法升级,请使用 mcp-proxy 作为SSE端点周围的stdio包装器:
# Install uv first if needed:
curl -LsSf https://astral.sh/uv/install.sh | sh # macOS/Linux
# Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"[mcp_servers.stata-mcp]
command = "uvx"
args = ["mcp-proxy", "http://localhost:4000/mcp"]Cline
- 打开你的 克莱恩 MCP设置文件:
- macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - 视窗: %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- 添加Stata MCP服务器配置:
{
"mcpServers": {
"stata-mcp": {
"url": "http://localhost:4000/mcp-streamable"
}
}
}Cline自动检测URL的传输——否 transport 需要钥匙。指向 http://localhost:4000/mcp 如果您因任何原因需要SSE。
- 如果文件已经包含其他MCP服务器,只需添加
"stata-mcp"进入现有"mcpServers"对象。
- 保存文件并重新启动VS Code。
您还可以通过VS代码设置配置Cline:
"cline.mcpSettings": {
"stata-mcp": {
"url": "http://localhost:4000/mcp-streamable"
}
}临床配置故障排除
如果Cline无法识别Stata MCP服务器:
- 验证MCP服务器是否正在运行(状态栏应显示“Stata”)
- 检查配置文件是否存在内容正确的文件
- 尝试重新启动VS代码
- 检查扩展输出面板(查看>输出>Stata MCP)是否有任何错误
Cursor
扩展自动配置 光标 MCP集成。要验证它是否正常工作:
- 打开的游标
- 按
Ctrl+Shift+P(或Cmd+Shift+P在Mac上)打开命令面板 - 键入“Stata:测试MCP服务器连接”,然后按Enter键
- 如果服务器连接正确,您应该看到一条成功消息
光标配置文件路径
游标从以下位置读取用户级MCP配置:
- macOS/Linux:
~/.cursor/mcp.json - 视窗:
%USERPROFILE%\.cursor\mcp.json
工作区级别配置(覆盖该项目的用户级别)进入 .cursor/mcp.json 在工作空间根目录下。
手动光标配置
如果需要手动配置光标MCP:
- 创建或编辑MCP配置文件:
- macOS/Linux: ~/.cursor/mcp.json - 视窗: %USERPROFILE%\.cursor\mcp.json
- 添加Stata MCP服务器配置:
{
"mcpServers": {
"stata-mcp": {
"url": "http://localhost:4000/mcp-streamable"
}
}
}游标自动检测URL的传输--否 transport 需要钥匙。它首先尝试Streamable HTTP,如果服务器通告它,则回退到SSE。
- 如果文件已经包含其他MCP服务器,只需添加
"stata-mcp"进入现有"mcpServers"对象。
- 保存文件并重新启动Cursor。
光标配置故障排除
如果Cursor无法识别Stata MCP服务器:
- 验证MCP服务器是否正在运行
- 检查配置文件是否存在内容正确的文件
- 尝试重新启动Cursor
- 确保与其他正在运行的应用程序没有端口冲突
Python Environment Management
此扩展使用 紫外线,一个用Rust构建的快速Python包安装程序,用于管理Python依赖关系。主要特点:
- 自动Python设置和依赖关系管理
- 创建不会与系统冲突的隔离环境
- 适用于Windows、macOS和Linux
- 比传统pip安装快10-100倍
如果在安装过程中遇到任何与UV相关的错误:
- 手动安装UV:
# Windows (PowerShell as Administrator)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh- 跟随 故障排除指南中的干净重新安装步骤 重新安装扩展程序。
故障排除
遇到麻烦了?完整的故障排除指南——Windows/MOSC/Linux的干净重新安装步骤、常见的Python和UV问题、Stata版本不匹配以及打开GitHub问题时应包含的内容——都存在于 docs/故障排除.md.
明星历史

许可证
麻省理工学院
学分
由陆汉创作, 发行 OpenEcon.ai
