MP

mitsuhiko/pi-codemode-mcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

40 stars 2 forks Качество 45 Тренд 12

Экспериментальный способ подключения MCP к Pi с помощью кода

Обзор

Расширение Pi, которое раскрывает MCP с помощью двух инструментов: - list mcp tools - перечисляет все инструменты MCP (показывает первые 20 inline, переполняет полный список до временного файла) - call mcp - запускает JavaScript в песочнице и позволяет скрипту вызывать серверы MCP Он также добавляет команду /mcp для статуса, включения / отключения, повторного подключения и настройки auth. Это был эксперимент, чтобы увидеть, есть ли преимущество эффективности, позволяющее интерфейс кодирующего агента с MCP таким образом, который позволяет композицию. Смотрите этот пост в блоге. Фактические выводы заключаются в том, что с тем, как работает MCP сегодня, такой прирост эффективности не полезен. С другой стороны, MCP-сервер, который использует внутренний код, может быть очень полезен. Посмотрите, например, MCP-сервер, который использует среду JavaScript для вызова служб Google. Этот человек действительно работает так же хорошо, как и аналогичный навык. Загрузка в порядке слияния (позже перезагружается раньше): 1. ~/.pi/agent/mcp.json 2. ~/.pi/agent/.mcp.json 3/.pi/mcp.json 4. /.mcp.json Вы можете отказаться от --mcp-config/path/to/file.json.

Обзор (машинный перевод)

Расширение Pi, которое раскрывает MCP с помощью двух инструментов:

— list_mcp_tools — перечисляет все инструменты MCP (показывает первые 20 inline, переполняет полный список до временного файла) call_mcp — запускает JavaScript в песочнице и позволяет скрипту вызывать MCP-серверы

Он также добавляет команду /mcp для статуса, включения / отключения, повторного подключения и настройки аута.

##Почему?

Это был эксперимент, чтобы увидеть, есть ли преимущество в эффективности, позволяющее интерфейсу агента кодирования с MCP позволяет композицию. Смотрите этот пост в блоге.

Фактические выводы заключаются в том, что с тем, как работает MCP сегодня, такой прирост эффективности не полезен. С другой стороны В этом случае MCP-сервер, использующий внутренний код, может быть очень полезен. Посмотреть Пример MCP-сервера, который Использует среду JavaScript для вызова сервисов Google. То, что он действительно работает так же хорошо, как и аналогичный Умение делает.

Файлы конфигурации

Загрузка в порядке слияния (позже перезагружается раньше):

1.[Т3] 2. [[Т4]] 3.[T5] 4. [[Т6]]

Вы можете отказаться от [7].

list_mcp_tools

Параметры:

  • query (факультативно): совпадение текста с нечувствительным к делу или регекс через /pattern/flags

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

pi-codemode-mcp

Pi extension that exposes MCP through two tools:

  • list_mcp_tools — enumerates all MCP tools (shows first 20 inline, overflows full list to a temp file)
  • call_mcp — runs JavaScript in a sandbox and lets the script call MCP servers

It also adds a /mcp command for status, enable/disable, reconnect, and auth setup.

Why?

This was an experiment to see if there is an efficiency benefit of allowing a coding agent interface with MCP in a way that allows composition. See this blog post.

The actual findings are that with how MCP works today, such efficiency gains are not useful. On the other hand an MCP server that uses code internally can be very helpful. See for instance an example MCP server that uses a JavaScript environment to call Google services. That one actually performs as well as a similar skill does.

Configuration files

Loaded in merge order (later overrides earlier):

  1. ~/.pi/agent/mcp.json
  2. ~/.pi/agent/.mcp.json
  3. /.pi/mcp.json
  4. /.mcp.json

You can override with --mcp-config /path/to/file.json.

list_mcp_tools

Parameters:

  • query (optional): case-insensitive text match, or regex via /pattern/flags

The tool always shows the first 20 matches inline. If more matches exist, it writes the full list to a temp .tsv file so the agent can grep/rg it.

Each listed MCP tool includes a compact schema signature, with required fields marked by * and optional fields in brackets.

Only currently enabled MCP tools are listed.

/mcp command

Use /mcp to manage MCP from interactive mode:

  • /mcp — opens an interactive select menu (status, reconnect, auth, and per-server tool toggles)
  • /mcp status — show server connection/auth state + enabled/disabled counts
  • /mcp enable — enable a specific MCP tool (or all tools for server)
  • /mcp disable — disable a specific MCP tool (or all tools for server)
  • /mcp reconnect [server] — reconnect one/all servers and refresh metadata
  • /mcp auth — trigger auth setup flow

Tool enable/disable policies are persisted in:

  • ~/.pi/agent/mcp-tool-policies.json

Auth behavior

  • OAuth flow (standard MCP auth)
    • /mcp auth starts an OAuth browser login flow with localhost callback (for URL-based servers).
    • received tokens are stored in: ~/.pi/agent/mcp-oauth//tokens.json
    • then the server is reconnected.
    • if a server’s auth metadata does not support dynamic client registration, /mcp auth falls back to bearer setup for the current session (for GitHub Copilot MCP, it will try gh auth token automatically).
  • Bearer servers (auth: "bearer" or bearer token config)
    • if bearerTokenEnv is configured, /mcp auth lets you paste a token into that env var for the current pi process.
Открыть полный README на GitHub

Установка

This server does not publish a one-line install command.

Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →