MCP Run Python
Model Context Protocol -Server zum Ausführen von Python-Code in einer Sandbox.
Der Code wird mit Pyodide in Deno ausgeführt und ist daher vom Rest des Betriebssystems isoliert.
Die vollständige Dokumentation finden Sie
Der Server kann mit installiertem deno ausgeführt werden, indem Folgendes verwendet wird:
deno run \
-N -R=node_modules -W=node_modules --node-modules-dir=auto \
jsr:@pydantic/mcp-run-python [stdio|sse|warmup]Wo:
-N -R=node_modules -W=node_modules(Alias von--allow-net --allow-read=node_modules --allow-write=node_modules) ermöglicht Netzwerkzugriff sowie Lese- und Schreibzugriff auf./node_modules. Diese sind erforderlich, damit pyodide die Python-Standardbibliothek und -Pakete herunterladen und zwischenspeichern kann.--node-modules-dir=autoweist deno an, ein lokalesnode_modules-Verzeichnis zu verwendenstdioführt den Server mit dem Stdio MCP-Transport aus – geeignet, um den Prozess lokal als Unterprozess auszuführenssebetreibt den Server mit dem SSE MCP-Transport – er betreibt den Server als HTTP-Server für lokale oder Remote-Verbindungenwarmupführt ein minimales Python-Skript aus, um die Python-Standardbibliothek herunterzuladen und zwischenzuspeichern. Dies ist auch nützlich, um zu überprüfen, ob der Server korrekt läuft.
Hier ist ein Beispiel für die Verwendung von @pydantic/mcp-run-python mit PydanticAI:
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', mcp_servers=[server])
async def main():
async with agent.run_mcp_servers():
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())