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.
36 lines
1.4 KiB
JSON
36 lines
1.4 KiB
JSON
{
|
|
"//": "MCP server registry consumed by extensions/mcp-bridge.ts. All servers are DISABLED by default — enable one, set its token env var, then restart pi. URLs are pulled from config/company.json (single source of truth); tokens from env. Templates: {config:KEY} → company.json value, {env:VAR} → environment variable. Requires VPN/creds and the launcher (uvx/npx) to actually connect.",
|
|
"servers": {
|
|
"jira": {
|
|
"enabled": false,
|
|
"description": "Jira (Server/DC) через mcp-atlassian (Python, запускается uvx)",
|
|
"command": "uvx",
|
|
"args": ["mcp-atlassian"],
|
|
"env": {
|
|
"JIRA_URL": "{config:trackerUrl}",
|
|
"JIRA_PERSONAL_TOKEN": "{env:JIRA_TOKEN}"
|
|
}
|
|
},
|
|
"confluence": {
|
|
"enabled": false,
|
|
"description": "Confluence (Server/DC) через mcp-atlassian",
|
|
"command": "uvx",
|
|
"args": ["mcp-atlassian"],
|
|
"env": {
|
|
"CONFLUENCE_URL": "{config:docsUrl}",
|
|
"CONFLUENCE_PERSONAL_TOKEN": "{env:CONFLUENCE_TOKEN}"
|
|
}
|
|
},
|
|
"gitlab": {
|
|
"enabled": false,
|
|
"description": "GitLab (self-hosted) через @zereight/mcp-gitlab (запускается npx)",
|
|
"command": "npx",
|
|
"args": ["-y", "@zereight/mcp-gitlab"],
|
|
"env": {
|
|
"GITLAB_API_URL": "https://{config:gitHost}/api/v4",
|
|
"GITLAB_PERSONAL_ACCESS_TOKEN": "{env:GITLAB_TOKEN}"
|
|
}
|
|
}
|
|
}
|
|
}
|