get_v1_tracker_projects_key_issues
ListIssues returns the issues of one tracker project, optionally filtered by status, kind, repo and source.
ListIssues returns the issues of one tracker project, optionally filtered by status, kind, repo and source.
This is the ONE place a surface takes its slice of the shared issue table: hanzo.team passes no filter or a status, a git repository's Issues tab passes kind=issue&repo=<r> and its Pull Requests tab kind=pr&repo=<r>. A filter value outside its closed set is refused with 400 rather than silently returning an empty board.
| Tool | get_v1_tracker_projects_key_issues |
| Door | https://api.hanzo.ai/v1/mcp |
| Method | tools/call (JSON-RPC 2.0) |
| Arguments | 5 |
| Operation | GET /v1/tracker/projects/{key}/issues |
| Product | tracker |
Arguments
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
key | string | — | — | Key is the project whose issues to list, from the path. |
kind | string | — | — | Kind keeps only work items of that shape: issue, pr or epic. An unknown value is refused with 400. |
repo | string | — | — | Repo keeps only issues bound to that git repository. |
source | string | — | — | Source keeps only issues opened from that surface: team, git, crm, helpdesk, cms or agent. An unknown value is refused with 400. |
status | string | — | — | Status keeps only issues in that board column: backlog, todo, in_progress, done or canceled. An unknown value is refused with 400. |
This tool's schema does not declare which fields are required, nor any default, nor any enumerated value set. The columns above are empty because the door publishes nothing there, not because the answer is "none" — where a field is constrained, the constraint is stated in that field's own description.
Call it
A tools/call carries every argument in one flat object — nothing binds to a path or a query string. Every declared argument is shown, because the door marks none of them required.
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_v1_tracker_projects_key_issues",
"arguments": {
"key": "<key>",
"kind": "<kind>",
"repo": "<repo>",
"source": "<source>",
"status": "<status>"
}
}
}'Values are placeholders derived from each field's declared type. tools/list needs no credential; tools/call does — called without one the door answers HTTP 200 with a JSON-RPC result whose isError is set and whose text says what was missing. How to get a key →
The operation behind it
| Operation | Route | Product | Summary |
|---|---|---|---|
cloud_get_v1_tracker_projects_key_issues | GET /v1/tracker/projects/{key}/issues | tracker | ListIssues returns the issues of one tracker project, optionally filtered by status, kind, |
The same capability over plain HTTP is in the tracker API reference, on https://api.hanzo.ai.
All 834 tools · The door · API reference
Generated from tools/list on https://api.hanzo.ai/v1/mcp — 834 tools captured 2026-08-01 (this build read the vendored copy; the door was unreachable).
How is this guide?