MCP HubMCP Hub
Alec2435

python_mcp

by: Alec2435

MCP Server to run python code locally

50created 04/12/2024
Visit
Python
local

📌Overview

Purpose: The framework aims to provide an interactive Python REPL environment for executing and managing Python code seamlessly.

Overview: The python_local MCP Server serves as an interactive REPL (Read-Eval-Print Loop) platform, allowing users to execute Python code while retaining the state between sessions. This environment supports efficient management of execution history, enabling users to revisit prior commands and outputs.

Key Features:

  • REPL Session Management: Users can access session history through a custom repl:// URI scheme, allowing for tracking and reviewing previous code executions and their outputs.

  • Persistent Python Execution: The python_repl tool enables the execution of Python code in a continuous session, maintaining isolated states for each session and supporting both expressions and statements, while capturing stdout and stderr outputs.


python_local MCP Server

An MCP Server that provides an interactive Python REPL (Read-Eval-Print Loop) environment.

Components

Resources

  • Custom repl:// URI scheme for accessing REPL session history.
  • Each session's history can be viewed as a text resource, showing input code and corresponding output.

Tools

  • python_repl: Executes Python code in a persistent session.
    • Requires code (Python code to execute) and session_id.
    • Maintains separate state for each session.
    • Captures and returns stdout/stderr output.

Configuration

Install

Claude Desktop

  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
Development/Unpublished Servers Configuration
"mcpServers": {
  "python_local": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/python_local",
      "run",
      "python_local"
    ]
  }
}
Published Servers Configuration
"mcpServers": {
  "python_local": {
    "command": "uvx",
    "args": [
      "python_local"
    ]
  }
}

Development

Building and Publishing

To prepare the package for distribution:

  1. Sync dependencies and update lockfile:

    uv sync
    
  2. Build package distributions:

    uv build
    

    This creates source and wheel distributions in the dist/ directory.

  3. Publish to PyPI:

    uv publish
    

    Set PyPI credentials via environment variables or command flags:

    • Token: --token or UV_PUBLISH_TOKEN
    • Username/Password: --username/UV_PUBLISH_USERNAME and --password/UV_PUBLISH_PASSWORD

Debugging

For debugging, we recommend using the MCP Inspector. Launch the MCP Inspector via npm:

npx @modelcontextprotocol/inspector uv --directory /path/to/python_local run python-local

Access the displayed URL in your browser to begin debugging.