zube-mcp
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., "@zube-mcpList cards in workspace 'Backlog' for project 'Web App'"
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.
zube-mcp
MCP server for the Zube.io project management API. Exposes Zube boards, cards, epics, tickets, sprints, and workspaces as tools that AI assistants can call.
Setup
Prerequisites
Python 3.10+
uv:
macOS:
brew install uvWindows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"orwinget install astral-sh.uvAny platform:
pip install uv
SSH access to this GitHub repo
1. Get your Zube API credentials
Go to Zube.io → Account Settings → API Keys
Create a new API key — this gives you a Client ID and a private key file (PEM)
Save the private key somewhere safe (e.g.
~/.zube/private-key.pem)
2. Configure in Cursor
Add to your .cursor/mcp.json (project-level or global ~/.cursor/mcp.json):
{
"mcpServers": {
"zube": {
"command": "uvx",
"args": ["--from", "git+ssh://git@github.com/reachreporting/zube-mcp", "zube-mcp"],
"env": {
"ZUBE_CLIENT_ID": "your-client-id-here",
"ZUBE_PRIVATE_KEY_PATH": "/path/to/your/private-key.pem"
}
}
}
}Replace the env values with your own Zube credentials. uvx will install the package directly from GitHub — no clone needed.
To pin a specific version, tag a release and append it to the URL:
git+ssh://git@github.com/reachreporting/zube-mcp@v0.3.0Alternative: local install
If you prefer to clone and run locally:
git clone git@github.com:reachreporting/zube-mcp.git
cd zube-mcp
pip install -e .Then point the Cursor config at your local path:
"args": ["--from", "/path/to/zube-mcp", "zube-mcp"]Related MCP server: Fizzy Do MCP
Development
Making changes
After editing the source code, you must bump the version in pyproject.toml for Cursor to pick up changes. This is because uvx caches the built package by version — if the version hasn't changed, it serves the stale cached copy.
# 1. Edit code in zube_mcp/
# 2. Bump version in pyproject.toml (e.g. 0.2.0 → 0.3.0)
# 3. Commit and push
# 4. In Cursor: Settings → MCP → toggle zube off, then onTo verify your changes locally before restarting Cursor:
uvx --from . python3 -c "
from zube_mcp.server import mcp
import inspect
from zube_mcp.server import list_cards
print(inspect.signature(list_cards))
"Zube API reference
Full API docs: https://zube.io/docs/api
Key concepts for adding new filters:
List endpoints support
where[field]=valuequery params for filteringThe
_build_params()helper inserver.pyconverts awheredict into these query params automaticallyArray filters (e.g.
assignee_ids) usewhere[field][]=value(handled by_build_paramswhen the value is a list)Card numbers (the
#12345visible in the UI) are distinct from internal card IDs — usewhere[number]to filter by the visible number
Known Zube API quirks
get_cardrequires the internal card ID, not the visible card number. Useget_card_by_numberto look up by the human-visible#number.search_keyon list endpoints is a full-text search and can be unreliable for finding cards by number.List responses return items in
dataarray with apaginationobject.Rate limit: 1 request/second. Short bursts are tolerated but sustained higher rates will be rejected.
Available Tools
Person & Accounts
Tool | Description |
| Get the authenticated user's profile |
| List organizations the user belongs to |
| Get details for a specific account |
Projects
Tool | Description |
| List projects (optionally by account) |
| Get project details |
| Create a new project |
Workspaces (Kanban Boards)
Tool | Description |
| List workspaces (optionally by project) |
| Get workspace details |
| Create a new workspace |
Cards (Issues / PRs)
Tool | Description |
| List cards with filters (project, workspace, sprint, epic, number, state, search) |
| List cards scoped to a project (also supports number filter) |
| List cards in a project's triage |
| Get full card details by internal ID |
| Look up a card by its visible |
| Create a card |
| Update a card |
| Move a card to a column or triage |
| Archive a card |
Card Comments
Tool | Description |
| List comments on a card |
| Add a comment |
| Edit a comment |
| Delete a comment |
Epics
Tool | Description |
| List epics for a project |
| Get epic details |
| Create an epic |
| Update an epic |
| List cards in an epic |
Sprints
Tool | Description |
| List sprints for a workspace |
| Get sprint details |
| Create a sprint |
| Update a sprint |
Tickets
Tool | Description |
| List tickets for a project |
| Get ticket details |
| Create a ticket |
| Update a ticket |
Labels & Members
Tool | Description |
| List project labels |
| Create a label |
| List connected GitHub repos |
| List project members |
| List account members |
Architecture
zube_mcp/
auth.py # RS256 JWT creation for Zube's refresh token flow
client.py # Async HTTP client with automatic token management
server.py # FastMCP tool definitions (40 tools)The auth flow:
Sign a 60-second JWT with your private key
Exchange it at
POST /api/users/tokensfor a 24-hour access tokenThe client auto-refreshes when the token is near expiry
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-qualityCmaintenanceMCP server that wraps the jira-cli command-line tool to enable AI assistants to interact with Jira.149MIT
- Alicense-qualityCmaintenanceOpen-source MCP server that connects AI assistants to Fizzy (Basecamp's task management) with 70+ tools for boards, cards, workflows, and AI-powered project management.243MIT
- Alicense-qualityAmaintenanceMCP server that enables AI agents to manage tasks, boards, lists, and comments on a Kanban-style project management system through JSON-RPC methods.72AGPL 3.0
- AlicenseBqualityDmaintenanceFull-featured MCP server for Taiga project management, enabling AI agents to manage projects, epics, user stories, tasks, issues, sprints, wiki pages, memberships, and roles via Taiga API v1.100222MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for generating rough-draft project plans from natural-language prompts.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
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/reenrik/zube-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server