Task & board management for AI agents + humans. Kanban, comments, digests via MCP.
Connect Remote server
claude mcp add --transport http kangram https://kangram.app/mcp --header "Authorization: Bearer <YOUR_API_KEY>"
{
"mcpServers": {
"kangram": {
"url": "https://kangram.app/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
{
"servers": {
"kangram": {
"type": "http",
"url": "https://kangram.app/mcp",
"headers": {
"Authorization": "Bearer <YOUR_API_KEY>"
}
}
}
}
Settings > Connectors > Add custom connector
URL: https://kangram.app/mcp
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools 55 found in our last check
list_boardsUse this command to discover boards before creating or filtering tasks.
create_boardUse this command to initialize a board and its default status workflow.
update_boardUse 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 untouche…
get_board_by_namespaceCanonical 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).
archive_boardUse this to hide a board from active workflows without deleting it.
restore_boardUse this to recover a previously archived board.
attach_task_fileAttach 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, e…
list_task_filesList the attachments of a board task: id, name, size, mime type, caption. Read access requires board membership (or a public board).
clone_boardClone 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 na…
create_taskUse this to add a task. Provide boardId for deterministic routing; otherwise active board is used.
get_taskUse this to read one task including its description, deadline, tags, status, and assignee.
list_tasksUse this to inspect task backlog by board, assignee, status, priority, tags, title substring, creation date range, and deletion state.
list_board_tagsUse 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.
update_taskUse this to edit task title/description/deadline/tags/assignee/status.
transition_task_statusUse this for explicit status moves while keeping other fields unchanged.
delete_taskUse this to mark a task as deleted without permanent removal.
move_taskUse 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.
restore_taskUse this with list_tasks onlyDeleted/includeDeleted to recover deleted tasks.
list_task_activityUse this to read the history of actions performed on a task (create, update, status changes, comments). Returns a timeline of activity entries.
search_tasksUse 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.
my_workReturns 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.
list_statusesUse this command to inspect the board status catalog and ordering.
create_statusUse this command to add new statuses to board workflow.
update_statusUpdate status by statusId or by boardId+code.
reorder_statusesProvide orderedStatusIds to set deterministic status ordering for a board.
delete_statusDelete by statusId or boardId+code. If tasks use it, provide replacementStatusId.
add_commentUse this to add a comment to a specific task. Provide board_id + task_number to identify the task.
list_commentsUse this to retrieve all comments for a specific task. Provide board_id + task_number.
delete_commentUse 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.
add_checklist_itemUse this to add a new item to a task's checklist. Provide board_id + task_number to identify the task.
list_checklistUse this to retrieve all checklist items for a specific task. Provide board_id + task_number.
update_checklist_itemUse this to update a checklist item's title or done status. Provide item_id and fields to update.
delete_checklist_itemUse this to remove a checklist item from a task. Provide item_id.
list_board_membersUse this command to see all board members and their roles (owner/admin/user).
invite_board_memberUse this command to invite a user to a board. The invited user will receive a notification and must accept. Owner/admin only.
add_board_memberUse 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.
remove_board_memberUse 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 b…
update_member_roleUse this command to change an existing board member's role. Owner/admin only. Cannot target the board owner or promote anyone to owner.
list_pending_invitationsUse this without board_id to see your pending invitations. With board_id, see pending invitations for that board (must be a member).
respond_to_invitationUse this command to accept or reject a pending board invitation by its token (from list_pending_invitations).
cancel_board_invitationUse this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel.
list_namespacesList 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.
move_boardMove 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.
transfer_board_ownershipTransfer 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…
get_board_promptFetch 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.
update_board_fileUpsert 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 optio…
list_board_filesList 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.
get_digestCompute 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?'.
save_session_handoffSave 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 exactl…
get_project_contextGet 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. C…
get_board_settingsUse 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).
set_board_settingUse 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 ex…
get_board_settings_schemaUse 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.
bind_board_to_groupBind (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, o…
get_profileReturn 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.
Headers
| Name | Description |
|---|---|
AuthorizationRequired, secret | Kangram API key. Send as: Authorization: Bearer <your-key>. Create one at kangram.app (Settings -> API Keys) or via the /mcp command in the @kangrambot Telegram bot. |
Details
| Endpoint | https://kangram.app/mcp (Streamable HTTP) |
| First published | 19 Aug 2026 |
| Last updated | 19 Aug 2026 |
| Registry name | app.kangram/kangram |
More productivity servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
