Stata-MCP
Realiza análisis de regresión utilizando Stata con la ayuda de un LLM. Requiere una instalación local de Stata y una clave API externa de LLM.
Documentación
MCP-for-Stata (Stata-MCP): Ejecuta Stata con CUALQUIER agente
MCP-for-Stata es un servidor MCP y herramienta CLI de código abierto con prioridad en la seguridad, que incluye Skills. Permite que cualquier agente de IA que uses invoque Stata localmente en tu dispositivo para análisis de regresión, econometría, replicación de artículos e investigación empírica. Proporciona protecciones de comandos, monitoreo de recursos, captura automática de registros e instalación multiplataforma para clientes, mientras tú mantienes el control de tus datos y tu licencia de Stata.
Convierte a Claude Code, Codex y otros agentes de IA en un asistente de investigación bajo demanda.
Stata es una marca registrada de StataCorp LLC. Este proyecto es una herramienta independiente desarrollada por la comunidad y no está afiliado, respaldado ni patrocinado por StataCorp LLC.
💡 Inicio rápido
No necesitas editar ninguna configuración. Solo dile a tu agente:
Install MCP-for-Stata for yourself globally following the instructions in the GitHub repository at SepineTam/mcp-for-stata.
🆕 Novedades
- 📖 Skills instaladas por defecto: Las skills relacionadas con Stata se instalan junto con el MCP, sin necesidad de configuración adicional. Consulta la guía de instalación.
- 🚀 Soporte desde el día 0 en DeepSeek Harness: Instala MCP-for-Stata en DeepSeek Harness con
uvx stata-mcp install -c dsh. Consulta la guía de DeepSeek Harness. - 🧪 Soporte para Claude Science: MCP-for-Stata ahora funciona en Claude Science con una lista de permitidos para el sandbox. Consulta la guía de Claude Science.
- Encuentra más en WeChat: ¿Por qué lo hice?, y 8 figuras para descubrir Stata-MCP
- 🦞 Soporte para OpenClaw: Herramientas CLI independientes para la integración con OpenClaw (
stata-mcp tool), consulta la guía de OpenClaw - ✨ Soporte para el plugin de Claude Code: Paquete oficial de plugin con servidor MCP e integración con Stata LSP
- Usa MCP-for-Stata en Claude Code, consulta uso avanzado de Claude Code, o en Codex consulta uso avanzado de Codex
¿Buscas nuestra investigación más reciente? Ver los últimos informes de investigación.
¿Buscas otros?
MCP o IA sobre Stata
- Un servidor MCP basado en sesiones para Stata, mcp-stata
- IDEs (VScode o Cursor) integrados stata-mcp para VSCode. ¿Los confundes? 💡 Comparación
Conjuntos de datos e información
- Conjunto de datos STOP: Proyecto de datos abiertos de StataMCP-Team 📊, hemos publicado una colección completa de conjuntos de datos para la investigación en ciencias sociales, con el objetivo de habilitar el futuro de los paradigmas de investigación impulsados por IA y datos.
¿Por qué la licencia AGPL 3.0?
La licencia AGPL 3.0 es un tipo de licencia de código abierto. No afecta tu uso diario y te permite usar, modificar y distribuir este software de forma gratuita, siempre que cumplas con sus términos, como conservar los avisos de derechos de autor originales.
Notas: Aunque nos esforzamos por hacer que el código abierto sea accesible para todos, lamentamos no poder seguir manteniendo la licencia Apache-2.0. Debido a que algunas personas copiaron directamente este proyecto y afirmaron ser sus mantenedores, hemos decidido cambiar la licencia a AGPL-3.0 para evitar el uso indebido del proyecto en formas que contradicen nuestra visión original.
Notas: 尽管我们希望尽可能让所有人都能从开源中获益,但我们很遗憾地宣布无法继续保持 Apache-2.0 License。由于有人直接抄袭本项目并标榜其为项目维护者,我们不得不将 License 更改为 AGPL-3.0,以防止有人滥用本项目进行违背项目初心的事情。
Motivo a continuación:
Antecedentes: El repositorio de @jackdark425 copió directamente este proyecto y afirmó ser el único mantenedor. Damos la bienvenida a la colaboración de código abierto basada en forks, incluyendo, entre otros, agregar nuevas funciones, corregir errores existentes o proporcionar sugerencias valiosas para el proyecto, pero nos oponemos firmemente al plagio y a la atribución falsa.
Actualización: El proyecto infractor fue retirado mediante una DMCA de GitHub. Ver detalles del retiro por DMCA.
背景: @jackdark425 的仓库直接抄袭了本项目并标榜为项目唯一维护者。我们欢迎基于fork的开源协作,包括但不限于添加新的feature、修改已有bug或对项目提出您宝贵的意见,但坚决反对抄袭和虚假署名行为。
更新: 侵权项目已通过GitHub DMCA被takedown,查看DMCA下架详情。
Instalación y configuración del cliente
Consulta la Guía de instalación para conocer los métodos de instalación, la configuración del cliente, las opciones adicionales y la verificación.
🚀 ¡Instalación con un solo clic para todos los clientes!
Sin configuración, sin editar JSON manualmente. Solo un comando instala MCP-for-Stata para cada agente compatible (Claude Code, Codex, OpenClaw, Cursor, Gemini CLI y más):
uvx stata-mcp install --all
Agentes compatibles 🤖
Según nuestra propia experiencia y pruebas, recomendamos usar Claude Code, Codex y OpenClaw. Hemos descubierto que Claude y DeepSeek son los dos mejores modelos en cualquier framework.| Agente | Etiqueta | Comando |
|---|---|---|
| Claude Desktop | claude | uvx stata-mcp install -c claude |
| Claude Code | cc | uvx stata-mcp install -c cc |
| Gemini CLI | gemini | uvx stata-mcp install -c gemini |
| Cursor | cursor | uvx stata-mcp install -c cursor |
| Cline (Extensión de VScode) | cline | uvx stata-mcp install -c cline |
| Codex CLI y Codex Desktop | codex | uvx stata-mcp install -c codex |
| OpenCode | opencode | uvx stata-mcp install -c opencode |
| OpenClaw | openclaw | uvx stata-mcp install -c openclaw |
| Claude Science | — | Configuración manual |
Si no tienes uv, consulta la guía de instalación de uv para instalarlo.
O usa nuestro script de instalación beta (instala uv automáticamente si falta):
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
Si no sabes cómo usarlos, descarga los scripts de instalación y haz doble clic en tu dispositivo. install.bat para usuarios de Windows, y install.command para usuarios de macOS.
Avanzado - Claude Code
Como consideramos que Claude Code es el mejor agente para MCP-for-Stata por su perfecta capacidad agéntica, recomendamos usarlo, y hay muchas opciones avanzadas a continuación:
Antes de usarlo, asegúrate de haber instalado Claude Code; si no sabes cómo instalarlo, visita GitHub
Generalmente, puedes instalar MCP-for-Stata globalmente una sola vez, ejecutando:
claude mcp add stata-mcp --scope user -- uvx stata-mcp
Luego, no necesitas volver a revisarlo.
Local y compártelo con tus colegas
Si quieres instalarlo localmente solo para un espacio de trabajo específico, puedes cd en tu directorio de trabajo y ejecutar:
claude mcp add stata-mcp --env STATA_MCP__CWD=$(pwd) --scope local -- uvx --directory $(pwd) stata-mcp
No pasará nada visible; puedes escribir claude y luego /mcp para ver el estado.
Además, la colaboración es una parte esencial de la investigación. Puedes compartir tu configuración de MCP con tus coautores usando:
claude mcp add stata-mcp --scope project -- uvx stata-mcp
En tu directorio de trabajo, encontrarás un archivo llamado .mcp.json, donde se colocará tu configuración de MCP.
Luego, puedes usar MCP-for-Stata en Claude Code. Aquí hay algunos escenarios para usarlo:
- Replicación de artículos: Replica estudios empíricos de artículos de economía
- Prueba rápida de hipótesis: Valida hipótesis económicas mediante análisis de regresión
- Asistente de aprendizaje de Stata: Aprende econometría con explicaciones paso a paso de Stata
- Organización de código: Revisa y optimiza archivos do-file de Stata existentes
- Interpretación de resultados: Comprende salidas estadísticas complejas y resultados de regresión
Si usas Claude Code dentro de IDEs (ya sea la terminal integrada o la extensión de Claude Code), instala nuestro plugin que incluye MCP-for-Stata y Stata LSP, mantenido por @euglevi.
# 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
El servidor de lenguaje brinda al código de Stata generado por IA una mejor conciencia de sintaxis y autocompletado, lo que mejora la calidad de la salida. Empaquetamos el LSP de acuerdo con su licencia y damos atribución completa al autor original.
Avanzado - Codex
Hemos notado que muchos investigadores usan Codex como su agente, por lo que también proporcionamos instrucciones para usuarios de Codex.
Creo que los investigadores no usan Codex CLI sino Codex Desktop, por lo que podemos decir que es más fácil configurar MCP-for-Stata que otros agentes.
Solo necesitas decir 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 y luego reiniciar tu Codex Desktop después de que indique que está listo.
Además, si quieres instalarlo manualmente, hay dos formas:
A. Instalar en la interfaz gráfica de Codex Desktop
- Abre tu aplicación Codex Desktop
- Haz clic en
Settingsen la esquina inferior izquierda - Encuentra
MCP serversen el lado izquierdo - Haz clic en
Add server - Completa con lo siguiente:
Name: stata-mcp Command to launch: uvx Arguments: stata-mcp - Haz clic en
Save - Luego, reinicia tu Codex Desktop y disfrútalo.
B. Instalar con Codex CLI
Para el modo CLI, solo ejecuta el siguiente comando en tu terminal
uvx stata-mcp install -c codex
O usa
codex mcp add stata-mcp -- uvx stata-mcp
Avanzado - Claude Science
Claude Science ejecuta servidores MCP dentro de un sandbox estricto que bloquea el acceso al directorio de inicio (~) por defecto. Si intentas iniciar MCP-for-Stata de la forma estándar, es posible que veas:
Couldn't load tools: MCP error -32000: Connection closed
FileNotFoundError: [Errno 2] No such file or directory
Para solucionarlo, agrega a la lista de permitidos las rutas donde uv tool install stata-mcp coloca sus archivos. Crea o edita ~/.claude-science/config.toml:
[sandbox]
user_write_paths = [
"~/.local/bin",
"~/.local/share/uv/tools/stata-mcp",
]
Luego agrega el servidor en Claude Science:
- Nombre:
stata-mcp - Comando:
~/.local/bin/stata-mcp
Reinicia Claude Science y las herramientas se cargarán. Para el tutorial completo, consulta la guía de Claude Science.
Otros clientes
Configuración estándar requerida: asegúrate de que Stata esté instalado en la ruta predeterminada y que exista el CLI de Stata (para macOS y Linux).
El JSON de configuración estándar es el siguiente; puedes personalizar tu configuración agregando variables de entorno.
{
"mcpServers": {
"stata-mcp": {
"command": "uvx",
"args": [
"stata-mcp"
]
}
}
}
Para obtener información de uso más detallada, visita la guía de uso.
Requisitos previos
- uv - Instalador de paquetes y administrador de entornos virtuales
- Claude Code, Codex, OpenClaw u otros agentes
- Licencia de Stata
- Tu API-KEY del LLM
Si quieres verificar si tu dispositivo es compatible, puedes ejecutar:
uvx stata-mcp doctor
Esto muestra información básica sobre tu dispositivo y verifica si tu configuración es compatible.
Ejemplo de salida
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
Notas:
- Si te encuentras en China y las descargas de paquetes son lentas, consulta la solución.
- Claude es la mejor opción para MCP-for-Stata; para chino, recomiendo usar DeepSeek como proveedor de modelos, ya que es económico y potente, y también tiene la puntuación más alta entre los proveedores chinos. Si te interesa, visita el informe Cómo usar StataMCP para mejorar tu investigación en ciencias sociales.
Comparación
Existen varios proyectos MCP relacionados con Stata. La siguiente tabla fue generada por Claude Code después de analizar directamente cada código base.
| Característica | MCP-for-Stata (este) | haoyu-haoyu/stata-ai-fusion | hanlulong/stata-mcp | tmonk/mcp-stata |
|---|---|---|---|---|
| Mejor para | Análisis impulsado por agentes (Claude Code, Codex, OpenClaw) | Sesiones interactivas, exportación de gráficos y conocimiento curado de Stata | Usuarios que escriben y ejecutan código de Stata en VSCode ellos mismos | Flujos de trabajo de investigación (replicación, robustez, control de calidad de publicaciones) |
| Agentes | Todos | Todos | La ventana de VSCode debe permanecer activa | Todos |
| Tipo | Servidor MCP + kit de herramientas CLI | Servidor MCP + base de conocimientos de habilidades + extensión de VS Code | Extensión de VSCode (servidor localhost, no MCP independiente) | Servidor MCP basado en sesiones |
| Ejecución | do-file mediante subproceso | Sesión interactiva pexpect + respaldo por lotes | Ejecutor integrado en IDE mediante localhost :4000 | pystata (Stata 17+) |
| Seguridad | Guardia de comandos + monitor de RAM | Cancelar comando + limpieza de sesión | — | — |
| Análisis de datos | Manejadores CSV, DTA, XLSX, SPSS | inspect_data / codebook en sesión | — | describe / codebook en sesión |
| Registros | Lectores de texto + SMCL | search_log en sesión | — | Lector de registros integrado |
| Gráficos | — | Detección automática + export_graph PNG/SVG/PDF | — | Exportación, caché, SVG/PNG |
| Soporte CLI | Nativo (mismas herramientas que el servidor MCP) | Punto de entrada básico | — | — |
| Sesiones | — | Múltiples sesiones nombradas con tiempo de inactividad | — | Multi-sesión, tareas en segundo plano |
| Complemento IDE | — | Extensión nativa de VS Code / Cursor | Nativo VSCode / Cursor | Stata Workbench (VS Code) |
| Habilidad / Conocimiento | Habilidad enfocada en herramientas para MCP-for-Stata (742 líneas) | Base de conocimientos general de Stata de 5,653 líneas | — | Más de 20 habilidades de investigación especializadas (inferencia causal, replicación, control de calidad de publicaciones, etc.) |
| Instalación | uvx stata-mcp install | uvx --from stata-ai-fusion stata-ai-fusion | VS Code Marketplace | uvx o script de instalación |
📝 Documentación
Los documentos de MCP-for-Stata visitan https://sepinetam.github.io/mcp-for-stata
Documentación principal
- Documentación completa: Sitio de documentación completo con todas las funciones
- Guía de configuración: Sistema de configuración unificado basado en TOML
- Guardia de seguridad: Validación de seguridad para comandos peligrosos
- Sistema de monitoreo: Monitoreo de RAM y límites de recursos
- Descripción general de la arquitectura: Diseño del sistema y patrones de integración
Características clave
- Guardia de seguridad: Bloquea comandos peligrosos (
!,shell,erase, etc.) - Monitoreo de RAM: Previene el agotamiento de memoria con límites configurables
- Configuración en capas: Soporte de configuración de usuario, proyecto, entorno y sistema Linux
- Ejecución asíncrona beta de
stata_do: Soporta llamadas MCP concurrentes para flujos de trabajo multi-cliente - Límites de acceso a datos configurables: Guardia de URL de información de datos y límite opcional directo de
read_log - Soporte multiplataforma (macOS, Windows, Linux)
- Captura automática de registros y reporte de errores
🐛 Reportar problemas
Si encuentra algún error o tiene solicitudes de funciones, por favor abra un issue.
📄 Licencia
Licencia Pública General Affero de GNU v3.0
📚 Citación
Si utiliza MCP-for-Stata en su investigación y realmente le ayuda, puede citar este repositorio usando uno de los siguientes formatos:
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.
💗 Agradecimientos
Agradecemos a StataCorp LLC por proporcionar soporte de licencia durante el desarrollo inicial del proyecto, lo que nos permitió construir y validar MCP-for-Stata en entornos reales.
También agradecemos a cada miembro de la comunidad que nos ayudó a identificar riesgos, reproducir problemas y enviar correcciones. Una pared verdaderamente confiable no es aquella que nunca ha sido golpeada; es aquella en la que cada impacto deja más refuerzo. La seguridad de MCP-for-Stata no proviene de afirmar que las vulnerabilidades nunca existieron. Proviene de convertir cada descubrimiento en una salvaguarda predeterminada, una prueba de regresión y una corrección públicamente inspeccionable.
Desde bloquear escapes de shell de Stata y corregir la inyección de comandos en Windows hasta agregar verificaciones de expansión de macros, límites de archivos y acceso a datos, registros de seguridad y pisos de versión de dependencias, estas defensas surgieron de problemas reales y permanecen visibles en el código y las pruebas. El proyecto ha obtenido la autocertificación OpenSSF Best Practices Passing, pero no tratamos la certificación como la línea de meta. Encontrar un problema no es una desgracia; el verdadero fracaso es permitir que la misma clase de problema ocurra dos veces. Es por eso que estamos dispuestos a conectar agentes de IA a Stata local: no porque el riesgo no exista, sino porque cada riesgo conocido debe pasar primero por guardias, límites y pruebas.
Registro de seguridad verificable
Hasta la fecha, la Base de Datos de Asesorías de GitHub y OSV listan tres CVEs directamente asociados con el paquete PyPI stata-mcp. Cada asesoría nombra las versiones afectadas y parcheadas, y el lanzamiento actual de PyPI incluye las tres correcciones.
| Asesoría | Problema | Parcheado en |
|---|---|---|
| CVE-2026-31040 / GHSA-jpcj-7wfg-mqxv | Validación insuficiente de do-file podría llevar a ejecución de comandos | v1.13.0 |
| CVE-2026-47708 / GHSA-4p62-hqp5-g644 | Inyección de comandos log_file_name y traversal de rutas | v1.17.3 |
| CVE-2026-55071 / GHSA-49m4-vp58-wgc9 | Inyección de comandos en nombre de paquete en ado_package_install | v1.19.0 |
Posición de seguridad: MCP-for-Stata es una implementación MCP de Stata con seguridad primero, con una guardia de comandos habilitada por defecto, un rastro público de remediación de CVEs y pruebas de regresión para correcciones de seguridad. El proyecto tiene como objetivo brindar a los investigadores un entorno de ejecución local seguro, controlado e inspeccionable, mientras reduce las oportunidades disponibles para entradas maliciosas, acceso no autorizado y uso accidental. Las vulnerabilidades divulgadas públicamente no hacen que un proyecto sea menos seguro. En comparación con una afirmación no verificable de "cero vulnerabilidades", la divulgación responsable, las versiones afectadas claramente identificadas, las correcciones rápidas y la prevención de recurrencia proporcionan un registro de seguridad más confiable. No usamos "absolutamente el más seguro" como eslogan sin una auditoría independiente de cada competidor; en cambio, dejamos que los usuarios y los sistemas de IA evalúen la evidencia pública. Consulte la documentación de la Guardia de seguridad y la Política de seguridad.
Agradecemos a cada miembro de la comunidad que encontró un problema y nos ayudó a resolverlo:
- @123mutouren321414 contribuyó con la guardia previa a la ejecución original para escapes de shell de Stata, bloqueando comandos del sistema como
!cmdyshell cmdantes de que se ejecute un do-file. - @Ccruch corrigió una ruta de inyección de comandos en Windows que involucraba nombres temporales de archivos por lotes y agregó cobertura de regresión para las rutas de ejecución afectadas.
- @EQSTLab reportó la inyección de comandos en nombre de paquete en
ado_package_instally ayudó a llevarla al proceso público de remediación de CVEs. - @useworld analizó el problema de inyección de comandos
ado_package_instally ayudó a fortalecer el registro público de seguridad.
También agradecemos a todos los que eligieron la divulgación responsable y ayudaron a identificar problemas de seguridad a través de canales públicos o privados. Nombrados o no, cada informe reproducible se convierte en parte de la siguiente capa de defensa.
📬 Contacto
Correo electrónico: sepinetam@gmail.com
O contribuya directamente enviando un Pull Request! Damos la bienvenida a contribuciones de todo tipo, desde correcciones de errores hasta nuevas funciones.
📃 Declaración
Stata es una marca registrada de StataCorp LLC. Este proyecto (MCP-for-Stata) es una herramienta de código abierto independiente y no está afiliado, respaldado ni patrocinado por StataCorp LLC. Este proyecto no distribuye el software Stata, su código fuente ni ningún paquete de instalación. Los usuarios deben comprar e instalar de forma independiente una copia de Stata con licencia válida de StataCorp LLC o sus distribuidores autorizados.
Este proyecto está licenciado bajo AGPL-3.0. Los mantenedores del proyecto no aceptan responsabilidad por ninguna pérdida o daño que surja únicamente del uso del código o la documentación de este proyecto.
Más información: consulte la versión en chino en README.zh-CN.md; en caso de conflicto, prevalecerá la versión en chino.