Stata MCP Server
在 Stata 统计软件和代码编辑器(如 VS Code 和 Cursor)之间架起一座桥梁,使用户能够直接从编辑器运行 Stata 命令,实时查看输出,并获得 AI 驱动的 Stata 编码辅助。
README
Stata MCP 扩展,适用于 VS Code 和 Cursor
此扩展使用模型上下文协议 (MCP) 为 Visual Studio Code 和 Cursor IDE 提供 Stata 集成。它允许您:
- 直接从 VS Code 或 Cursor 运行 Stata 命令
- 执行选定的代码或整个 .do 文件
- 在编辑器中实时查看 Stata 输出
- 通过 MCP 协议获得 AI 助手集成
- 在 Cursor IDE 中体验具有 Stata 上下文的增强型 AI 编码
功能
- 运行 Stata 命令: 直接从编辑器执行选定的代码或整个 .do 文件
- 语法高亮: 完全支持 Stata .do、.ado、.mata 和 .doh 文件
- AI 助手集成: 通过 MCP 提供上下文帮助和代码建议
- 跨平台: 适用于 Windows、macOS 和 Linux
- 自动 Stata 检测: 自动查找您的 Stata 安装
- 实时输出: 在编辑器中立即查看 Stata 结果
正在寻找其他 Stata 集成?
安装选项
选项 1:VS Code Marketplace
直接从 VS Code Marketplace 安装此扩展。
code --install-extension DeepEcon.stata-mcp
或者:
- 打开 VS Code
- 转到扩展视图 (Ctrl+Shift+X)
- 搜索 "Stata MCP"
- 点击 "安装"
选项 2:Cursor Extension Store
对于 Cursor 用户:
cursor --install-extension DeepEcon.stata-mcp
或者:
- 打开 Cursor
- 转到 Settings > Extensions > Browse Extensions
- 搜索 "Stata MCP"
- 点击 "安装"
选项 3:手动安装
如果您喜欢手动安装:
- 从 GitHub 发布页面 下载最新的
.vsix文件 - 对于 VS Code:
- 打开 VS Code
- 转到扩展视图
- 点击右上角的 "..." 菜单
- 选择 "Install from VSIX..."
- 导航到并选择下载的 .vsix 文件
- 对于 Cursor:
- 在终端中运行此命令:
cursor --install-extension path/to/stata-mcp-0.1.4.vsix
- 在终端中运行此命令:
注意: 首次安装或运行扩展程序可能需要一些时间,因为需要添加依赖项。请耐心等待它完成。此过程通常应少于 2 分钟。
扩展设置
您可以通过 VS Code 设置自定义扩展行为:
stata-vscode.stataPath: Stata 安装目录的路径stata-vscode.pythonPath: Python 解释器的路径。如果未设置,扩展程序将尝试使用系统 Python 或 Anaconda 基础环境stata-vscode.mcpServerHost: MCP 服务器的主机 (默认: localhost)stata-vscode.mcpServerPort: MCP 服务器的端口 (默认: 4000)stata-vscode.autoStartServer: 扩展激活时自动启动 MCP 服务器 (默认: true)stata-vscode.debugMode: 在输出面板中显示详细的调试信息 (默认: false)stata-vscode.forcePort: 强制 MCP 服务器使用指定的端口,即使该端口已被使用 (默认: false)stata-vscode.useUvForPython: 使用 uv 进行 Python 环境管理,更快更可靠 (默认: true)
Cursor MCP 配置
要在 Cursor 中启用与 Stata 的 AI 集成,您需要配置 MCP 连接:
-
创建或编辑 MCP 配置文件:
- 在 macOS/Linux 上:
~/.cursor/mcp.json - 在 Windows 上:
%USERPROFILE%\.cursor\mcp.json
- 在 macOS/Linux 上:
-
将以下配置添加到您的
mcp.json文件:
{
"mcpServers": {
"stata-mcp": {
"url": "http://localhost:4000/mcp",
"transport": "sse"
}
}
}
-
如果您的文件中已经有其他 MCP 配置,只需将 "stata-mcp" 部分添加到您现有的 "mcpServers" 对象中。
-
保存文件并重启 Cursor
此配置允许 Cursor 的 AI 与 Stata MCP 服务器通信,该服务器在使用扩展程序时自动启动。正确配置后,AI 助手可以:
- 与您的 Stata 会话交互
- 执行 Stata 命令
- 了解您的数据集和变量
- 提供更多上下文相关的编码帮助
- 帮助进行数据分析和可视化
要求
- 您的机器上安装了 Stata(建议使用 Stata 14 或更高版本)
- Python 3.11 或更高版本(如果您的现有 Python 版本低于 3.11,则会自动在本地安装)
Python 环境管理
该扩展现在包括高级 Python 环境管理:
- 版本检查: 检查您的系统上是否有 Python 3.11+
- 智能安装: 仅当您的现有 Python 版本低于 3.11 时才在本地安装 Python 3.11
- 隔离环境: 使用本地安装,不会与任何现有的 Python 安装冲突
- 依赖管理: 设置一个包含所有必需软件包的虚拟环境
- 跨平台支持: 适用于 Windows、macOS 和 Linux,并具有特定于平台的优化
- 快速软件包安装: 使用 uv,这是一种用 Rust 构建的 Python 打包工具,比 pip 快得多
这确保了扩展程序可以可靠地工作,而不管您现有的 Python 设置如何,并防止版本冲突。
关于 uv 集成
从 0.1.3 版本开始,此扩展集成了 uv,这是一种用 Rust 构建的快速 Python 软件包安装程序,可显着提高依赖项安装速度。
uv 的使用方式:
- 当缺少 Python 时: 如果未找到 Python 安装,则扩展程序使用 uv 创建虚拟环境并安装依赖项
- 当 Python < 3.11 时: 如果您的系统 Python 版本低于 3.11,则使用 uv 管理本地 Python 安装
- 对于依赖项管理: 所有 Python 软件包安装都使用 uv 以获得更快的安装时间
您可以使用 stata-vscode.useUvForPython 设置控制 uv 的使用 (默认: true)。
无需采取任何措施: 一切都会自动处理 - 扩展程序会根据需要下载并使用 uv,而无需您执行任何手动步骤。
性能提升: 使用 uv 进行软件包安装比使用 pip 快 10-100 倍,从而显着减少了初始设置时间。
用法
- 打开一个 Stata .do 文件
- 使用以下方法运行命令:
- 运行选定代码: 选择 Stata 代码并按
Ctrl+Shift+Enter(或 Mac 上的Cmd+Shift+Enter) - 运行文件: 按
Ctrl+Shift+D(或 Mac 上的Cmd+Shift+D)运行整个 .do 文件
- 运行选定代码: 选择 Stata 代码并按
- 在编辑器面板中查看输出
工作原理
该扩展程序创建一个本地 MCP 服务器,将您的编辑器连接到 Stata,从而实现:
- 命令执行: 运行 Stata 命令并立即查看结果
- 上下文感知: AI 助手了解您的 Stata 数据和命令
- 提高生产力: 获取智能代码建议和文档
故障排除
如果您在使用扩展程序时遇到问题,请按照以下步骤执行干净的重新安装:
Windows
-
关闭所有 VS Code/Cursor 窗口
-
打开任务管理器 (Ctrl+Shift+Esc):
- 转到 "进程" 选项卡
- 查找任何正在运行的 Python 或
uvicorn进程 - 选择每个进程并单击 "结束任务"
-
删除扩展文件夹:
- 按 Win+R,键入
%USERPROFILE%\.vscode\extensions并按 Enter - 删除文件夹
deepecon.stata-mcp-0.x.x(其中 x.x 是版本号) - 对于 Cursor:路径是
%USERPROFILE%\.cursor\extensions
- 按 Win+R,键入
-
手动安装 UV(如果需要):
# 以管理员身份打开 PowerShell 并运行: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" -
重新启动计算机(推荐但可选)
-
从 Marketplace 安装最新版本的扩展程序
macOS/Linux
-
关闭所有 VS Code/Cursor 窗口
-
终止任何正在运行的 Python 进程:
# 查找 Python 进程 ps aux | grep python # 终止它们(将 <PID> 替换为您找到的进程号) kill -9 <PID> -
删除扩展文件夹:
# 对于 VS Code: rm -rf ~/.vscode/extensions/deepecon.stata-mcp-0.x.x # 对于 Cursor: rm -rf ~/.cursor/extensions/deepecon.stata-mcp-0.x.x -
手动安装 UV(如果需要):
# 使用 curl: curl -LsSf https://astral.sh/uv/install.sh | sh # 或者使用 wget: wget -qO- https://astral.sh/uv/install.sh | sh -
重新启动您的终端或计算机(推荐但可选)
-
从 Marketplace 安装最新版本的扩展程序
其他故障排除提示
-
如果您看到有关找不到 Python 或 UV 的错误,请确保它们位于系统的 PATH 中:
- Windows:在 "开始" 菜单中键入 "环境变量" 并添加安装路径
- macOS/Linux:将路径添加到您的
~/.bashrc、~/.zshrc或等效文件中
-
如果您收到权限错误:
- Windows:以管理员身份运行 VS Code/Cursor
- macOS/Linux:使用
ls -la检查文件夹权限,并在需要时使用chmod修复
-
如果扩展程序仍然无法初始化:
- 打开 "输出" 面板(查看 -> 输出)
- 从下拉列表中选择 "Stata-MCP"
- 检查日志中是否有特定的错误消息
- 如果您看到与 Python 相关的错误,请尝试手动创建一个 Python 3.11 虚拟环境:
# Windows py -3.11 -m venv .venv # macOS/Linux python3.11 -m venv .venv
-
对于持续存在的问题:
- 检查您的系统的 Python 安装:
python --version或python3 --version - 验证 UV 安装:
uv --version - 确保您已安装 Python 3.11 或更高版本
- 检查您的防病毒软件是否阻止 Python 或 UV 可执行文件
- 检查您的系统的 Python 安装:
在 GitHub 上打开问题时,请提供:
- 来自 "输出" 面板的完整错误消息(查看 -> 输出 -> Stata-MCP)
- 您的操作系统和版本
- VS Code/Cursor 版本
- Python 版本 (
python --version) - UV 版本 (
uv --version) - 重现问题的步骤
- 任何相关的日志文件或屏幕截图
- 如果适用,您的 MCP 配置文件的内容
这些详细信息将帮助我们更快地识别和修复问题。您可以在以下位置打开问题:GitHub Issues
许可证
MIT
鸣谢
由 Lu Han 创建 由 DeepEcon 发布
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。