Skip to main content

MCP Server

Zenhub's MCP server lets you query and interact with your Zenhub data through AI clients like Claude Code, Cursor, Windsurf, Gemini CLI, and even Claude Desktop.

Our MCP server wraps the Zenhub GraphQL API, and exposes a number of tools to search and modify issues, understand your current sprint, and more.

For more on what MCP is, see this introduction

Prerequisites

To connect to the MCP server, you'll need:

Configuring your MCP client

Each MCP client has a slightly different way to accessing your MCP settings. For the most part, however, they use the same JSON format for MCP configuration.

Below is the JSON to use to connect your MCP client to Zenhub. Note that you'll need to replace the following values:

  • YOUR_ZENHUB_TOKEN with your Zenhub API token
  • YOUR_ZENHUB_WORKSPACE_ID with your Zenhub workspace ID
{
"mcpServers": {
"zenhub": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.zenhub.com/mcp",
"--header",
"Authorization:${API_TOKEN}",
"--header",
"X-zh-workspace:YOUR_ZENHUB_WORKSPACE_ID"
],
"env": {
"API_TOKEN": "YOUR_ZENHUB_TOKEN"
}
}
}
}

Cursor

  • Hit Cmd-Shift-J (Ctrl-Shift-J on Windows), and click the "MCP Tools" tab on the left
  • Click "New MCP Server"
  • Use the JSON above in the newly opened json file
  • Start a chat and ask it which issue you should work on. The LLM should figure out to use the tools exposed via this MCP server to answer this.

Claude Code

Claude Code includes a /mcp command to add servers, but manually editing its JSON settings is simpler and less error-prone. This guide explains why manually editing your claude.json file is a simpler option.

  • Edit your claude.json (on macOS, this will be located at ~/claude.json) and include the json snippet above
  • Note that the mcpServers key is present for each directory/project you use Claude Code in. You'll want to add that JSON into each project where you want to use this MCP server.