Skip to content
Agentmart
Submit a tool

MCP Server Zuuna

MCP server for Zuuna: coding agents work your git-truth kanban board via the v1 API.

Connector by kenzotp · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/kenzotp-mcp-server-zuuna

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for Zuuna: coding agents work your git-truth kanban board via the v1 API. 73 tools.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
29 read · 37 write · 9 delete · 3 not yet classified
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 78

Read from the source code; the running server may list different tools.

Read 29 · Look things up without changing anything.

  • standup_summary
  • zuuna_board
  • zuuna_boards
  • zuuna_card
  • zuuna_get_attachment
  • zuuna_get_release
  • zuuna_get_sprint
  • zuuna_list_active_timers
  • zuuna_list_attachments
  • zuuna_list_automations
  • zuuna_list_board_cards
  • zuuna_list_board_fields
Show 17 more tools
  • zuuna_list_card_time
  • zuuna_list_checklist
  • zuuna_list_columns
  • zuuna_list_comments
  • zuuna_list_deployments
  • zuuna_list_epics
  • zuuna_list_group_cards
  • zuuna_list_group_members
  • zuuna_list_groups
  • zuuna_list_recurring_cards
  • zuuna_list_relations
  • zuuna_list_releases
  • zuuna_list_sprints
  • zuuna_list_webhook_deliveries
  • zuuna_list_webhooks
  • zuuna_me
  • zuuna_search_cards

Write 37 · Create, change, send or run things.

  • session_start
  • zuuna_add_cards_to_sprint
  • zuuna_add_checklist_item
  • zuuna_add_relation
  • zuuna_archive_card
  • zuuna_comment
  • zuuna_create_board
  • zuuna_create_card
  • zuuna_create_cards
  • zuuna_create_column
  • zuuna_create_epic
  • zuuna_create_recurring_card
Show 25 more tools
  • zuuna_create_release
  • zuuna_create_sprint
  • zuuna_create_webhook
  • zuuna_import_time_entries
  • zuuna_link_git_branches
  • zuuna_log_time
  • zuuna_move_card
  • zuuna_move_card_to_board
  • zuuna_record_git_events
  • zuuna_report_ci_checks
  • zuuna_report_deployment
  • zuuna_restore_card
  • zuuna_start_timer
  • zuuna_stop_timer
  • zuuna_test_webhook
  • zuuna_unarchive_card
  • zuuna_update_card
  • zuuna_update_checklist_item
  • zuuna_update_epic
  • zuuna_update_recurring_card
  • zuuna_update_release
  • zuuna_update_sprint
  • zuuna_update_time_entry
  • zuuna_update_webhook
  • zuuna_upload_attachment

Delete 9 · Delete, drop, revoke or wipe things.

  • zuuna_delete_attachment
  • zuuna_delete_card
  • zuuna_delete_checklist_item
  • zuuna_delete_recurring_card
  • zuuna_delete_relation
  • zuuna_delete_release
  • zuuna_delete_time_entry
  • zuuna_delete_webhook
  • zuuna_remove_card_from_sprint

Not yet classified 3 · We could not tell from the name and description.

  • plan_sprint
  • session_end
  • triage_board

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ZUUNA_API_TOKEN

Other settings (environment variables or headers).

  • ZUUNA_BASE_URL
  • ZUUNA_TIMEOUT_MS

Files it touches

  • Any path the agent passes to its tools

Tools (78)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • plan_sprint

    Draft a sprint plan from a group's backlog.

  • session_end

    Leave a card in a state the next session (human or model) can pick up from.

  • session_start

    Orient on a board before doing anything: read it, understand a card, then act.

  • standup_summary

    Summarise what moved on a board since a given time, for a human standup.

  • triage_board

    Sweep a board for cards that need attention: no assignee, overdue, or stuck.

  • zuuna_add_cards_to_sprint

    Pull cards into a sprint. Each must belong to the sprint's own group. If the sprint already has a materialized (started) board, a card moves onto it; otherwise it is simply planned in. Response lists which ids were added vs. skipped, with a reason.

  • zuuna_add_checklist_item

    Add a checklist item to a card (appended at the end).

  • zuuna_add_relation

    Link this card to another. `type` is one of the catalog values ("clones" is set automatically by Zuuna and is refused here). `direction` (outward|inward, default outward) picks which card is the semantic SOURCE for a non-symmetric type — e.g. outward "blocks" means THIS card blocks the target. A scheduling type (fs/ss/ff/sf) may carry lagDays and is refused if it would create a dependency cycle.

  • zuuna_archive_card

    Archive a card (reversible — see zuuna_unarchive_card).

  • zuuna_boardread-only

    Get one board assembled: its columns (in order, with WIP limits and SLA hours) and its cards (key, title, column, priority, type). The card list pages at 200; when more cards exist the response carries cardsTruncated and a nextCursor — pass that back as cardsCursor for the next page. Accepts the board id, its key (card prefix) or its title.

  • zuuna_boardsread-only

    List the workspace's boards (non-archived, non-private). Each entry carries id, title, key (card prefix), groupId. Use the id with zuuna_board.

  • zuuna_cardread-only

    Get a card's full detail: description, priority, type, due/start dates, checklist counts, assignees, epic, custom field values, attachment metadata.

  • zuuna_comment

    Add a comment to a card. The author is the user who created the API token. @mentions notify.

  • zuuna_create_board

    Create an empty board (no columns yet — add them with zuuna_create_column) in a group. Body: title, groupId.

  • zuuna_create_card

    Create a card on a board. Title is required; give the target column by id or by title (omitted = the board's first column). idempotencyKey makes a retry safe: re-sending the same key after a lost response or a 5xx returns the ORIGINAL card instead of a duplicate.

Show 63 more tools
  • zuuna_create_cards

    Create up to 50 cards on ONE board in a single call. Each item validates exactly like zuuna_create_card (title required; target column by id only) and the answer is one result per item: created (id, key, title, status, columnId) or the error that item alone would have gotten. The card cap counts the whole batch; board, closed-sprint and limit errors stay whole-request.

  • zuuna_create_column

    Add a column to an existing (non-archived) board.

  • zuuna_create_epic

    Create an epic in a group: a real ticket with its own key (a board-less group card), referencable and linkable like any other card. Title is required; colour comes from the 8-name palette and defaults to purple.

  • zuuna_create_recurring_card

    Start a recurring-card series on a board: every everyN unit(s) (days|weeks|months) it mints a card from the given template, until endAt (if set).

  • zuuna_create_release

    Plan or publish a release in a group. Provide releaseId (to fill in an existing planned release), or a name/tag to create one. publish defaults to false when no tag/commits context is given — pass publish: true to mark it RELEASED and fire release.published to webhook subscribers immediately.

  • zuuna_create_sprint

    Create a PLANNED sprint in a group.

  • zuuna_create_webhook

    Register a webhook endpoint. The response's `secret` is the ONLY time the signing secret is ever shown — store it immediately, there is no way to read it back.

  • zuuna_delete_attachmentcan change or delete data

    Remove an attachment from a card. Requires confirm: true.

  • zuuna_delete_cardcan change or delete data

    Move a card to Trash (restorable for 30 days via zuuna_restore_card, then permanently purged). Refused with time_entries_exist if the card carries logged time, UNLESS confirm is true — passing confirm also acknowledges deleting those hours. Requires confirm: true.

  • zuuna_delete_checklist_itemcan change or delete data

    Remove a checklist item. Requires confirm: true.

  • zuuna_delete_recurring_cardcan change or delete data

    Cancel a recurring-card series for good (no trash). Requires confirm: true.

  • zuuna_delete_relationcan change or delete data

    Remove a relation, from either card it connects. Requires confirm: true.

  • zuuna_delete_releasecan change or delete data

    Permanently delete a release (its commit/merge history, sprint links, card-release links and shipped-card archive all cascade with it). Requires confirm: true.

  • zuuna_delete_time_entrycan change or delete data

    Remove a logged time entry. Requires confirm: true.

  • zuuna_delete_webhookcan change or delete data

    Remove a webhook endpoint (its delivery log goes with it). Requires confirm: true.

  • zuuna_get_attachmentread-only

    Get one attachment's metadata (filename, MIME type, byte size). Never returns the file's bytes — use zuuna_list_attachments first to find the attachmentId.

  • zuuna_get_releaseread-only

    Get one release's detail: state, dates, tag, shipped card/point counts.

  • zuuna_get_sprintread-only

    Get a sprint plus the cards currently in it.

  • zuuna_import_time_entries

    Bulk-import normalized time entries (up to 200 per call) — from Clockify/Toggl/Harvest or a script. Each entry needs cardKey/cardId (or a PREFIX-N in description) plus seconds or start+end; userEmail attributes it. Idempotent on (source, externalId): repeating one updates it rather than duplicating it. One bad entry does not fail the rest.

  • zuuna_link_git_branches

    REPLACE-ALL snapshot of a repo's in-flight branches in a group (up to 500). Each needs at least name and headSha; a branch named for a card ("ZNA-249-…" or matching the group's prefix) links automatically. An empty branches array is refused unless confirmEmpty is true — that guard exists so a half-failed snapshot cannot silently wipe the page.

  • zuuna_list_active_timersread-only

    List every running timer visible to this token, optionally filtered to one member by email.

  • zuuna_list_attachmentsread-only

    List a card's attachments (metadata only: id, filename, MIME type, size, who uploaded it).

  • zuuna_list_automationsread-only

    Read a board's automation rules: trigger, conditions, actions, enabled, recent run outcomes. Read-only — automations cannot be created or edited through this server, only inspected. A sendWebhook action's URL is redacted (it can carry a chat-app incoming-webhook secret).

  • zuuna_list_board_cardsread-only

    List a board's cards, in board order by default (column then position). `archived` narrows to false|true|all (default false); `updatedSince` (ISO 8601) narrows to cards changed after it, for incremental sync.

  • zuuna_list_board_fieldsread-only

    Read the custom fields attached to a board: id, name, type, in display order. For SELECT, MULTISELECT and TAGS fields, options is the option vocabulary a card's customFields value may use; for every other type options is null. update_card's customFields argument is keyed by these field ids.

  • zuuna_list_card_timeread-only

    List logged time entries on a card, newest first, plus the card's total seconds.

  • zuuna_list_checklistread-only

    Read a card's checklist: every item plus the total/completed counts the card face shows.

  • zuuna_list_columnsread-only

    List a board's columns in order — id, title, isDone, statusCategory, position, WIP limit, SLA hours. These columnId values are what a card move expects.

  • zuuna_list_commentsread-only

    Read a card's discussion, oldest first — the order it happened, and the order an incremental sync appends in.

  • zuuna_list_deploymentsread-only

    List deployment history, optionally narrowed to a group and/or environment.

  • zuuna_list_epicsread-only

    List a group's epics — id, key, title, colour. An epic is a real card (Prisma model Label; the UI calls it an Epic), so its key resolves through the ordinary card tools too.

  • zuuna_list_group_cardsread-only

    List every card in a group, whether it stands on a board or in the group's backlog (a board-less card, columnId null). Use this to discover backlog cards — no other list surfaces them. `placement` narrows to board|backlog|all (default all).

  • zuuna_list_group_membersread-only

    List a group's members: id, name, email. These ids are the valid values for a card's assigneeIds.

  • zuuna_list_groupsread-only

    List the workspace's groups (Prisma model Team; the UI calls this a Group — it owns boards, sprints, releases and the card-key prefix). A restricted group this token may not act in is omitted, not merely flagged. The returned id is what every groupId argument elsewhere expects.

  • zuuna_list_recurring_cardsread-only

    List a board's recurring-card series, paused and active both.

  • zuuna_list_relationsread-only

    List a card's relations to other cards (blocks, depends on, subtask of, scheduling links, ...), each with its direction relative to this card.

  • zuuna_list_releasesread-only

    List a group's releases, optionally narrowed to a state (PLANNED|RELEASED|ARCHIVED).

  • zuuna_list_sprintsread-only

    List the workspace's sprints, optionally narrowed to one group and/or state (PLANNED|ACTIVE|CLOSED).

  • zuuna_list_webhook_deliveriesread-only

    Read an endpoint's last 20 delivery attempts (payload truncated to 2 KB; a payload naming a board this token cannot read is redacted).

  • zuuna_list_webhooksread-only

    List this workspace's webhook endpoints. Never returns a signing secret (only the create call does, once).

  • zuuna_log_time

    Log a CLOSED time entry on a card — work already done. Provide seconds or a duration string ("2h 30m"). For an ongoing timer use zuuna_start_timer / zuuna_stop_timer instead.

  • zuuna_meread-only

    Show the identity of the Zuuna API token in use: organization, plan, granted scopes and — only when the workspace's subscription has lapsed — the grace-window deadline after which every call here will start failing. Also lists, as hiddenTools, every tool this token's scopes hide, each with the scope(s) that would unlock it. Call this first to learn what this token may do; a tool absent from the tool list this session means its scope was not granted.

  • zuuna_move_card

    Move a card to another column on the SAME board. Give the target column by id or by title (resolved against the card's own board). For moving to a DIFFERENT board use zuuna_move_card_to_board.

  • zuuna_move_card_to_board

    Move a card to a DIFFERENT board (cross-board move). Optional targetColumnId; omitted, the card lands in the target's default column for its current status category.

  • zuuna_record_git_events

    Record git events (commit/branch/pr, up to 1000 per call) via smart-commits ("PREFIX-123" in the ref or message) to link them to cards.

  • zuuna_remove_card_from_sprint

    Take a card out of its sprint (clears its sprint membership). A card standing on the sprint's OWN materialized board leaves it for the group's backlog; a card on an ordinary board stays exactly where it is.

  • zuuna_report_ci_checks

    Record CI status checks (up to 1000 per call), each attached to whichever card its commit/branch/PR or description names.

  • zuuna_report_deployment

    Report a deployment's progress (building|succeeded|failed|...) or update the one in flight. Idempotent on (environment, externalId) — repeat callbacks from the same CI run update ONE row. groupId binds it to a release/board pipeline; omitted, it is still recorded workspace-wide.

  • zuuna_restore_card

    Pull a card back out of Trash. Refused if the workspace is at its card limit (an archived+trashed card is exempt).

  • zuuna_search_cardsread-only

    Search cards workspace-wide: the one list that needs no board or group id up front. Filters narrow: q (case-insensitive text in title + description), groupId, boardId, columnId, assigneeId, epicId, priority (HIGHEST|HIGH|NORMAL|LOW|LOWEST), label (a tag option id or "<fieldId>:<optionId>" token). archived narrows to false|true|all (default false); updatedSince (ISO 8601) narrows to cards changed after it, for incremental sync. Bad values are refused with an error, never silently ignored.

  • zuuna_start_timer

    Start a running timer on a card. Idempotent: starting an already-running timer for the same person is a no-op, not an error. Optional userEmail delegates the timer to another workspace member (e.g. relaying a Slack action) — resolved against THIS workspace's membership only.

  • zuuna_stop_timer

    Stop a card's running timer, closing it at the elapsed duration. A no-op (not an error) if nothing is running.

  • zuuna_test_webhook

    Send a real `ping` delivery to one endpoint, regardless of its subscribed events, and report the fresh delivery status.

  • zuuna_unarchive_card

    Restore an archived card to active (the inverse of zuuna_archive_card). Refused if the workspace is at its card limit.

  • zuuna_update_card

    Edit a card. Only the fields you send change: title, description, priority, type, dueDate, startDate, estimateSeconds, storyPoints, ready, columnId (move within the SAME board — a cross-board move is zuuna_move_card_to_board), assigneeIds (REPLACES the full set; [] clears everyone), customFields (object keyed by field id; null/empty clears one — zuuna_list_board_fields names the ids and the option vocabulary).

  • zuuna_update_checklist_item

    Rename and/or tick a checklist item. Only the fields you send change.

  • zuuna_update_epic

    Edit an epic. Only the fields you send change: title, description, colour.

  • zuuna_update_recurring_card

    Edit a series' interval, end date and/or pause state (enabled). Resuming a paused series re-schedules its next run from now, so it never bursts out catch-up cards.

  • zuuna_update_release

    Correct a release. action=edit changes name/description/releaseDate/notes/tag (only the fields you send); unpublish reverts a RELEASED release to PLANNED (keeps its shipped-card archive); archive/unarchive is a display filter, not a data lock.

  • zuuna_update_sprint

    Update a sprint's name/goal/dates. Only the fields you send change. Sprint lifecycle (start/close) is not exposed here — it materializes boards and archival metrics and stays an in-app action.

  • zuuna_update_time_entry

    Correct a logged time entry's duration and/or note. Refused while the entry's timer is still running — stop it first.

  • zuuna_update_webhook

    Edit a webhook endpoint. Only the fields you send change; enabled: false is how a subscriber pauses itself without losing the registration.

  • zuuna_upload_attachment

    Upload a file onto a card from a local file path, or from base64 plus a filename. The same limits the REST upload route enforces apply and its errors surface verbatim: 10 MB per file, the workspace storage cap (409 limit_reached), executable extensions refused, and the token creator needs a verified email.

Signals

Stars
0
Forks
0
Open issues
0
Last commit
Sep 26, 2026 (1 month ago)
Last release
Sep 26, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.kenzotp/mcp-server-zuuna
Version
0.3.0
Auth
API key
Packages
npm mcp-server-zuuna
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

MCP Server Zuuna. Agent Mart. https://agentmart.dev/connectors/kenzotp-mcp-server-zuuna (last updated 2026-10-24)