Python Interpreter MCP

Um servidor MCP que fornece capacidades de execução de código Python através de uma interface de API REST.

Documentação

Python Interpreter MCP

Um servidor Model Context Protocol (MCP) que fornece capacidades de execução de código Python através de uma interface de API REST.

Visão Geral

Este servidor MCP expõe uma única ferramenta execute_python_code que permite que assistentes de IA e outros clientes MCP executem código Python remotamente. O servidor atua como uma ponte entre clientes MCP e um serviço de API REST de interpretador Python.

Recursos

  • Executa código Python arbitrário através do MCP
  • Retorna resultados completos de execução, incluindo stdout, stderr, códigos de saída e arquivos de saída
  • Construído com FastMCP para facilitar o desenvolvimento de servidores MCP
  • Cliente HTTP assíncrono para comunicação confiável com o serviço de interpretador Python

Pré-requisitos

  • Python 3.11 ou superior
  • Um serviço de API REST de interpretador Python em execução em localhost:50081 (como o BeeAI Code Interpreter)

Instalação

  1. Clone este repositório:

    git clone <repository-url>
    cd python-interpreter-mcp
    
  2. Instale as dependências usando uv:

    uv sync
    

Uso

Executando o Servidor MCP

Inicie o servidor MCP:

python main.py

O servidor iniciará e exporá a ferramenta execute_python_code através do protocolo MCP.

Adicionando ao Claude Desktop

Adicione esta configuração às configurações MCP do seu Claude Desktop:

{
  "mcpServers": {
    "python-interpreter": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/python-interpreter-mcp",
        "run",
        "main.py"
      ]
    }
  }
}

Substitua /path/to/python-interpreter-mcp pelo caminho real do diretório do seu projeto.

Ferramenta: execute_python_code

Executa código Python usando um serviço de interpretador remoto.

Parâmetros:

  • source_code (string): O código Python a ser executado

Retorna: Um dicionário contendo:

  • stdout: Saída padrão da execução Python
  • stderr: Saída de erro padrão (se houver)
  • exit_code: Código de saída do processo Python
  • files: Quaisquer arquivos gerados durante a execução

Exemplo de uso:

# Through an MCP client
result = await execute_python_code("print('Hello, World!')")
# Returns: {"stdout": "Hello, World!\n", "stderr": "", "exit_code": 0, "files": {}}

Configuração

O servidor está configurado para conectar-se a uma API REST de interpretador Python em:

  • URL: http://localhost:50081/v1/execute
  • Método: POST
  • Content-Type: application/json

Para usar um serviço de interpretador diferente, modifique a URL em main.py:23.

Tratamento de Erros

O servidor lida com várias condições de erro:

  • Erros de requisição: Problemas de conectividade de rede
  • Erros HTTP: Erros do serviço de API (respostas 4xx/5xx)
  • Erros de timeout: Execução de código de longa duração

Todos os erros são retornados no formato de resposta padrão com mensagens de erro apropriadas no campo stderr.

Dependências

  • fastmcp: Framework de servidor MCP
  • httpx: Cliente HTTP assíncrono para comunicação com a API

Licença

Licença MIT