Files
pi-kit/docs/mcp.md
Aleksey Shakhmatov 2995823a0f feat(mcp): scaffold Jira/Confluence/GitLab MCP bridge (disabled by default)
Pi has no built-in MCP; this adds a bridge extension + declarative registry.
- config/mcp.json: jira/confluence/gitlab servers, all enabled:false; URLs from
  company.json ({config:...}), tokens from env ({env:...}) — nothing hardcoded
- extensions/mcp-bridge.ts: resolves env templates, and for enabled servers
  connects via MCP SDK (dynamic import) and registers their tools; /mcp-status
  command; graceful no-op when disabled or SDK absent
- docs/mcp.md: how to enable, prerequisites (VPN, tokens, uvx/npx, SDK), security
- package.json: @modelcontextprotocol/sdk as optionalDependency; ignore package-lock

Verified offline: extension loads, /mcp-status lists 3 servers (disabled), env
resolver builds gitlab API URL from company.json gitHost + GITLAB_TOKEN. Live
connect needs VPN + a token + authorization to run the server package.
2026-07-16 14:33:21 +03:00

2.9 KiB
Raw Blame History

MCP-интеграции (Jira / Confluence / GitLab)

Pi не имеет встроенного MCP — его добавляет расширение extensions/mcp-bridge.ts. Оно читает config/mcp.json, поднимает включённые серверы (stdio) и регистрирует их инструменты в pi. По умолчанию все серверы выключены. Статус — команда /mcp-status.

Как устроено

  • Серверы объявлены в config/mcp.json. URL берутся из config/company.json ({config:trackerUrl}, {config:docsUrl}, {config:gitHost}), токены — из окружения ({env:JIRA_TOKEN} и т.д.). В коде и конфиге нет захардкоженных адресов и секретов.
  • Bridge подставляет значения при запуске сервера. Если URL/токен не заданы — сервер помечается missing-env и пропускается.

Предпосылки (нужны только при включении)

  • VPN и доступ к jira.mvideo.ru / wiki.mvideo.ru / gitlab.tech.mvideo.ru.
  • MCP SDK: npm i @modelcontextprotocol/sdk в пакете (в optionalDependencies; ставится только при включении MCP).
  • Лаунчеры серверов: uvx (для mcp-atlassian) и/или npx (для @zereight/mcp-gitlab).
  • Токены в окружении (см. ~/.config/pi-kit/env.sh).

Включение

  1. В config/mcp.json поставь "enabled": true нужному серверу.
  2. Задай токен в окружении:
    • Jira: JIRA_TOKEN (PAT Server/DC).
    • Confluence: CONFLUENCE_TOKEN (PAT Server/DC).
    • GitLab: GITLAB_TOKEN (scope api).
  3. Установи SDK (если ещё нет): npm i @modelcontextprotocol/sdk.
  4. Перезапусти pi. Проверь: /mcp-statusconnected и число tools.

Серверы

Сервер Пакет URL из Токен
jira mcp-atlassian (uvx) trackerUrl JIRA_TOKEN
confluence mcp-atlassian (uvx) docsUrl CONFLUENCE_TOKEN
gitlab @zereight/mcp-gitlab (npx) gitHost/api/v4 GITLAB_TOKEN

Безопасность

MCP-серверы — сторонние процессы с полным доступом к твоим токенам. Включай только одобренные образы. Инструменты MCP проходят через guardrails pi (permission-gate/audit) как обычные вызовы.