Safe Local Python Executor/Interpreter

by maxim-saplin
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with Hugging Face's LocalPythonExecutor from the smolagents framework to provide secure Python code execution capabilities with basic isolation and security for running LLM-generated Python code.

Ejecutor local seguro de Python

Un servidor MCP (transporte stdio) que encapsula LocalPythonExecutor de Hugging Face (del framework smolagents ). Es un entorno de ejecución de Python personalizado que proporciona aislamiento y seguridad básicos al ejecutar código Python generado por LLM localmente. No requiere Docker ni VM. Este paquete permite exponer el ejecutor de Python mediante MCP (Protocolo de Contexto de Modelo) como herramienta para aplicaciones LLM como Claude Desktop, Cursor o cualquier otro cliente compatible con MCP. En el caso de Claude Desktop, esta herramienta es una forma sencilla de añadir un intérprete de código faltante (disponible como complemento en ChatGPT desde hace tiempo).

Características

  • Expone la herramienta run_python
  • Ejecución más segura de código Python en comparación con el uso directo de Python eva()l
  • Se ejecutó mediante uv en Python venv
  • No se permiten operaciones de E/S de archivos
  • Lista restringida de importaciones
    • colecciones
    • fecha y hora
    • herramientas de iteración
    • matemáticas
    • cola
    • aleatorio
    • re
    • estadística
    • estadística
    • tiempo
    • datos Unicode

Seguridad

Tenga cuidado con la ejecución del código generado por LLM en su equipo; evite servidores MCP que ejecuten Python mediante la línea de comandos o usando eval() . La opción más segura es usar una máquina virtual o un contenedor Docker, aunque requiere cierta configuración, consume recursos y es más lento. Existen servicios de terceros que ofrecen entorno de ejecución de Python, aunque requieren registro, claves API, etc.

LocalPythonExecutor ofrece un buen equilibrio entre el uso directo del entorno local de Python (que es más fácil de configurar) y la ejecución remota en un contenedor de Dokcer o en una máquina virtual o servicio de terceros (que es seguro). El equipo de Huggingng Face ha invertido tiempo en crear una opción rápida y segura para ejecutar el código generado por LLM que utilizan sus agentes de código. Este servidor MCP se basa en él:

Para añadir una primera capa de seguridad, la ejecución de código en smolagents no la realiza el intérprete de Python estándar. Hemos rediseñado desde cero un LocalPythonExecutor más seguro.

Lea más aquí .

Instalación y ejecución

  1. Instalar uv (eh brew install uv en macOS o usa la documentación oficial )
  2. Clonar el repositorio, cambiar el directorio cd mcp_safe_local_python_executor
  3. El servidor se puede iniciar a través de la línea de comandos uv run mcp_server.py , venv se creará automáticamente y se instalarán las dependencias (smollagents, mcp).

Configuración de Claude Desktop

  1. Asegúrate de tener instalado Claude for Desktop (descárgalo desde claude.ai )
  2. Edite su archivo de configuración de Claude for Desktop:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Ventanas: %APPDATA%\Claude\claude_desktop_config.json
    • O abra Claude Desktop -> Configuración -> Desarrollador -> haga clic en el botón "Editar configuración"
  3. Agregue la siguiente configuración:
{ "mcpServers": { "safe-local-python-executor": { "command": "uv", "args": [ "--directory", "/path/to/mcp_local_python_executor/", "run", "mcp_server.py" ] } } }
  1. Reiniciar Claude para escritorio
  2. La herramienta ejecutora de Python ahora estará disponible en Claude (verá el ícono del martillo en el campo de entrada del mensaje)

Ejemplos de indicaciones

Una vez configurado, puedes utilizar indicaciones como:

  • Calcular el factorial de 5 usando Python
  • "Crea una lista de números primos hasta 100"
  • "Resuelve esta ecuación (usa Python): x^2 + 5x + 6 = 0"

Desarrollo

Clona el repositorio. Usa uv para crear venv, instalar las dependencias de desarrollo y ejecutar pruebas.

uv venv .venv uv sync --group dev python -m pytest tests/

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

El servidor MCP de Stdio encapsula el entorno de ejecución de Python personalizado (LocalPythonExecutor) del framework smolagents de Hugging Faces. Este entorno de ejecución combina la facilidad de configuración (en comparación con entornos de ejecución de Docker, máquinas virtuales y la nube), a la vez que proporciona protecciones y limita las operaciones/importaciones permitidas dentro del entorno de ejecución.

  1. Features
    1. Security
      1. Installation and Execution
        1. Configuring Claude Desktop
          1. Example Prompts
            1. Development
              ID: cj2uey3ghu