# ZenHub MCP MCP

> ZenHub MCP connects your AI agent directly to ZenHub, giving you natural language control over agile boards, epics, and issue estimates. Use it to monitor project progress, update issue statuses across pipelines, or list all associated epics without leaving your chat client.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Tags:** agile-management, issue-tracking, sprint-planning, github-integration, kanban-boards, epics

## Description

Managing an agile board usually means jumping between GitHub, a dedicated dashboard, and Jira—a massive context switch. This MCP changes that. It lets your agent talk directly to ZenHub, pulling in data about which issues are stalled, what the current estimate load is, or what release reports are ready.

Instead of clicking through five separate views just to understand team velocity, you ask for it. Your agent pulls everything together: checking `list_repo_epics` to see the big picture, then running `get_zenhub_issue_data` on specific tasks for details, and finally giving you a single summary report. Because this MCP runs on Vinkius, your agent can even combine ZenHub data with other systems—like chaining it with a messaging MCP—to build automations that span multiple platforms using one AI client. Everything happens securely within the platform's zero-trust proxy, meaning your keys never sit on a disk.

It’s about keeping your focus where it belongs: on solving problems, not navigating dashboards.

## Tools

### get_epic_data
Gets specific details for a single, defined epic in the project.

### get_repo_board
Retrieves the full operational board view for any connected GitHub repository.

### get_workspace_board
Accesses and displays the ZenHub board status for an entire project workspace.

### get_zenhub_issue_data
Pulls specialized metadata unique to a specific GitHub issue from ZenHub.

### list_release_reports
Generates and lists historical reports detailing progress for any project release.

### list_repo_epics
Lists every epic associated with a given repository.

### move_issue_between_pipelines
Changes an issue's status by moving it from one workflow pipeline to another.

### set_issue_estimate
Assigns or updates the story point estimate for a specific task.

## Prompt Examples

**Prompt:** 
```
Show me the ZenHub board for repository ID '12345678'.
```

**Response:** 
```
I've retrieved the ZenHub board for repository 12345678. You have 5 pipelines: 'New Issues', 'Backlog', 'In Progress', 'Review/QA', and 'Done'. Would you like to see the issues in a specific pipeline?
```

**Prompt:** 
```
Move issue #45 in repo '12345678' to the 'In Progress' pipeline (ID: '56789') in workspace '98765'.
```

**Response:** 
```
Successfully moved issue #45 to the 'In Progress' pipeline in your ZenHub workspace.
```

**Prompt:** 
```
What are the estimates for all issues in the current epic?
```

**Response:** 
```
For the current epic, I found 8 issues. Total estimated points: 34. Current distribution: 3 issues (8 pts), 2 issues (5 pts), 3 issues (3 pts).
```

## Capabilities

### View Board Status
Retrieves the current structure and contents of ZenHub boards for either a specific repository or an entire workspace.

### Adjust Issue Workflow
Moves issues from one pipeline to another, instantly updating the task's official status in your workflow.

### Determine Task Effort
Sets or reads the story point estimate for any specific issue in the system.

### Map Epic Details
Retrieves full metadata and associated issues for a defined ZenHub epic.

### Check Project History
Lists historical release reports, giving you visibility into project progress over time.

## Use Cases

### The PM needs a status update before the standup
Instead of opening five tabs, the PM asks their agent: 'What's the board status for repo XYZ and which epics are blocked?' The agent runs `get_workspace_board` and `list_repo_epics`, returning an instant summary.

### The Engineer is ready to start work
An engineer doesn't want to open the issue, find the estimation field, and input a number. They just say: 'Set story point estimate for this task.' The agent executes `set_issue_estimate`.

### The Scrum Master needs to force a workflow update
A task is done in QA but isn't marked as such. The SM tells the agent: 'Move issue #123 to Done.' The agent calls `move_issue_between_pipelines` and updates the status immediately.

### The Team needs to scope a new feature
A developer asks: 'List all epics for this repo, and what's the current estimate breakdown?' The agent uses `list_repo_epics` then runs `get_zenhub_issue_data` to calculate total points.

## Benefits

- Stop manually checking the board. Your agent can read `get_repo_board` status on demand, showing you exactly where every issue sits in your pipeline.
- Never lose track of scope again. Use `list_repo_epics` and `get_epic_data` to instantly pull up all related issues for any major project goal.
- Keep the sprint moving fast. With `move_issue_between_pipelines`, you update an issue's status from 'To Do' to 'In Progress' with a simple command, no dashboard clicks needed.
- `set_issue_estimate` lets engineers record story points directly via natural language, making planning data capture instantaneous and accurate.
- Review project history easily. You can call `list_release_reports` to see progress metadata across multiple cycles without digging through archives.

## How It Works

The bottom line is that you talk to your agent, and it executes all the necessary API calls through this MCP.

1. Subscribe to this MCP and provide your ZenHub API token credentials.
2. Connect your preferred AI client (Claude, Cursor, etc.) to the Vinkius platform.
3. Send a natural language command like, 'Show me the board for repo X and tell me which issues need their estimates set.'

## Frequently Asked Questions

**How do I check all epics with get_epic_data?**
You first run `list_repo_epics` to see the list of available epics for a repository. Then, you pass the name of the specific epic into `get_epic_data` to pull its full details.

**Does ZenHub MCP help me estimate tasks?**
Yes, you use `set_issue_estimate`. You just tell your agent which issue and what point value to assign. The tool updates the official record for you.

**What is the difference between get_repo_board and get_workspace_board?**
Use `get_repo_board` when you only care about one specific repository's board view. Use `get_workspace_board` if you need to see the aggregate status across an entire project workspace.

**Can I track progress over time using list_release_reports?**
Yes. Running `list_release_reports` retrieves historical data, letting you compare current performance against previous release cycles to spot trends.

**How does using `get_zenhub_issue_data` secure my project metadata?**
The MCP uses a zero-trust proxy for all credentials. Your keys are only used during the call's transit and never stored on disk, meaning your data stays private throughout every operation.

**If I run `move_issue_between_pipelines` with bad data, how does the agent handle the failure?**
The MCP provides structured error feedback. If an issue is invalid or already in a final state, the tool returns a specific error code and message, letting your agent report exactly what went wrong.

**When I use `get_epic_data`, what detailed metadata does it provide about the epic?**
It gives full context beyond just issue names. You get the core details of the epic, including its creator, target release, and associated scope, allowing you to understand the entire project structure.

**What if I run `list_repo_epics` too frequently in one session?**
The platform manages rate limiting automatically. If you exceed allowed calls, the MCP will pause the request and signal that limit has been reached, preventing unexpected failures.

**How do I find my GitHub Repository ID?**
You can find your Repository ID in your GitHub settings, or use a GitHub MCP server to query your repository metadata.

**Can I move an issue to a different pipeline using this agent?**
Yes, the `move_issue_between_pipelines` tool allows you to specify a workspace, repository, issue number, and target pipeline ID to update the status.

**Is it possible to set story point estimates?**
Absolutely. Use the `set_issue_estimate` tool with the repository ID, issue number, and your desired point value.