Python Interpreter MCP
Un servidor MCP que proporciona capacidades de ejecución de código Python a través de una interfaz de API REST.
Documentación
Python Interpreter MCP
Un servidor de Model Context Protocol (MCP) que proporciona capacidades de ejecución de código Python a través de una interfaz de API REST.
Descripción general
Este servidor MCP expone una única herramienta execute_python_code que permite a los asistentes de IA y otros clientes MCP ejecutar código Python de forma remota. El servidor actúa como un puente entre los clientes MCP y un servicio de API REST de intérprete de Python.
Características
- Ejecutar código Python arbitrario a través de MCP
- Devuelve resultados de ejecución completos, incluidos stdout, stderr, códigos de salida y archivos generados
- Construido con FastMCP para un desarrollo sencillo de servidores MCP
- Cliente HTTP asíncrono para una comunicación fiable con el servicio de intérprete de Python
Requisitos previos
- Python 3.11 o superior
- Un servicio de API REST de intérprete de Python ejecutándose en
localhost:50081(como BeeAI Code Interpreter)
Instalación
-
Clona este repositorio:
git clone <repository-url> cd python-interpreter-mcp -
Instala las dependencias con uv:
uv sync
Uso
Ejecutar el servidor MCP
Inicia el servidor MCP:
python main.py
El servidor se iniciará y expondrá la herramienta execute_python_code a través del protocolo MCP.
Añadir a Claude Desktop
Añade esta configuración a los ajustes MCP de Claude Desktop:
{
"mcpServers": {
"python-interpreter": {
"command": "uv",
"args": [
"--directory",
"/path/to/python-interpreter-mcp",
"run",
"main.py"
]
}
}
}
Reemplaza /path/to/python-interpreter-mcp con la ruta real a tu directorio de proyecto.
Herramienta: execute_python_code
Ejecuta código Python mediante un servicio de intérprete remoto.
Parámetros:
source_code(cadena): El código Python a ejecutar
Devuelve: Un diccionario que contiene:
stdout: Salida estándar de la ejecución de Pythonstderr: Salida de error estándar (si la hay)exit_code: Código de salida del proceso de Pythonfiles: Archivos generados durante la ejecución
Ejemplo de uso:
# Through an MCP client
result = await execute_python_code("print('Hello, World!')")
# Returns: {"stdout": "Hello, World!\n", "stderr": "", "exit_code": 0, "files": {}}
Configuración
El servidor está configurado para conectarse a una API REST de intérprete de Python en:
- URL:
http://localhost:50081/v1/execute - Método: POST
- Content-Type: application/json
Para usar un servicio de intérprete diferente, modifica la URL en main.py:23.
Manejo de errores
El servidor gestiona diversas condiciones de error:
- Errores de solicitud: Problemas de conectividad de red
- Errores HTTP: Errores del servicio de API (respuestas 4xx/5xx)
- Errores de tiempo de espera: Ejecución de código de larga duración
Todos los errores se devuelven en el formato de respuesta estándar con mensajes de error apropiados en el campo stderr.
Dependencias
- fastmcp: Marco de trabajo para servidores MCP
- httpx: Cliente HTTP asíncrono para la comunicación con la API
Licencia
Licencia MIT