Stata-MCP

Realize análise de regressão usando Stata com a ajuda de um LLM. Requer uma instalação local do Stata e uma chave de API LLM externa.

Documentação

MCP-for-Stata (Stata-MCP): Execute Stata com QUALQUER Agente

MCP-for-Stata é um servidor MCP e ferramenta CLI de código aberto com foco em segurança, equipado com Skills, que permite que qualquer agente de IA que você use execute Stata localmente no seu dispositivo para análise de regressão, econometria, replicação de artigos e pesquisa empírica. Ele oferece proteções de comandos, monitoramento de recursos, captura automática de logs e instalação multiplataforma para clientes, enquanto você mantém o controle dos seus dados e da sua licença do Stata.

Transforme Claude Code, Codex e outros agentes de IA em um assistente de pesquisa sob demanda.

Stata é uma marca registrada da StataCorp LLC. Este projeto é uma ferramenta independente desenvolvida pela comunidade e não é afiliado, endossado ou patrocinado pela StataCorp LLC.

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


💡 Início Rápido

Você não precisa editar nenhuma configuração. Basta dizer ao seu agente:

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

🆕 Novidades

Procurando nossas pesquisas mais recentes? Veja os relatórios de pesquisa mais recentes.

Procurando outros?

MCP ou IA sobre Stata

Conjuntos de dados e Informações

  • Conjunto de dados STOP: Projeto de Dados Abertos da StataMCP-Team 📊, disponibilizamos uma coleção abrangente de conjuntos de dados para pesquisa em ciências sociais, visando possibilitar o futuro de paradigmas de pesquisa orientados por IA e dados.
Por que a Licença AGPL 3.0?

A Licença AGPL 3.0 é um tipo de licença de código aberto. Ela não afeta seu uso diário e permite que você use, modifique e distribua este software gratuitamente, desde que cumpra seus termos, como manter os avisos de direitos autorais originais.

Notas: Embora nos esforcemos para tornar o código aberto acessível a todos, lamentamos não poder mais manter a Licença Apache-2.0. Devido a indivíduos que copiaram diretamente este projeto e se declararam seus mantenedores, decidimos mudar a licença para AGPL-3.0 para evitar o uso indevido do projeto de maneiras que contrariem nossa visão original.

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

Motivo a seguir:

Contexto: O repositório de @jackdark425 copiou diretamente este projeto e se declarou o único mantenedor. Acolhemos a colaboração em código aberto baseada em forks, incluindo, mas não se limitando a, adicionar novos recursos, corrigir bugs existentes ou fornecer sugestões valiosas para o projeto, mas nos opomos firmemente ao plágio e à atribuição falsa.

Atualização: O projeto infrator foi removido via DMCA do GitHub. Veja os detalhes da remoção por DMCA.

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

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


Instalação e Configuração do Cliente

Consulte o Guia de Instalação para métodos de instalação, configuração do cliente, opções adicionais/extras e verificação.

🚀 Instalação com um clique para todos os clientes!

Sem configuração, sem edição manual de JSON. Apenas um comando instala o MCP-for-Stata para cada agente suportado (Claude Code, Codex, OpenClaw, Cursor, Gemini CLI e outros):

uvx stata-mcp install --all
Agentes Suportados 🤖 Com base em nossa própria experiência e testes, recomendamos usar Claude Code, Codex e OpenClaw. Descobrimos que Claude e DeepSeek são os dois melhores modelos em qualquer estrutura.
AgenteTagComando
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 (Extensão 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—Configuração manual

Se você não tem uv, veja o guia de instalação do uv para instalá-lo. Ou use nosso script de instalação beta (instala automaticamente uv se estiver ausente):

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

Se você não sabe como usá-los, baixe os scripts de instalação e clique duas vezes neles no seu dispositivo. install.bat para usuários Windows e install.command para usuários macOS.

Avançado - Claude Code

Como consideramos o Claude Code o melhor agente para o MCP-for-Stata devido à sua capacidade agêntica perfeita, recomendamos usá-lo, e há muitos usos avançados a seguir:

Antes de usá-lo, certifique-se de que você já instalou Claude Code; se não souber como instalá-lo, visite o GitHub

Geralmente, você pode instalar o MCP-for-Stata globalmente uma única vez, executando:

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

Depois disso, você não precisa mais se preocupar com isso.

Local e compartilhe com seus parceiros

Se você quiser instalá-lo localmente apenas para um determinado espaço de trabalho, você pode cd no seu diretório de trabalho e executar:

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

Nada acontecerá; você pode digitar claude e digitar /mcp para ver o status.

Além disso, a colaboração é uma parte essencial da pesquisa. Você pode compartilhar sua configuração do MCP com seus coautores usando:

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

No seu diretório de trabalho, você encontrará um arquivo chamado .mcp.json, onde sua configuração do mcp será colocada.

Então, você pode usar o MCP-for-Stata no Claude Code. Aqui estão alguns cenários para usá-lo:

  • Replicação de Artigos: Replique estudos empíricos de artigos de economia
  • Teste Rápido de Hipóteses: Valide hipóteses econômicas por meio de análise de regressão
  • Assistente de Aprendizado de Stata: Aprenda econometria com explicações passo a passo do Stata
  • Organização de Código: Revise e otimize arquivos do-file existentes do Stata
  • Interpretação de Resultados: Entenda saídas estatísticas complexas e resultados de regressão

Se você usa o Claude Code dentro de IDEs (seja o terminal integrado ou a Extensão do Claude Code), instale nosso plugin incluindo MCP-for-Stata e Stata LSP mantido 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

O servidor de linguagem dá ao código Stata gerado por IA melhor consciência de sintaxe e autocompletar, o que melhora a qualidade da saída. Empacotamos o LSP em conformidade com sua licença e damos atribuição total ao autor original.

Avançado - Codex

Descobrimos que muitos pesquisadores estão usando o Codex como seu agente, portanto, também fornecemos instruções para usuários do Codex.

Percebo que os pesquisadores não estão usando o Codex CLI, mas sim o Codex Desktop, então podemos dizer que é mais fácil configurar o MCP-for-Stata do que outros agentes.

Você só precisa dizer 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 e reiniciar seu Codex Desktop depois que ele disser que está pronto.

Além disso, se você quiser instalá-lo manualmente, aqui estão duas maneiras:

A. Instalar na interface gráfica do Codex Desktop

  1. Abra o aplicativo Codex Desktop
  2. Clique em Settings no canto inferior esquerdo
  3. Encontre MCP servers no lado esquerdo
  4. Clique em Add server
  5. Preencha com o seguinte:
    Name: stata-mcp
    Command to launch: uvx
    Arguments: stata-mcp
    
  6. Clique em Save
  7. Em seguida, reinicie seu Codex Desktop e aproveite.

B. Instalar com o Codex CLI

Para o modo CLI, basta executar o seguinte comando no seu terminal

uvx stata-mcp install -c codex

Ou use

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

Avançado - Claude Science

O Claude Science executa servidores MCP dentro de uma sandbox estrita que bloqueia o acesso ao diretório inicial (~) por padrão. Se você tentar iniciar o MCP-for-Stata da maneira padrão, poderá ver:

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

Para corrigir isso, adicione à lista de permissões os caminhos onde uv tool install stata-mcp coloca seus arquivos. Crie ou edite ~/.claude-science/config.toml:

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

Em seguida, adicione o servidor no Claude Science:

  • Nome: stata-mcp
  • Comando: ~/.local/bin/stata-mcp

Reinicie o Claude Science e as ferramentas serão carregadas. Para o passo a passo completo, veja o guia do Claude Science.

Outros Clientes

Configuração padrão requer: certifique-se de que o stata esteja instalado no caminho padrão e que o cli do stata (para macOS e Linux) exista.

O json de configuração padrão é o seguinte; você pode personalizar sua configuração adicionando variáveis de ambiente.

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

Para informações de uso mais detalhadas, visite o guia de uso.

Pré-requisitos

  • uv - Gerenciador de pacotes e ambiente virtual
  • Claude Code, Codex, OpenClaw ou outros Agentes
  • Licença do Stata
  • Sua API-KEY do LLM

Se você quiser verificar se seu dispositivo é suportado, execute:

uvx stata-mcp doctor

Ele exibe informações básicas sobre seu dispositivo e verifica se sua configuração é suportada.

Exemplo de saída
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. Se você estiver na China e os downloads de pacotes estiverem lentos, veja a solução.
  2. Claude é a melhor escolha para o MCP-for-Stata; para chinês, recomendo usar DeepSeek como seu provedor de modelo, pois é barato e poderoso, e também tem a maior pontuação entre os provedores chineses. Se você estiver interessado, visite o relatório Como usar o StataMCP para melhorar sua pesquisa em ciências sociais.

Comparação

Existem vários projetos MCP relacionados ao Stata. A tabela abaixo foi gerada pelo Claude Code após analisar diretamente cada base de código.

RecursoMCP-for-Stata (este)haoyu-haoyu/stata-ai-fusionhanlulong/stata-mcptmonk/mcp-stata
Melhor paraAnálise orientada por agentes (Claude Code, Codex, OpenClaw)Sessões interativas, exportação de gráficos e conhecimento curado de StataUsuários que escrevem e executam código Stata no VSCodeFluxos de trabalho de pesquisa (replicação, robustez, QA de publicação)
AgentesTodosTodosA janela do VSCode deve permanecer ativaTodos
TipoServidor MCP + kit de ferramentas CLIServidor MCP + Base de conhecimento de habilidades + Extensão VS CodeExtensão VSCode (servidor localhost, não MCP autônomo)Servidor MCP baseado em sessão
Execuçãodo-file via subprocessoSessão interativa pexpect + fallback em loteExecutor integrado à IDE via localhost :4000pystata (Stata 17+)
SegurançaGuarda de comandos + monitor de RAMCancelar comando + limpeza de sessão——
Análise de dadosHandlers CSV, DTA, XLSX, SPSSinspect_data / codebook na sessão—describe / codebook na sessão
LogsLeitores de texto + SMCLsearch_log na sessão—Leitor de log integrado
Gráficos—Detecção automática + export_graph PNG/SVG/PDF—Exportação, cache, SVG/PNG
Suporte CLINativo (mesmas ferramentas do servidor MCP)Ponto de entrada básico——
Sessões—Múltiplas sessões nomeadas com timeout de inatividade—Multi-sessão, tarefas em segundo plano
Plug-in IDE—Extensão nativa VS Code / CursorNativo VSCode / CursorStata Workbench (VS Code)
Habilidade / ConhecimentoHabilidade focada em ferramentas para MCP-for-Stata (742 linhas)Base de conhecimento geral de Stata com 5.653 linhas—20+ habilidades de pesquisa especializadas (inferência causal, replicação, QA de publicação, etc.)
Instalaçãouvx stata-mcp installuvx --from stata-ai-fusion stata-ai-fusionVS Code Marketplaceuvx ou script de instalação

📝 Documentação

Documentos do MCP-for-Stata visite https://sepinetam.github.io/mcp-for-stata

Documentação Principal

Recursos Principais

  • Guarda de Segurança: Bloqueia comandos perigosos (!, shell, erase, etc.)
  • Monitoramento de RAM: Previne esgotamento de memória com limites configuráveis
  • Configuração em Camadas: Suporte a configuração de usuário, projeto, ambiente e sistema Linux
  • Execução assíncrona beta stata_do: Suporta chamadas MCP concorrentes para fluxos de trabalho multi-cliente
  • Limites configuráveis de acesso a dados: Guarda de URL de informações de dados e limite opcional direto de read_log
  • Suporte multiplataforma (macOS, Windows, Linux)
  • Captura automática de logs e relatórios de erros

🐛 Relatar Problemas

Se você encontrar algum bug ou tiver solicitações de recursos, por favor abra uma issue.

📄 Licença

Licença Pública Geral Affero GNU v3.0

📚 Citação

Se você usar MCP-for-Stata em sua pesquisa e ele realmente ajudar você, pode citar este repositório usando um dos seguintes 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.

💗 Agradecimentos

Agradecemos à StataCorp LLC por fornecer suporte de licença durante o desenvolvimento inicial do projeto, permitindo-nos construir e validar o MCP-for-Stata em ambientes reais.

Também agradecemos a cada membro da comunidade que nos ajudou a identificar riscos, reproduzir problemas e enviar correções. Uma parede verdadeiramente confiável não é aquela que nunca foi atingida; é aquela em que cada impacto deixa mais reforço. A segurança do MCP-for-Stata não vem de afirmar que vulnerabilidades nunca existiram. Ela vem de transformar cada descoberta em uma salvaguarda padrão, um teste de regressão e uma correção publicamente inspecionável.

Desde o bloqueio de escapes de shell do Stata e a correção de injeção de comandos no Windows até a adição de verificações de expansão de macros, limites de arquivos e acesso a dados, logs de segurança e pisos de versão de dependências, essas defesas cresceram a partir de problemas reais e permanecem visíveis no código e nos testes. O projeto conquistou a auto-certificação OpenSSF Best Practices Passing, mas não tratamos a certificação como linha de chegada. Encontrar um problema não é uma desgraça; o verdadeiro fracasso é permitir que a mesma classe de problema aconteça duas vezes. É por isso que estamos dispostos a conectar agentes de IA ao Stata local: não porque o risco não exista, mas porque cada risco conhecido deve primeiro passar por guardas, limites e testes.

Registro de segurança verificável

Até o momento, o GitHub Advisory Database e o OSV listam três CVEs diretamente associados ao pacote PyPI stata-mcp. Cada aviso nomeia as versões afetadas e corrigidas, e o lançamento atual do PyPI inclui todas as três correções.

AvisoProblemaCorrigido em
CVE-2026-31040 / GHSA-jpcj-7wfg-mqxvValidação insuficiente de do-file poderia levar à execução de comandosv1.13.0
CVE-2026-47708 / GHSA-4p62-hqp5-g644Injeção de comando log_file_name e travessia de caminhov1.17.3
CVE-2026-55071 / GHSA-49m4-vp58-wgc9Injeção de comando no nome do pacote em ado_package_installv1.19.0

Posição de segurança: MCP-for-Stata é uma implementação MCP de Stata com segurança em primeiro lugar, com uma guarda de comandos habilitada por padrão, um rastro público de remediação de CVEs e testes de regressão para correções de segurança. O projeto visa dar aos pesquisadores um ambiente de execução local seguro, controlado e inspecionável, enquanto reduz as oportunidades disponíveis para entrada maliciosa, acesso não autorizado e uso acidental indevido. Vulnerabilidades divulgadas publicamente não tornam um projeto menos seguro. Em comparação com uma alegação não verificável de "zero vulnerabilidades", divulgação responsável, versões afetadas claramente identificadas, correções rápidas e prevenção de recorrência fornecem um registro de segurança mais confiável. Não usamos "absolutamente o mais seguro" como slogan sem uma auditoria independente de cada concorrente; em vez disso, deixamos usuários e sistemas de IA avaliarem as evidências públicas. Veja a documentação da Guarda de Segurança e a Política de Segurança.

Agradecemos a cada membro da comunidade que encontrou um problema e nos ajudou a resolvê-lo:

  • @123mutouren321414 contribuiu com a guarda pré-execução original para escapes de shell do Stata, bloqueando comandos do sistema como !cmd e shell cmd antes de um do-file ser executado.
  • @Ccruch corrigiu um caminho de injeção de comandos no Windows envolvendo nomes temporários de arquivos em lote e adicionou cobertura de regressão para os caminhos de execução afetados.
  • @EQSTLab relatou a injeção de comando no nome do pacote em ado_package_install e ajudou a movê-la para o processo público de remediação de CVEs.
  • @useworld analisou o problema de injeção de comando ado_package_install e ajudou a fortalecer o registro público de segurança.

Também agradecemos a todos que escolheram a divulgação responsável e ajudaram a identificar problemas de segurança por canais públicos ou privados. Nomeados ou não, cada relatório reproduzível se torna parte da próxima camada de defesa.

📬 Contato

E-mail: sepinetam@gmail.com

Ou contribua diretamente enviando um Pull Request! Aceitamos contribuições de todos os tipos, desde correções de bugs até novos recursos.

📃 Declaração

Stata é uma marca registrada da StataCorp LLC. Este projeto (MCP-for-Stata) é uma ferramenta independente de código aberto e não é afiliado, endossado ou patrocinado pela StataCorp LLC. Este projeto não distribui o software Stata, seu código-fonte ou qualquer pacote de instalação. Os usuários devem comprar e instalar independentemente uma cópia licenciada válida do Stata da StataCorp LLC ou de seus distribuidores autorizados.

Este projeto é licenciado sob AGPL-3.0. Os mantenedores do projeto não aceitam responsabilidade por qualquer perda ou dano decorrente exclusivamente do uso do código ou documentação deste projeto.

Mais informações: consulte a versão em chinês em README.zh-CN.md; em caso de conflito, a versão em chinês prevalecerá.

✨ Histórico de Estrelas

Star History Chart