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.
Guided setup
Connect Zenhub to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect Zenhub in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
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 + Microsoft Copilot
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 Microsoft Copilot
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.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Zenhubtools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
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
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?