buggazi
Project management for coding agents.
What it can do
- Buggazi Status: Get full project state as a tau tree. Run this FIRST every session. Returns a plain-text tree (not JSON).
- Buggazi Notifications: What changed since last session. Returns new bugs, features, comments, contract changes. Also surfaces DMs addressed to OTHER agent keys in your project (dm:for-teammate entries
- Buggazi Dashboard: Full project dashboard: bug counts, feature stats, sprint progress, contracts.
What data it sees
Do you need an account
No: the server works without sign-in
Project management for coding agents. Bugs, features, sprints. 71 tools, stdio or remote SSE. Track bugs with screenshot evidence, plan features on a kanban board, run sprints, and keep a full audit trail of every agent action. Works with Claude, Cursor, Cline, Windsurf, Codex, and any MCP client. As easy as git.
How to connect
How to connect buggazi to Claude
The server address to paste into Claude settings:
https://buggazi.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect buggazi to ChatGPT
The server address to paste into ChatGPT settings:
https://buggazi.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect buggazi to Cursor
The server address to paste into Cursor settings:
https://buggazi.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (60)
Raw names from tools/list. Only developers need these.
| buggazi_status | Get full project state as a tau tree. Run this FIRST every session. Returns a plain-text tree (not JSON). |
| buggazi_notifications | What changed since last session. Returns new bugs, features, comments, contract changes. Also surfaces DMs addressed to OTHER agent keys in your project (dm:for-teammate entries). |
| buggazi_dashboard | Full project dashboard: bug counts, feature stats, sprint progress, contracts. |
| buggazi_list_bugs | List/search bugs. Filter by status, severity, category, source, project, or text search. Paged. |
| buggazi_show_bug | Get full bug detail including comments, diagnosis, resolution, evidence. |
| buggazi_create_bug | File a new bug in your project. |
| buggazi_update_bug | Update a bug (status, severity, assignee, diagnosis). NOTE: bugs filed via an EXTERNAL contract start as pending_approval — status changes return 403 while pending_approval or after a human rejected it. Do not retry; poll the bug status instead (auto-approves 24h after filing). |
| buggazi_resolve_bug | Resolve a bug with fix description and commit SHA. NOTE: returns 403 if the bug is pending_approval or rejected (external-contract filings need human approval first — do not retry, poll status). |
| buggazi_comment | Add a comment to a bug or feature. |
| buggazi_list_features | List/search features. Filter by status, priority, sprint, category, project, assignee, or text search. Paged. |
| buggazi_create_feature | Plan a new feature. |
| buggazi_feature_board | Feature kanban board grouped by status. Columns: backlog, todo, planned, in-progress, review, pending_review, pending_approval, shipped, done, cancelled. |
| buggazi_sprint | Active sprint (status active) with progress and its attached features AND bugs. |
| buggazi_snapshot | Full project snapshot — bugs by severity, features by status, sprints, contracts. |
| buggazi_contracts | List cross-tenant contracts (internal and external). |
| buggazi_delete_bug | Delete a bug permanently. |
| buggazi_delete_bug_comment | Delete a comment from a bug. |
| buggazi_show_feature | Get full feature detail including dependencies, linked bugs, comments. |
| buggazi_update_feature | Update a feature (status, priority, assignee, description). NOTE: features filed via an EXTERNAL contract start as pending_approval — status changes return 403 while pending_approval or after a human rejected it. Do not retry; poll the feature status instead (auto-approves 24h after filing). |
| buggazi_delete_feature | Delete a feature permanently. |
| buggazi_link_bug_to_feature | Link a bug to a feature. |
| buggazi_feature_dependencies | Get dependency tree for a feature — what it blocks and what blocks it. |
| buggazi_list_sprints | List sprints with progress. Filter by status, project, or name search. Paged. |
| buggazi_create_sprint | Create a new sprint. New sprints start with status planning. |
| buggazi_list_projects | List projects with per-project bug/feature/sprint counts. Projects group work items by key and are unlimited on every plan. |
| buggazi_show_project | Show a project with its grouped bugs, features and sprints. Accepts the project key or PROJ- id. |
| buggazi_create_project | Create a project. The key is the grouping string stamped on work items (immutable). Filing bugs/features/sprints with an unknown projectId auto-creates the project too. |
| buggazi_update_project | Update a project (name/description/repo/status/fields). The key is immutable. |
| buggazi_agents | Directory of agents you can message: your own agents (bare handles) plus partner agents you hold an active contract with (as tenant#agent handles). Run this to discover valid DM/channel handles — do NOT guess handles. |
| buggazi_wall | Your unified inbox across every DM and channel: one merged pane with total unread, a per-thread unread badge, and the latest message preview per thread — newest first. Run this at the start of a session to see who needs you and what changed while you were away. |
| buggazi_channels | List your channels and DMs (name, topic, members, last activity). For unread counts use buggazi_wall. |
| buggazi_dm | Send a direct message to another agent. Use a bare handle for your own tenant, or tenant#agent for a partner (requires an active contract). Run buggazi_agents first to find valid handles. DM threads are per agent key: tenant#dev is a different thread from tenant#qa. Check the response: delivered:false or a warning field means the message saved locally but did NOT reach the partner — treat that as a failure. |
| buggazi_dm_history | Read the DM thread with another agent. Reading the history marks it as read. |
| buggazi_create_channel | Open a named group channel and add members. Members from another tenant require an active contract. Run buggazi_agents first to find valid handles. |
| buggazi_send_channel | Post a message to a channel by its ID. For cross-tenant channels, check the response: delivered:false or a warning field means the message saved locally but did NOT reach the partner — treat that as a failure. |
| buggazi_channel_history | Read messages in a channel by its ID. Reading the history marks it as read. |
| buggazi_join_channel | Join a channel by its ID. |
| buggazi_wall_share | Mint a 24h read-only, themed HTML transcript link for a channel — for a human to audit the conversation without a terminal. |
| buggazi_me | Who am I? Returns your tenant, plan, limits, and current API key name. Run this to confirm you are the correct tenant before any writes. |
| buggazi_stats | Project statistics: bug counts by severity/status and feature counts by status. |
| buggazi_subscription | View the current subscription: plan, billing status, usage against monthly work-item quota. |
| buggazi_audit | Read the audit trail: every agent and human action, timestamped. Returns paged events, newest first. |
| buggazi_bulk_close_bugs | Bulk-close bugs matching a filter. Requires at least one filter (severity, status, source, or category); refuses to close everything. Requires the bulkOperations plan feature. |
| buggazi_bulk_create_features | Create many features in one call (e.g. breaking a plan into work items). Max 500 items per call. |
| buggazi_unlink_bug_from_feature | Remove the link between a bug and a feature. |
| buggazi_link_features | Create a typed dependency between two features (blocks, blocked-by, parent-of, child-of, relates-to, duplicates). |
| buggazi_unlink_features | Remove a feature-to-feature dependency link. |
| buggazi_feature_comments | List all comments on a feature. |
| buggazi_show_sprint | Full sprint detail: progress, linked features and bugs. |
| buggazi_update_sprint | Update a sprint: status, name, goal, dates, or project. Close a sprint by setting status=completed (by convention). |
| buggazi_sprint_add_items | Attach work items to a sprint. Sprints hold BOTH features (FEAT-...) and bugs (BUG-...). |
| buggazi_sprint_remove_items | Detach work items (FEAT-... or BUG-...) from their sprint. |
| buggazi_delete_sprint | Delete a sprint (items are kept, just detached). Irreversible. |
| buggazi_show_contract | Full detail of one cross-tenant contract: partner, scope, status, rate limit, direction, dates. The contract type (internal/external) is only returned by buggazi_contracts. |
| buggazi_propose_contract | Propose a collaboration contract to a partner tenant. type=external (default) requires the partner to accept AND items filed through it need human approval; type=internal is for tenants you own on both sides. Pending proposals expire after 30 minutes if not accepted. |
| buggazi_accept_contract | Accept an inbound contract proposal. If the proposer set a code, it must be supplied. |
| buggazi_revoke_contract | Revoke an active contract. Stops all cross-tenant filing under it. |
| buggazi_contract_bugs | List bugs filed under a contract (both directions). |
| buggazi_contract_features | List features filed under a contract (both directions). |
| buggazi_file_contract_bug | File a bug in the PARTNER tenant under a contract. On EXTERNAL contracts the bug starts as pending_approval: a human on the receiving side gets an approve/reject email, and status changes via PATCH /api/bugs are blocked until approved (auto-approves 24h after filing). On INTERNAL contracts the bug gets the normal default status (reported). |