MCP Python Executor

by bsmi021

390 downloads
Not rated
GitHub

Description

# MCP Python Executor A Model Context Protocol (MCP) server for executing Python code and managing Python packages. ## Features - Execute Python code with safety constraints - Install and manage Python packages - Pre-configure commonly used packages - Resource monitoring and…

About

# MCP Python Executor A Model Context Protocol (MCP) server for executing Python code and managing Python packages. ## Features - Execute Python code with safety constraints - Install and manage Python packages - Pre-configure commonly used packages - Resource monitoring and limits - Health checks and metrics -…

Details

Author
bsmi021
Downloads
390
Categories
Other

- Execute Python code with safety constraints
- Install and manage Python packages dynamically
- Pre-configure commonly used packages on startup
- Resource monitoring with configurable memory and time limits
- Health checks and structured logging (JSON or text)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Python Executor
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure the server in your MCP settings with the command node path/to/python-executor/build/index.js. Customize behavior via environment variables such as PREINSTALLED_PACKAGES, MAX_MEMORY_MB, EXECUTION_TIMEOUT_MS, and MAX_CONCURRENT_EXECUTIONS. Then use the provided tools—execute_python to run inline or file-based Python code, and install_packages to install Python packages.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp python executor": {
            "mcp-python-executor": {
                "command": "node",
                "args": [
                    "path/to/python-executor/build/index.js"
                ],
                "env": {
                    "PREINSTALLED_PACKAGES": "numpy pandas matplotlib scikit-learn",
                    "MAX_MEMORY_MB": "512",
                    "EXECUTION_TIMEOUT_MS": "30000",
                    "MAX_CONCURRENT_EXECUTIONS": "5",
                    "LOG_LEVEL": "info",
                    "LOG_FORMAT": "json"
                }
            }
        }
    }
}

McpServers

{
    "mcp-python-executor": {
        "command": "node",
        "args": [
            "path/to/python-executor/build/index.js"
        ],
        "env": {
            "PREINSTALLED_PACKAGES": "numpy pandas matplotlib scikit-learn",
            "MAX_MEMORY_MB": "512",
            "EXECUTION_TIMEOUT_MS": "30000",
            "MAX_CONCURRENT_EXECUTIONS": "5",
            "LOG_LEVEL": "info",
            "LOG_FORMAT": "json"
        }
    }
}

MCP Python Executor

A Model Context Protocol (MCP) server for executing Python code and managing Python packages.

Features

- Execute Python code with safety constraints
- Install and manage Python packages
- Pre-configure commonly used packages
- Resource monitoring and limits
- Health checks and metrics
- Structured logging

Configuration

The server can be configured through environment variables in the MCP settings:

{
  "mcpServers": {
    "mcp-python-executor": {
      "command": "node",
      "args": ["path/to/python-executor/build/index.js"],
      "env": {
        "PREINSTALLED_PACKAGES": "numpy pandas matplotlib scikit-learn",
        "MAX_MEMORY_MB": "512",
        "EXECUTION_TIMEOUT_MS": "30000",
        "MAX_CONCURRENT_EXECUTIONS": "5",
        "LOG_LEVEL": "info",
        "LOG_FORMAT": "json"
      }
    }
  }
}

Environment Variables

- PREINSTALLED_PACKAGES: Space-separated list of Python packages to install on startup
- MAX_MEMORY_MB: Maximum memory limit per execution (default: 512)
- EXECUTION_TIMEOUT_MS: Maximum execution time in milliseconds (default: 30000)
- MAX_CONCURRENT_EXECUTIONS: Maximum number of concurrent executions (default: 5)
- LOG_LEVEL: Logging level (debug|info|error, default: info)
- LOG_FORMAT: Log format (json|text, default: json)

Available Tools

1. execute_python

Execute Python code and return the results.

interface ExecutePythonArgs {
  code?: string;          // Python code to execute (inline)
  scriptPath?: string;    // Path to existing Python script file (alternative to code)
  inputData?: string[];   // Optional input data
}

Examples:

// Example with inline code
{
  "code": "print('Hello, World!!')\nfor i in range(3): print(i)",
  "inputData": ["optional", "input", "data"]
}

// Example with script path
{
"scriptPath": "/path/to/your_script.py",
"inputData": ["optional", "input", "data"]
}

2. install_packages

Install Python packages.

interface InstallPackagesArgs {
  packages: string[];
}

Example:

```

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.