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.
2.9 KiB
2.9 KiB
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).
Включение
- В
config/mcp.jsonпоставь"enabled": trueнужному серверу. - Задай токен в окружении:
- Jira:
JIRA_TOKEN(PAT Server/DC). - Confluence:
CONFLUENCE_TOKEN(PAT Server/DC). - GitLab:
GITLAB_TOKEN(scopeapi).
- Jira:
- Установи SDK (если ещё нет):
npm i @modelcontextprotocol/sdk. - Перезапусти
pi. Проверь:/mcp-status→connectedи число 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) как обычные вызовы.