devhub-mcp
Provides tools for searching and managing code reviews, including viewing changes, diffs, projects, and performing review actions like posting reviews, adding reviewers, and submitting changes.
Provides tools for browsing and searching OpenDev repositories, including listing branches, file contents, commits, and organizations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@devhub-mcpsearch for openstack repos with topic 'network'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DevHub MCP Gateway
Unified MCP gateway on k3s. All developer tools exposed as a single MCP endpoint.
Architecture
main.py — Master gateway (single MCP process)
mcp_servers/
middleware.py — Aggregates local sub-server tools into hub
proxy.py — Proxies remote MCP servers into hub
gerrit.py — OpenDev/Gerrit (direct API)
jenkins.py — Jenkins CI (direct API)
jira.py — Jira (direct API)
confluence.py — Confluence (direct API)Tool Sources
Source | Tools | Method |
Gerrit/Gitea | 21 | Direct API calls |
Jenkins | 17 | Direct API calls |
Jira | 19 | Direct API calls |
Confluence | 11 | Direct API calls |
Excalidraw | 5 | Proxied from remote MCP server |
healthz | 1 | Built-in |
Total | 74 |
Related MCP server: Gerrit MCP Server
Secrets
Create secrets_rc (gitignored) with all tokens:
export GERRIT_USER="your-user"
export GERRIT_HTTP_PASSWORD="your-pass"
export JENKINS_URL="http://jenkins.example.com/"
export JENKINS_USER="your-user"
export JENKINS_API_TOKEN="your-token"
export JIRA_URL="https://jira.example.com"
export JIRA_TOKEN="your-pat"
export CONFLUENCE_URL="https://confluence.example.com"
export CONFLUENCE_TOKEN="your-pat"Deployment (k3s)
Build and Deploy
# Build image
docker build -t devhub-mcp:latest .
# Import into k3s
docker save devhub-mcp:latest | sudo k3s ctr images import -
# Create namespace and apply manifests
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/configmap.yaml
kubectl apply -f k8s/secret.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
# Wait for rollout
kubectl -n devhub rollout status deployment/devhub-gatewayPopulate Secrets
After applying the template, patch with real values:
source secrets_rc
kubectl -n devhub patch secret devhub-secrets --type merge -p "{\"stringData\":{
\"GERRIT_USER\":\"$GERRIT_USER\",
\"GERRIT_HTTP_PASSWORD\":\"$GERRIT_HTTP_PASSWORD\",
\"JENKINS_URL\":\"$JENKINS_URL\",
\"JENKINS_USER\":\"$JENKINS_USER\",
\"JENKINS_API_TOKEN\":\"$JENKINS_API_TOKEN\",
\"JIRA_URL\":\"$JIRA_URL\",
\"JIRA_TOKEN\":\"$JIRA_TOKEN\",
\"CONFLUENCE_URL\":\"$CONFLUENCE_URL\",
\"CONFLUENCE_TOKEN\":\"$CONFLUENCE_TOKEN\"
}}"Redeploy After Code Changes
docker build -t devhub-mcp:latest .
docker save devhub-mcp:latest | sudo k3s ctr images import -
kubectl -n devhub rollout restart deployment/devhub-gatewayService Access
NodePort exposes the gateway on port 30080:
http://yow-ajaiswal-lx2.corp.ad.wrs.com:30080/mcpVerify
kubectl -n devhub get pods -l app=devhub-gateway
kubectl -n devhub logs deployment/devhub-gatewayMCP Client Config
Kiro (~/.kiro/settings/mcp.json)
{
"mcpServers": {
"gateway": {
"url": "http://yow-ajaiswal-lx2.corp.ad.wrs.com:30080/mcp"
}
}
}Adding a New Sub-Server
Local (direct API):
Create
mcp_servers/myservice.pywithmcp = FastMCP("myservice")and@mcp.tool()functionsIn
main.py:load_subserver(hub_mcp, myservice_mcp)
Remote (proxy from existing MCP server):
In
main.py, add URL+token toREMOTE_SERVERSdictTools are discovered and proxied automatically
Standalone Mode
Each local sub-server runs independently for testing:
source secrets_rc
python mcp_servers/gerrit.py
python mcp_servers/jenkins.py
python mcp_servers/jira.py
python mcp_servers/confluence.pyTroubleshooting
SSL errors: Internal WRS endpoints use corporate CA. The container uses
verify=Falsefor these.Stale session after redeploy: Restart Kiro session to get a fresh MCP session ID.
Tool timeout: Check pod logs —
kubectl -n devhub logs deployment/devhub-gateway
This server cannot be deployed
Maintenance
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP Server providing AI agents with tooling for Gerrit code review workflows via stdio transport.186 npm1MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that enables language models to query and manage Gerrit code reviews via the REST API.1Apache 2.0
- AlicenseBqualityDmaintenanceMCP server for interacting with Gitea, enabling issue and PR management, repository browsing, file reading, and safe git command execution.1144 npm1MIT
- AlicenseBqualityCmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.12MIT