Skip to main content
Glama
pydantic

mcp-run-python

Official
by pydantic

MCP Запустить Python

Модель сервера Context Protocol для запуска кода Python в «песочнице».

Код выполняется с использованием Pyodide в Deno и поэтому изолирован от остальной части операционной системы.

Полную документацию смотрите по

Сервер можно запустить с установленным deno с помощью:

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

где:

  • -N -R=node_modules -W=node_modules (псевдоним --allow-net --allow-read=node_modules --allow-write=node_modules ) разрешает сетевой доступ и доступ на чтение и запись к ./node_modules . Они необходимы для того, чтобы pyodide мог загружать и кэшировать стандартную библиотеку и пакеты Python

  • --node-modules-dir=auto сообщает deno использовать локальный каталог node_modules

  • stdio запускает сервер с транспортом Stdio MCP — подходит для локального запуска процесса как подпроцесса

  • sse запускает сервер с транспортом SSE MCP — запуск сервера как HTTP-сервера для локального или удаленного подключения

  • warmup запустит минимальный скрипт Python для загрузки и кэширования стандартной библиотеки Python. Это также полезно для проверки корректности работы сервера.

Вот пример использования @pydantic/mcp-run-python с 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())
-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

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