GitLab + YouTrack through one Streamable HTTP endpoint
Add:
Remove:
Verify: claude mcp list or run /mcp in Claude Code
Try: "Find bugs in the projects"
This project exposes GitLab and YouTrack through one MCP connector. Clients register a single Streamable HTTP endpoint and receive the combined tool catalog:
gitlab__<tool>youtrack__<tool>Prefixes prevent collisions and let the aggregator route each tools/call request to the correct upstream. Tokens stay in .env and are never exposed to MCP clients.
| Service | Address | Purpose |
|---|---|---|
| Public gateway | https://mcp-demo.infiano.app/mcp |
Combined GitLab + YouTrack MCP endpoint for the workshop |
| mcp-connectors | 127.0.0.1:9100/mcp |
Combined endpoint (local) |
| mcp-connectors | 127.0.0.1:9100/health |
Upstream health status |
| gitlab-mcp | Docker network only | GitLab MCP upstream |
| YouTrack Server | https://youtrack-demo.infiano.app/mcp |
Native YouTrack MCP upstream |
The public virtual host exposes only /mcp and /health. Internal upstream proxy and diagnostic routes are not published.
Start from .env.example. Required settings:
MCP_AGGREGATOR_PORT — localhost port; defaults to 9100GITLAB_API_URL and GITLAB_PERSONAL_ACCESS_TOKENGITLAB_READ_ONLY_MODE, USE_PIPELINE, USE_GITLAB_WIKI, USE_MILESTONEYOUTRACK_BASE_URL and YOUTRACK_PERMANENT_TOKENINTERNAL_YOUTRACK_MCP_URL — normally ${YOUTRACK_BASE_URL}/mcpCode + README in workshop/mcp
Check the stack:
Deployment manifests are kept separately:
deployment/gitlab/docker-compose.yml — pinned GitLab CE. HTTP at 127.0.0.1:8086, Git SSH on port 2224. Data under /opt/gitlab.deployment/youtrack/docker-compose.yml — pinned YouTrack Server. Native MCP requires YouTrack Server 2025.3+ and a permanent token with the YouTrack scope.Start from the deployment directory: