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.

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


💡 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

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.
AgenteEtiquetaComando
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 (Extensión de VScode)clineuvx stata-mcp install -c cline
Codex CLI y Codex Desktopcodexuvx stata-mcp install -c codex
OpenCodeopencodeuvx stata-mcp install -c opencode
OpenClawopenclawuvx 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

  1. Abre tu aplicación Codex Desktop
  2. Haz clic en Settings en la esquina inferior izquierda
  3. Encuentra MCP servers en el lado izquierdo
  4. Haz clic en Add server
  5. Completa con lo siguiente:
    Name: stata-mcp
    Command to launch: uvx
    Arguments: stata-mcp
    
  6. Haz clic en Save
  7. 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:

  1. Si te encuentras en China y las descargas de paquetes son lentas, consulta la solución.
  2. 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ísticaMCP-for-Stata (este)haoyu-haoyu/stata-ai-fusionhanlulong/stata-mcptmonk/mcp-stata
Mejor paraAnálisis impulsado por agentes (Claude Code, Codex, OpenClaw)Sesiones interactivas, exportación de gráficos y conocimiento curado de StataUsuarios que escriben y ejecutan código de Stata en VSCode ellos mismosFlujos de trabajo de investigación (replicación, robustez, control de calidad de publicaciones)
AgentesTodosTodosLa ventana de VSCode debe permanecer activaTodos
TipoServidor MCP + kit de herramientas CLIServidor MCP + base de conocimientos de habilidades + extensión de VS CodeExtensión de VSCode (servidor localhost, no MCP independiente)Servidor MCP basado en sesiones
Ejecucióndo-file mediante subprocesoSesión interactiva pexpect + respaldo por lotesEjecutor integrado en IDE mediante localhost :4000pystata (Stata 17+)
SeguridadGuardia de comandos + monitor de RAMCancelar comando + limpieza de sesión——
Análisis de datosManejadores CSV, DTA, XLSX, SPSSinspect_data / codebook en sesión—describe / codebook en sesión
RegistrosLectores de texto + SMCLsearch_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 CLINativo (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 / CursorNativo VSCode / CursorStata Workbench (VS Code)
Habilidad / ConocimientoHabilidad 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ónuvx stata-mcp installuvx --from stata-ai-fusion stata-ai-fusionVS Code Marketplaceuvx o script de instalación

📝 Documentación

Los documentos de MCP-for-Stata visitan https://sepinetam.github.io/mcp-for-stata

Documentación principal

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íaProblemaParcheado en
CVE-2026-31040 / GHSA-jpcj-7wfg-mqxvValidación insuficiente de do-file podría llevar a ejecución de comandosv1.13.0
CVE-2026-47708 / GHSA-4p62-hqp5-g644Inyección de comandos log_file_name y traversal de rutasv1.17.3
CVE-2026-55071 / GHSA-49m4-vp58-wgc9Inyección de comandos en nombre de paquete en ado_package_installv1.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 !cmd y shell cmd antes 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_install y ayudó a llevarla al proceso público de remediación de CVEs.
  • @useworld analizó el problema de inyección de comandos ado_package_install y 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.

✨ Historial de estrellas

Star History Chart