Skip to main content
Glama

mcp-run-python

Official
by pydantic

MCP Run Python

Model Context Protocol server to run Python code in a sandbox.

The code is executed using Pyodide in Deno and is therefore isolated from the rest of the operating system.

See https://ai.pydantic.dev/mcp/run-python/ for complete documentation.

The server can be run with deno installed using:

deno run \ -N -R=node_modules -W=node_modules --node-modules-dir=auto \ jsr:@pydantic/mcp-run-python [stdio|streamable_http|sse|warmup]

where:

  • -N -R=node_modules -W=node_modules (alias of --allow-net --allow-read=node_modules --allow-write=node_modules) allows network access and read+write access to ./node_modules. These are required so pyodide can download and cache the Python standard library and packages
  • --node-modules-dir=auto tells deno to use a local node_modules directory
  • stdio runs the server with the Stdio MCP transport — suitable for running the process as a subprocess locally
  • streamable_http runs the server with the Streamable HTTP MCP transport - suitable for running the server as an HTTP server to connect locally or remotely. This supports stateful requests, but does not require the client to hold a stateful connection like SSE
  • sse runs the server with the SSE MCP transport — suitable for running the server as an HTTP server to connect locally or remotely. Note that the SSE transport has been deprecated in newer MCP protocol versions and is there to maintain backwards compatibility.
  • warmup will run a minimal Python script to download and cache the Python standard library. This is also useful to check the server is running correctly.

Here's an example of using @pydantic/mcp-run-python with Pydantic AI:

from pydantic_ai import Agent from pydantic_ai.mcp import MCPServerStdio import logfire logfire.configure() logfire.instrument_mcp() logfire.instrument_pydantic_ai() server = MCPServerStdio('deno', args=[ 'run', '-N', '-R=node_modules', '-W=node_modules', '--node-modules-dir=auto', 'jsr:@pydantic/mcp-run-python', 'stdio', ]) agent = Agent('claude-3-5-haiku-latest', toolsets=[server]) async def main(): async with agent: result = await agent.run('How many days between 2000-01-01 and 2025-03-18?') print(result.output) #> There are 9,208 days between January 1, 2000, and March 18, 2025.w if __name__ == '__main__': import asyncio asyncio.run(main())
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Model Context Protocol server to run Python code in a sandbox.

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A Model Context Protocol server that allows management and execution of Blender Python scripts, enabling users to create, edit and run scripts in a headless Blender environment through natural language interfaces.
    Last updated -
    8
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables seamless execution of commands, Python code, web content fetching, and reusable task management with secure credentials handling.
    Last updated -
    2
    MIT License
    • Apple
  • -
    security
    A
    license
    -
    quality
    A streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.
    Last updated -
    15
    MIT License
  • -
    security
    F
    license
    -
    quality
    A Python-based implementation of the Model Context Protocol that enables communication between a model context management server and client through a request-response architecture.
    Last updated -
    • Linux
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pydantic/pydantic-ai'

If you have feedback or need assistance with the MCP directory API, please join our Discord server