Add KanbanGit MCP v0.1

This commit is contained in:
2026-04-20 20:36:59 +02:00
parent bf0e50464a
commit cd574ec26b
15 changed files with 1289 additions and 6 deletions
+125
View File
@@ -0,0 +1,125 @@
# KanbanGit MCP v0.1
KanbanGit exposes a first-party HTTP MCP server for AI tools that need to read and update tickets without interpreting the OpenAPI document directly.
## Endpoint
- URL: `/mcp/kanbangit`
- Transport: HTTP MCP
- Authentication: `Authorization: Bearer <application-key>`
Application keys are created in Settings > Applications. MCP requests act with the full permissions of the key owner, so project visibility and write permissions match the web UI and JSON API.
## Implemented Tools
### `list_my_assigned_tickets`
Lists tickets assigned to the authenticated application key owner, grouped by visible project.
Inputs:
- `project_id` optional integer. When omitted, all visible projects are included.
Output:
- `data`: project groups with `project` and `tickets`
- `meta.assignee`: authenticated user
### `list_tickets_by_status`
Lists tickets in a target status, grouped by visible project.
Inputs:
- `ticket_status_id` optional integer, preferred stable lookup
- `status_slug` optional string
- `status_name` optional string
- `project_id` optional integer to scope the lookup
If `status_slug` or `status_name` matches more than one visible status, the tool returns an MCP error with matching status IDs so the client can retry with `ticket_status_id` or `project_id`.
Output:
- `data`: project groups with `project` and `tickets`
- `meta.statuses`: statuses used for the lookup
### `get_ticket`
Returns a visible ticket with its project, status, type, priority, assignee, author, field values, and worklog data.
Inputs:
- `ticket_id` required integer
Output:
- `data.project`
- `data.ticket`
### `update_ticket_description`
Updates only the ticket description and preserves all other ticket fields.
Inputs:
- `ticket_id` required integer
- `description` nullable string
Requires project write permission.
### `update_ticket_assignee`
Assigns or unassigns a ticket and preserves all other ticket fields.
Inputs:
- `ticket_id` required integer
- `assignee_user_id` required nullable integer. Use `null` to unassign.
Requires project write permission.
### `move_ticket_status`
Moves a ticket to an allowed target status.
Inputs:
- `ticket_id` required integer
- `ticket_status_id` optional integer, preferred stable lookup
- `status_slug` optional string
- `status_name` optional string
The destination status must belong to the ticket project. When moving to a different status, the transition must be allowed by the ticket's current status.
Output:
- `data.project`
- `data.ticket`
- `meta.destination_label`
- `meta.message`
- `meta.moved`
## OpenClaw Setup Notes
Configure OpenClaw as an HTTP MCP client that points to your KanbanGit host plus `/mcp/kanbangit`.
Send the application key as:
```text
Authorization: Bearer <application-key>
```
Use `list_my_assigned_tickets` for the dashboard-style "my work" view. Use `get_ticket` before updates when the bot needs current ticket context. Prefer IDs over names when moving statuses.
## Noch fehlt
- Ticket creation
- Branch tools
- Ticket links
- Comments and richer worklog tools
- Repository tools
- Project settings tools
- OAuth-based MCP auth
- Scoped or expiring MCP tokens
- Local stdio MCP server
- MCP prompts and resources