mcp-python-interpreter

MCP.Pizza Chef: yzfly

Ten commands cover running code or whole script files, keeping a session's variables alive between messages, listing and switching Python setups, installing packages, and reading, writing, and listing files. Reading and writing really is confined to the one folder you nominate, which is a genuine and welcome guard. Code is not: anything it runs has the full reach of your own user account, including your files and the internet, and installing a package downloads and runs someone else's code. The time limit is ignored for quick in-chat runs, so a stuck loop hangs the server.

Coding
Data

Use This MCP server To

Run a quick calculation and show me the answer Turn a messy spreadsheet export into a clean file Test a small script before I rely on it Chart some numbers and save the picture to my folder Install a package I need and try it out Keep my variables between messages while exploring data

README

MseeP.ai Security Assessment Badge

MCP Python Interpreter

A Model Context Protocol (MCP) server that allows LLMs to interact with Python environments, read and write files, execute Python code, and manage development workflows.

Features

  • Environment Management: List and use different Python environments (system and conda)
  • Code Execution: Run Python code or scripts in any available environment
  • Package Management: List installed packages and install new ones
  • File Operations:
    • Read files of any type (text, source code, binary)
    • Write text and binary files
  • Python Prompts: Templates for common Python tasks like function creation and debugging

Installation

You can install the MCP Python Interpreter using pip:

pip install mcp-python-interpreter

Or with uv:

uv install mcp-python-interpreter

Usage with Claude Desktop

  1. Install Claude Desktop
  2. Open Claude Desktop, click on menu, then Settings
  3. Go to Developer tab and click "Edit Config"
  4. Add the following to your claude_desktop_config.json:
{
  "mcpServers": {
    "mcp-python-interpreter": {
        "command": "uvx",
        "args": [
            "mcp-python-interpreter",
            "--dir",
            "/path/to/your/work/dir",
            "--python-path",
            "/path/to/your/python"
        ],
        "env": {
            "MCP_ALLOW_SYSTEM_ACCESS": 0
        },
    }
  }
}

For Windows:

{
  "mcpServers": {
    "python-interpreter": {
      "command": "uvx",
      "args": [
        "mcp-python-interpreter",
        "--dir",
        "C:\\path\\to\\your\\working\\directory",
        "--python-path",
        "/path/to/your/python"
      ],
        "env": {
            "MCP_ALLOW_SYSTEM_ACCESS": "0"
        },
    }
  }
}
  1. Restart Claude Desktop
  2. You should now see the MCP tools icon in the chat interface

The --dir parameter is required and specifies where all files will be saved and executed. This helps maintain security by isolating the MCP server to a specific directory.

Prerequisites

  • Make sure you have uv installed. If not, install it using:
    curl -LsSf https://astral.sh/uv/install.sh | sh
  • For Windows:
    powershell -ExecutionPolicy Bypass -Command "iwr -useb https://astral.sh/uv/install.ps1 | iex"

Available Tools

The Python Interpreter provides the following tools:

Environment and Package Management

  • list_python_environments: List all available Python environments (system and conda)
  • list_installed_packages: List packages installed in a specific environment
  • install_package: Install a Python package in a specific environment

Code Execution

  • run_python_code: Execute Python code in a specific environment
  • run_python_file: Execute a Python file in a specific environment

File Operations

  • read_file: Read contents of any file type, with size and safety limits
    • Supports text files with syntax highlighting
    • Displays hex representation for binary files
  • write_file: Create or overwrite files with text or binary content
  • write_python_file: Create or overwrite a Python file specifically
  • list_directory: List Python files in a directory

Available Resources

  • python://environments: List all available Python environments
  • python://packages/{env_name}: List installed packages for a specific environment
  • python://file/{file_path}: Get the content of a Python file
  • python://directory/{directory_path}: List all Python files in a directory

Prompts

  • python_function_template: Generate a template for a Python function
  • refactor_python_code: Help refactor Python code
  • debug_python_error: Help debug a Python error

Example Usage

Here are some examples of what you can ask Claude to do with this MCP server:

  • "Show me all available Python environments on my system"
  • "Run this Python code in my conda-base environment: print('Hello, world!')"
  • "Create a new Python file called 'hello.py' with a function that says hello"
  • "Read the contents of my 'data.json' file"
  • "Write a new configuration file with these settings..."
  • "List all packages installed in my system Python environment"
  • "Install the requests package in my system Python environment"
  • "Run data_analysis.py with these arguments: --input=data.csv --output=results.csv"

File Handling Capabilities

The MCP Python Interpreter now supports comprehensive file operations:

  • Read text and binary files up to 1MB
  • Write text and binary files
  • Syntax highlighting for source code files
  • Hex representation for binary files
  • Strict file path security (only within the working directory)

Security Considerations

This MCP server has access to your Python environments and file system. Key security features include:

  • Isolated working directory
  • File size limits
  • Prevented writes outside the working directory
  • Explicit overwrite protection

Always be cautious about running code or file operations that you don't fully understand.

License

MIT

mcp-python-interpreter FAQ

Which apps does it work in?
The guide covers Claude Desktop, and any app that can start a local command should work.
Do I need a key or an account?
Neither, and nothing costs money. It uses the Python already installed on your computer.
Can I use this to clean up a data file?
Yes — you nominate a folder, and it can read the file, run code over it, and write the tidied result back into the same place.
Is the code it runs sandboxed?
No. Anything it runs has the same reach you do, including every file on the computer and the internet, so only use it with prompts and files you trust.
Does the folder limit actually work?
For the file commands, yes — reading, writing, and listing outside your chosen folder really are refused unless you switch on system-wide access. Code you run is not held to that limit.
Can it install software by itself?
Yes, and there is no confirmation step, so it will download and run somebody else's package the moment it decides one is needed.
What happens if code gets stuck in a loop?
For quick in-chat runs the time limit is accepted but never applied, so the server can hang until you restart it. Running a saved file does respect the limit.
How hard is setup?
You install the uv tool, then paste a snippet naming your working folder, so expect a few terminal steps.
Is the write-up current?
Not entirely. It still lists a separate command for creating Python files that no longer exists, and it leaves out the newer session commands.