Kangram
app.kangram/kangramTask & board management for AI agents + humans. Kanban, comments, digests via MCP.
Score: 100/100
Handshake verified by our own probe.
why this score
Tools · 61
Use this command to discover boards before creating or filtering tasks.
Use this command to initialize a board and its default status workflow.
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.…
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 …
Use this to hide a board from active workflows without deleting it.
Use this to recover a previously archived board.
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…
Use this to add a task. Provide boardId for deterministic routing; otherwise active board is used.
Use this to read one task including its description, deadline, tags, status, and assignee.
Use this to inspect task backlog by board, assignee, status, priority, tags, title substring, creation date range, and deletion state.
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.
Use this to edit task title/description/deadline/tags/assignee/status.
Use this for explicit status moves while keeping other fields unchanged.
Use this to mark a task as deleted without permanent removal.
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.
Use this with list_tasks onlyDeleted/includeDeleted to recover deleted tasks.
Use this to read the history of actions performed on a task (create, update, status changes, comments). Returns a timeline of activity entries.
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 o…
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…
Use this command to inspect the board status catalog and ordering.
Use this command to add new statuses to board workflow.
Update status by statusId or by boardId+code.
Provide orderedStatusIds to set deterministic status ordering for a board.
Delete by statusId or boardId+code. If tasks use it, provide replacementStatusId.
Use this to add a comment to a specific task. Provide board_id + task_number to identify the task.
Use this to retrieve all comments for a specific task. Provide board_id + task_number.
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.
Use this to add a new item to a task's checklist. Provide board_id + task_number to identify the task.
Use this to retrieve all checklist items for a specific task. Provide board_id + task_number.
Use this to update a checklist item's title or done status. Provide item_id and fields to update.
Use this to remove a checklist item from a task. Provide item_id.
Use this command to see all board members and their roles (owner/admin/user).
Use this command to invite a user to a board. The invited user will receive a notification and must accept. Owner/admin only.
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 c…
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…
Use this command to change an existing board member's role. Owner/admin only. Cannot target the board owner or promote anyone to owner.
Use this without board_id to see your pending invitations. With board_id, see pending invitations for that board (must be a member).
Use this command to accept or reject a pending board invitation by its ID.
Use this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel.
Create a new organization. The organization gets its own namespace (slug derived from the name). The creator becomes the organization owner. Use this when a user asks to create a namespace, organizati…
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.
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 or…
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 own…
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…
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 …
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.
Register a new OAuth2 client so a third-party app can authenticate users via 'Login with Kangram'. Returns the client_id and a client_secret shown ONCE — store it securely. Owner-only.
List the OAuth2 clients you own (client_id, name, redirect URIs, scopes, revocation status).
Revoke one of your OAuth2 clients by its numeric ID. Existing tokens are not deleted but no new authorizations will be allowed.
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 ne…
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 wor…
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…
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).
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…
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_…
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 o…
Create a non-human agent account (User type='agent') inside the organization identified by its namespace slug. The agent becomes an org member immediately (board access via role inheritance), gets no …
List the members of the organization identified by its namespace slug, including agent accounts (type='agent') with their active API-key counts and last key use. Requires organization owner/admin.
Delete an agent account: revokes all its API keys, removes memberships, unassigns its tasks, then hard-deletes the user. When history rows (messages/activity) block the hard delete, the agent is deact…
Mint a new API key for an agent member of the organization. Use for rotation or additional keys. The plaintext key is returned once — store it immediately. Requires organization owner/admin.
Revoke an agent's API key by id. Only keys owned by agent accounts are revocable this way (humans revoke their own). Requires organization owner/admin of an org the agent belongs to.
How to use
Add to your Claude Desktop / Cursor / Cline MCP config:
{
"mcpServers": {
"kangram": {
"url": "https://kangram.app/mcp",
"transport": "streamable-http"
}
}
}