Safe Local Python Executor
Uma ferramenta para executar código Python local com segurança, sem a necessidade de arquivos de dados externos.
Documentação
Safe Local Python Executor
Um servidor MCP (transporte stdio) que envolve o LocalPythonExecutor da Hugging Face (do framework smolagents). É um runtime Python personalizado que fornece isolamento/segurança básica ao executar código Python gerado por LLMs localmente. Não requer Docker ou VM. Este pacote permite expor o executor Python via MCP (Model Context Protocol) como uma ferramenta para aplicativos LLM como Claude Desktop, Cursor ou qualquer outro cliente compatível com MCP. No caso do Claude Desktop, esta ferramenta é uma maneira fácil de adicionar um Code Interpreter que falta (disponível como plugin no ChatGPT há bastante tempo).
Recursos
- Expõe a ferramenta
run_python - Execução mais segura de código Python em comparação com o uso direto do Python
eva()l - Executado via uv em venv Python
- Nenhuma operação de I/O de arquivo é permitida
- Lista restrita de importações
- collections
- datetime
- itertools
- math
- queue
- random
- re
- stat
- statistics
- time
- unicodedata
Segurança
Tenha cuidado com a execução de código produzido por LLM na sua máquina, fique longe de servidores MCP que executam Python via linha de comando ou usando eval(). A opção mais segura é usar uma VM ou um contêiner Docker, embora exija algum esforço para configurar, consuma recursos/seja mais lento. Existem serviços de terceiros que fornecem runtime Python, embora exijam registro, chaves de API etc.
LocalPythonExecutor fornece um bom equilíbrio entre o uso direto do ambiente Python local (que é mais fácil de configurar) E a execução remota em contêiner Docker ou em uma VM/serviço de terceiros (que é segura). A equipe da Hugging Face investiu tempo na criação de uma opção rápida e segura para executar código gerado por LLM usado por seus agentes de código. Este servidor MCP se baseia nisso:
Para adicionar uma primeira camada de segurança, a execução de código em smolagents não é realizada pelo interpretador Python vanilla. Nós reconstruímos um LocalPythonExecutor mais seguro do zero.
Leia mais aqui.
Instalação e Execução
Instalando via Smithery
Para instalar o Safe Local Python Executor para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @maxim-saplin/mcp_safe_local_python_executor --client claude
Instalando Manualmente
- Instale
uv(por exemplo,brew install uvno macOS ou use a documentação oficial) - Clone o repositório, mude o diretório
cd mcp_safe_local_python_executor - O servidor pode ser iniciado via linha de comando
uv run mcp_server.py, o venv será criado automaticamente, as dependências (smollagents, mcp) serão instaladas
Configurando o Claude Desktop
-
Certifique-se de ter o Claude for Desktop instalado (baixe de claude.ai)
-
Edite o arquivo de configuração do Claude for Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Ou abra o Claude Desktop -> Configurações -> Desenvolvedor -> clique no botão "Editar Configuração"
- macOS:
-
Adicione a seguinte configuração:
{
"mcpServers": {
"safe-local-python-executor": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp_local_python_executor/",
"run",
"mcp_server.py"
]
}
}
}
- Reinicie o Claude for Desktop
- A ferramenta executor Python agora estará disponível no Claude (você verá um ícone de martelo no campo de entrada de mensagem)
Exemplos de Prompts
Depois de configurado, você pode usar prompts como:
- "Calcule o fatorial de 5 usando Python"
- "Crie uma lista de números primos até 100"
- "Resolva esta equação (use Python): x^2 + 5x + 6 = 0"
Desenvolvimento
Clone o repositório. Use uv para criar venv, instalar dependências de desenvolvimento, executar testes:
uv venv .venv
uv sync --group dev
python -m pytest tests/
