Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Zenhub in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Work with Zenhub boards from an AI agent through the GraphQL API: workspaces, pipelines and the issues in them, issue details, sprints and their issues, epics and their child issues, estimates; move issues, set estimates, plan sprints, create issues and comment. 17 typed tools plus a generic query tool, personal API key.
Try asking
Example prompts for Zenhub
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Zenhub, paste your credentials, mint an MCP API key — done. No Docker, no
git clone, no local server.
Zenhub + Gemini
Work with Zenhub boards from an AI agent through the GraphQL API: workspaces, pipelines and the issues in them, issue details, sprints and their issues, epics and their child issues, estimates; move issues, set estimates, plan sprints, create issues and comment. 17 typed tools plus a generic query tool, personal API key.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
ZENHUB_API_KEY
Step 1 — Get credentials
The connector talks to the Zenhub GraphQL API with a personal API key. The key acts as its user: workspaces and repositories that user cannot see are missing from every result.
- In Zenhub open the API section of the dashboard (https://app.zenhub.com/settings/tokens) and create a Personal API Key for the GraphQL API. A user can have up to 5 keys.
- Copy the key right away (it is shown once) and paste it into
ZENHUB_API_KEYwithoutBearerin front. A legacy REST token does not work here. - Call
zenhub_get_viewerto check the key, find a workspace withzenhub_search_workspaces, then read the board withzenhub_list_pipelinesandzenhub_list_pipeline_issues.
Things to know:
- Each key gets 90 seconds of processing time per minute and at most 30 concurrent requests, and one query may not exceed 200 complexity points. That is why the list tools return 10 to 30 items by default; page with
afterset topageInfo.endCursor. - Zenhub ids are opaque strings. The write tools need the Zenhub issue
id, not the issue number. - For what the typed tools do not cover (releases, roadmaps, dependencies, priorities, labels), use
zenhub_graphql_queryorzenhub_graphql_mutation. zenhub_move_issue,zenhub_set_estimate,zenhub_add_issues_to_sprints,zenhub_create_issueandzenhub_add_commentchange the board or post content the team sees.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Gemini
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Gemini CLI reads MCP servers from ~/.gemini/settings.json (on Windows %USERPROFILE%\.gemini\settings.json). Add:
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Create an MCP API key in AnythingMCP under MCP Servers → your server → API keys, and paste it in place of
YOUR_MCP_API_KEY. - Save the file and restart
gemini. - Run
/mcpinside Gemini CLI (orgemini mcp listin your shell) —anythingmcpshould show as connected. - Start prompting — Gemini CLI can now call the
Zenhubtools.
Available tools
| Tool | What it does |
|---|---|
zenhub_get_viewer | Return the Zenhub user behind the API key (id, name, email, GitHub login) and the Zenhub organizations it belongs to |
zenhub_list_organizations | List the Zenhub organizations of the user with their workspaces (id, name, description) |
zenhub_search_workspaces | Find workspaces the user can access by name |
zenhub_get_workspace | Get one workspace: name, description, organization, default repository, connected repositories (Zenhub id, GitHub id, name), the active… |
zenhub_list_pipelines | List the pipelines (board columns) of a workspace in board order: id, name, description and stage (BACKLOG, SPRINT_BACKLOG, DEVELOPMENT… |
zenhub_list_pipeline_issues | List the issues in one pipeline (board column), in board order: id, number, title, state, repository, estimate, plus the total count |
zenhub_get_issue | Get one issue by repository and number: title, body, state, type, estimate, its pipeline in the workspace, sprints, labels, assignees and… |
zenhub_list_sprints | List the sprints of a workspace, newest first: id, name, state, start and end, total and completed story points, closed issue count. state… |
zenhub_list_sprint_issues | List the issues in one sprint: id, number, title, state, repository and estimate, plus the sprint's points |
zenhub_list_epics | List the Zenhub epics of a workspace: id, title, state (open, to do, in progress or closed), start and end dates, estimate, and issue count… |
zenhub_list_epic_issues | List the child issues of one or more Zenhub epics: id, number, title, state, repository and estimate |
zenhub_get_estimate_values | List the estimate values (story point scale) allowed in each repository of a workspace, for example 1, 2, 3, 5, 8 |
zenhub_move_issue | Move an issue to another pipeline (board column) of the workspace that owns the pipeline, at a position (0 = top) |
zenhub_set_estimate | Set the estimate (story points) of an issue, or clear it by leaving value out |
zenhub_add_issues_to_sprints | Add one or more issues to one or more sprints |
zenhub_create_issue | Create an issue in a repository of the workspace (a GitHub repository, or the workspace's Zenhub repository for a Zenhub issue) |
zenhub_add_comment | Post a comment on an issue or epic |
zenhub_graphql_schema_url | Return the URL of the GraphQL schema (SDL) |
zenhub_graphql_schema | Fetch the GraphQL schema: a summary, one type, a search slice or the full SDL |
zenhub_graphql_query | Run an arbitrary GraphQL query |
zenhub_graphql_mutation | Run an arbitrary GraphQL mutation |
zenhub_graphql_subscription | Run an arbitrary GraphQL subscription (if the API supports it) |
FAQ
Where does Gemini CLI look for MCP servers? In ~/.gemini/settings.json for your user, or in .gemini/settings.json inside a project. gemini mcp list shows each server and whether it connects.
Next steps
Was this guide helpful?