Kangram
Server Details
Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 55 tools
Most tools target a distinct resource+action, but several clusters overlap: my_work, get_digest, get_project_context, list_tasks, and search_tasks all answer variants of 'what's on my plate / what's the state', and get_board_prompt, list_board_files, update_board, and update_board_file all touch the same AGENTS.md prompt store. An agent can usually pick correctly from descriptions, but these boundaries require reading carefully rather than being self-evident.
The surface is overwhelmingly consistent snake_case verb_noun (create_board, delete_task, update_member_role, list_board_members). A few deviations exist — 'my_work' has no verb and 'get_profile'/'get_digest' sit slightly apart from the list_* discovery family — but the pattern is predictable.
55 tools is heavy for a board/task tracker; whole families (settings schema, board files, membership, invitations, session handoff) could be consolidated. It is a large but genuinely broad domain, so it is not extreme chaos, yet it exceeds a comfortable agent tool budget.
Coverage is strong: full lifecycle for boards (create/clone/archive/restore/move/transfer), tasks (create/update/delete/restore/move/transition), statuses, checklists, comments, members, invitations, files, and settings. Minor gaps remain — no delete/update for task attachments and no comment editing — but these are workable.
Available Tools
55 toolsadd_board_memberAdd board memberAInspect
Use this command to add a user directly to a board — they become a member immediately, with no invitation to accept. This is the one-step grant (the bot /addmember command). Owner/admin only; cannot create or assign the owner role.
Inputs: board_id (required), username (required), role.
add_checklist_itemAdd checklist itemBInspect
Use this to add a new item to a task's checklist. Provide board_id + task_number to identify the task.
Inputs: title (required), board_id (required), task_number (required).
add_commentAdd commentBInspect
Use this to add a comment to a specific task. Provide board_id + task_number to identify the task.
Inputs: text (required), board_id (required), task_number (required).
archive_boardArchive boardAInspect
Use this to hide a board from active workflows without deleting it.
Inputs: board_id (required).
attach_task_fileAttach task fileAInspect
Attach a file to a board task. Provide the file as base64 (10MB decoded limit). The attachment becomes visible in the web task view and via list_task_files. You must be a member of the board that owns the task. Use for artifacts an agent produces or handles: images, documents, exports.
Inputs: board_id (required), filename (required), task_number (required), content_base64 (required), +2 more.
bind_board_to_groupBind board to groupAInspect
Bind (link) a board to a Telegram group chat. The board becomes the group's primary board — bot commands in the group will act on this board. Unbinds any previous binding first. The actor must be an owner/admin of the target board. Use this when a user asks to set, link, bind, or assign a board to a chat/group. boardRef accepts: 'ns/code' (e.g. 'kangram/DEV'), a code alone (uses the active namespace), or a full URL like 'https://kangram.app/#/kangram/DEV'.
Inputs: board_ref (required), group_chat_id.
cancel_board_invitationCancel board invitationADestructiveInspect
Use this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel.
Inputs: invitation_id (required).
clone_boardClone boardAInspect
Clone a board into a new board, copying the workflow not the data: statuses + board files (the prompt / agent instructions) + board title. Excludes tasks, comments, and members. The caller becomes the owner of the fresh board. The new board is created in the caller's personal namespace with a fresh unique code. Authorize: caller needs read access to the source board — a board member OR any viewer when the board is public (public boards are forkable by anyone). Authorization is enforced imperatively in execute.
Inputs: source_board_id (required), code, title.
create_boardCreate boardBInspect
Use this command to initialize a board and its default status workflow.
Inputs: title, timezone, group_chat_id, namespace_slug.
create_statusCreate statusCInspect
Use this command to add new statuses to board workflow.
Inputs: name (required), code, color, index, +1 more.
create_taskCreate taskAInspect
Use this to add a task. Provide boardId for deterministic routing; otherwise active board is used.
Inputs: title (required), tags, status, assignee, +7 more.
delete_checklist_itemDelete checklist itemADestructiveInspect
Use this to remove a checklist item from a task. Provide item_id.
Inputs: item_id (required).
delete_commentDelete commentADestructiveInspect
Use this to delete a comment. Allowed for the comment author or a board admin (owner/admin). Provide board_id + task_number for context and comment_id.
Inputs: board_id (required), comment_id (required), task_number (required).
delete_statusDelete statusADestructiveInspect
Delete by statusId or boardId+code. If tasks use it, provide replacementStatusId.
Inputs: code, board_id, status_id, replacement_status_id.
delete_taskDelete taskBDestructiveInspect
Use this to mark a task as deleted without permanent removal.
Inputs: board_id (required), task_number (required).
get_board_by_namespaceGet board by namespaceARead-onlyIdempotentInspect
Canonical lookup for a board. Resolves the namespace by slug, then the board by its 3-character code within that namespace. Membership-gated: returns an error for unknown namespace, unknown board, or non-member (indistinguishable).
Inputs: board_code (required), namespace_slug (required).
get_board_promptGet board promptARead-onlyIdempotentInspect
Fetch the board-level agent prompt — the markdown instructions an agent should follow when operating on this board. Read this into your context before working a board. Returns the content of the board's root file ("AGENTS.md"); null when no prompt is set.
Inputs: board_id (required).
get_board_settingsGet board settingsARead-onlyIdempotentInspect
Use this command to read a board's effective settings — the stored value, or the default when unset (lazy). Pass a key to read one setting; omit it to read all. Returns { key: value } object(s).
Inputs: board_id (required), key.
get_board_settings_schemaGet board settings schemaARead-onlyIdempotentInspect
Use this command to discover which board settings exist and their types/defaults (json-schema-like). Pass a key to inspect one setting; omit for all. Board-independent metadata — call this before set_board_setting to learn valid keys and types.
Inputs: key.
get_digestGet digestARead-onlyIdempotentInspect
Compute an on-demand digest of the calling user's tasks across all accessible boards: overdue, stale (needs attention), new assignments, open count, and recently completed. Use this to answer 'what needs my attention?' or 'what's my work summary?'.
Inputs: no named parameters.
get_profileGet profileARead-onlyIdempotentInspect
Return the profile represented by this request's authenticated credentials. The opaque id is unique within this app and remains unchanged across token refresh, reconnection, and display-metadata changes.
Inputs: no named parameters. Returns: id, name, email, nickname
get_project_contextGet project contextARead-onlyIdempotentInspect
Get the full project context for a board — everything needed to CONTINUE work without re-explaining: the latest session handoff (where we left off), an attention snapshot (blocked / overdue / due soon / unassigned / stale counts), the top open tasks, and recent board activity. Call this at the START of a session when the user says 'continue where we left off', 'what's the state of the project', 'resume our work', or 'remind me what we were doing' — especially in a NEW chat after a previous session saved a handoff.
Inputs: board_id (required).
get_taskGet taskARead-onlyIdempotentInspect
Use this to read one task including its description, deadline, tags, status, and assignee.
Inputs: board_id (required), task_number (required).
invite_board_memberInvite board memberAInspect
Use this command to invite a user to a board. The invited user will receive a notification and must accept. Owner/admin only.
Inputs: board_id (required), username (required), role.
list_board_filesList board filesARead-onlyIdempotentInspect
List the board's named files (the multi-file-ready prompt store). v1 returns at least the root "AGENTS.md" once a prompt has been set; empty list means no prompt/files yet.
Inputs: board_id (required).
list_board_membersList board membersBRead-onlyIdempotentInspect
Use this command to see all board members and their roles (owner/admin/user).
Inputs: board_id (required).
list_boardsList boardsBRead-onlyIdempotentInspect
Use this command to discover boards before creating or filtering tasks.
Inputs: code, limit, title, only_archived, +1 more.
list_board_tagsList board tagsARead-onlyIdempotentInspect
Use this to discover which tags already exist on a board before filtering with list_tasks. Returns unique tag strings (first-seen casing), sorted case-insensitively.
Inputs: board_id (required).
list_checklistList checklistARead-onlyIdempotentInspect
Use this to retrieve all checklist items for a specific task. Provide board_id + task_number.
Inputs: board_id (required), task_number (required).
list_commentsList commentsBRead-onlyIdempotentInspect
Use this to retrieve all comments for a specific task. Provide board_id + task_number.
Inputs: board_id (required), task_number (required).
list_namespacesList namespacesARead-onlyIdempotentInspect
List all namespaces the user can see: their personal namespace plus any organization namespaces they own or are a member of. Use this to discover where boards can be created or moved.
Inputs: no named parameters.
list_pending_invitationsList pending invitationsARead-onlyIdempotentInspect
Use this without board_id to see your pending invitations. With board_id, see pending invitations for that board (must be a member).
Inputs: board_id.
list_statusesList statusesCRead-onlyIdempotentInspect
Use this command to inspect the board status catalog and ordering.
Inputs: board_id.
list_task_activityList task activityARead-onlyIdempotentInspect
Use this to read the history of actions performed on a task (create, update, status changes, comments). Returns a timeline of activity entries.
Inputs: board_id (required), task_number (required), limit, offset.
list_task_filesList task filesARead-onlyIdempotentInspect
List the attachments of a board task: id, name, size, mime type, caption. Read access requires board membership (or a public board).
Inputs: board_id (required), task_number (required).
list_tasksList tasksARead-onlyIdempotentInspect
Use this to inspect task backlog by board, assignee, status, priority, tags, title substring, creation date range, and deletion state.
Inputs: board_id (required), tags, limit, status, +7 more.
move_boardMove boardAInspect
Move a board from its current namespace to a target namespace. The board's 3-character code must be unique in the target namespace. The board URL will change. Use this to consolidate boards into an organization namespace.
Inputs: board_id (required), namespace_slug (required).
move_taskMove taskAInspect
Use this to transfer a task between boards. The task gets a new number in the target board. Status is reset to target board's default if the current status doesn't exist there.
Inputs: task_number (required), source_board_id (required), target_board_id (required).
my_workMy workARead-onlyIdempotentInspect
Returns up to 100 tasks assigned to or created by the caller across all boards they can access, ordered by most recent update. Use this to answer 'what's on my plate?' or to surface overdue/stale work. Pass namespaceSlug to scope to a single namespace.
Inputs: namespace_slug.
remove_board_memberRemove board memberADestructiveInspect
Use this command to remove a member from a board. On group-chat-linked boards, removing a member with an explicit board_member row reverts them to a regular Telegram member (they stay on the board via the linked group). Members without a board_member row (Telegram-only) cannot be removed. Owner can remove admin/user, admin can remove user. Cannot remove owner.
Inputs: user_id (required), board_id (required).
reorder_statusesReorder statusesCInspect
Provide orderedStatusIds to set deterministic status ordering for a board.
Inputs: ordered_status_ids (required), board_id.
respond_to_invitationRespond to invitationAInspect
Use this command to accept or reject a pending board invitation by its token (from list_pending_invitations).
Inputs: token (required), accept (required).
restore_boardRestore boardBInspect
Use this to recover a previously archived board.
Inputs: board_id (required).
restore_taskRestore taskADestructiveInspect
Use this with list_tasks onlyDeleted/includeDeleted to recover deleted tasks.
Inputs: board_id (required), task_number (required).
save_session_handoffSave session handoffAInspect
Save a session handoff — a durable note on the board recording where the work stands: what was done, what is next, what is blocked, and key links (PRs, issues, branches). Call this at the END of a working session so the next session (possibly a brand-new chat) can pick up exactly where you left off. Use this when the user says 'remember where we left off', 'save our progress', 'save the session state', or 'don't lose this context'. summary must be YOUR OWN concise authored recap — never a transcript or list of raw messages.
Inputs: summary (required), board_id (required), links.
search_tasksSearch tasksARead-onlyIdempotentInspect
Use this to find tasks by text, assignee, status, priority, or attention category across all your accessible boards. All filters are optional — combine them to narrow results. Returns up to 50 tasks ordered by last updated.
Inputs: query, status, board_id, priority, +2 more.
set_board_settingSet board settingAInspect
Use this command to change a board setting. The value is a string coerced to the setting's type server-side (booleans accept on/off, true/false, 1/0, yes/no). Use get_board_settings_schema to discover available keys and types. Example: set autoAddAssignees to "off" to require explicit /addmember on task assignment.
Inputs: key (required), value (required), board_id (required).
transfer_board_ownershipTransfer board ownershipADestructiveInspect
Transfer ownership of a board from the current owner to an existing board member (admin or user role). The current owner is demoted to the specified role (admin by default). Only the current board owner can initiate a transfer. The target must already be a board member — invite them first if needed. This is an irreversible high-impact operation.
Inputs: board_id (required), to_user_id (required), demote_current_owner_to.
transition_task_statusTransition task statusBInspect
Use this for explicit status moves while keeping other fields unchanged.
Inputs: status (required), board_id (required), task_number (required).
update_boardUpdate boardAInspect
Use this to edit board metadata (title, code) and/or the board-level agent prompt. The prompt is the markdown instructions an agent reads when operating on this board (stored as the root file "AGENTS.md"). Pass only the fields you want to change; omitted fields are left untouched. Pass an empty string as prompt to clear the prompt.
Inputs: board_id (required), code, title, prompt, +1 more.
update_board_fileUpdate board fileAInspect
Upsert a named markdown file on a board. In v1 the conventional name is "AGENTS.md" (the root prompt). Omit content (or pass empty) to clear a file's body. Future versions will support multiple named files; this command is the low-level writer beneath update_board's prompt option.
Inputs: name (required), board_id (required), format, content.
update_checklist_itemUpdate checklist itemAInspect
Use this to update a checklist item's title or done status. Provide item_id and fields to update.
Inputs: item_id (required), done, title.
update_member_roleUpdate member roleAInspect
Use this command to change an existing board member's role. Owner/admin only. Cannot target the board owner or promote anyone to owner.
Inputs: role (required), user_id (required), board_id (required).
update_statusUpdate statusBInspect
Update status by statusId or by boardId+code.
Inputs: code, name, color, index, +3 more.
update_taskUpdate taskBInspect
Use this to edit task title/description/deadline/tags/assignee/status.
Inputs: board_id (required), task_number (required), tags, title, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Task boards for teams and their AI agents: cards, checklists, sprints, plans and proposals.
AI-native Kanban board — connect Claude to claim, work and move your tasks over MCP.
Kanban board for teams and coding agents: manage tasks, subtasks, sprints and wiki pages via MCP.
Remote MCP for Kanban AI boards—manage projects, tasks, and comments from AI tools.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceSelf-hosted kanban board that dispatches AI agent fleets against tickets. The embedded Streamable HTTP /mcp endpoint exposes 7 tools to list projects, read boards and tickets, and create, move and comment tickets from any MCP client.30AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceAgent-first project management MCP server that enables AI agents to manage tasks, spaces, lists, boards, subtasks, comments, and automations via natural language, with full audit trail and real-time sync.8,667 npmMIT
- AlicenseNot gradedqualityDmaintenanceAn AI-native kanban board MCP server where agents pull tasks via the Model Context Protocol. It provides tools for task discovery, claiming, progress updates, and review workflows.5MIT
- AlicenseNot gradedqualityDmaintenanceA Kanban board enabling AI agents and humans to collaborate on tasks through MCP tools for project and task management.99 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.