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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceMCP Server providing AI agents with tooling for Gerrit code review workflows via stdio transport.Last updated221MIT
- Alicense-qualityDmaintenanceAn MCP server that enables language models to query and manage Gerrit code reviews via the REST API.Last updated1Apache 2.0
- AlicenseBqualityDmaintenanceMCP server for interacting with Gitea, enabling issue and PR management, repository browsing, file reading, and safe git command execution.Last updated111501MIT
- AlicenseBqualityAmaintenanceMCP server that exposes GitHub operations as tools for AI agents, enabling code search, issue management, and PR review.Last updated12MIT
Related MCP Connectors
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jabhishek87/devhub-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server