# Kangram MCP server

Source: https://glimind.com/server/mcp-registry%2Fapp.kangram%2Fkangram
Registry id: `mcp-registry/app.kangram/kangram`
Status: live (checked 2026-10-26T19:10:27.039Z)

## Verdict

Kangram MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 598 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (92/100) across 65 tools, costing an agent about 12,711 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 598 ms | 44% of MCP servers |
| p95 handshake latency | 1962 ms | — |
| Checks in 30 days | 2,541 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 92/100 (A) | 73% of MCP servers |
| Tools | 65 | — |
| Tool-list size for an agent | ~12,711 tokens | 15% of MCP servers |
| Days observed | 28 | — |

## Install

```json
{
  "mcpServers": {
    "kangram-mcp-server": {
      "type": "http",
      "url": "https://kangram.app/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http kangram-mcp-server https://kangram.app/mcp
```

## Tools (65)

- `add_board_member`: 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 /addmem
- `add_checklist_item`: Use this to add a new item to a task's checklist. Provide board_id + task_number to identify the task.
- `add_comment`: Use this to add a comment to a specific task. Provide board_id + task_number to identify the task.
- `add_namespace_member`: Grant an existing user workspace-level membership (NamespaceMember row) in the namespace identified by its slug. The member immediately inherits access to the n
- `archive_board`: Use this to hide a board from active workflows without deleting it.
- `bind_board_to_group`: 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 previo
- `cancel_board_invitation`: Use this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel.
- `clone_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, comme
- `create_agent`: Create a non-human agent account (User type='agent') inside the organization identified by its namespace slug. The agent becomes an org member immediately (boar
- `create_board`: Use this command to initialize a board and its default status workflow.
- `create_oauth_client`: 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 
- `create_organization`: 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 use
- `create_status`: Use this command to add new statuses to board workflow.
- `create_task`: Use this to add a task. Provide boardId for deterministic routing; otherwise active board is used.
- `delete_agent`: Delete an agent account: revokes all its API keys, removes memberships, unassigns its tasks, then hard-deletes the user. When history rows (messages/activity) b
- `delete_checklist_item`: Use this to remove a checklist item from a task. Provide item_id.
- `delete_comment`: 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.
- `delete_status`: Delete by statusId or boardId+code. If tasks use it, provide replacementStatusId.
- `delete_task`: Use this to mark a task as deleted without permanent removal.
- `get_board_by_namespace`: 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 f
- `get_board_prompt`: 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
- `get_board_settings`: 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.
- `get_board_settings_schema`: 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-inde
- `get_digest`: Compute an on-demand digest of the calling user's tasks across all accessible boards: overdue, stale (needs attention), new assignments, open count, and recentl
- `get_project_context`: 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 attentio
- `get_task`: Use this to read one task including its description, deadline, tags, status, and assignee.
- `invite_board_member`: Use this command to invite a user to a board. The invited user will receive a notification and must accept. Owner/admin only.
- `issue_agent_key`: 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. Requ
- `list_agents`: 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
- `list_board_files`: 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 promp
- `list_board_members`: Use this command to see all board members and their roles (owner/admin/user).
- `list_board_tags`: 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-insensiti
- `list_boards`: Use this command to discover boards before creating or filtering tasks.
- `list_checklist`: Use this to retrieve all checklist items for a specific task. Provide board_id + task_number.
- `list_comments`: Use this to retrieve all comments for a specific task. Provide board_id + task_number.
- `list_namespace_members`: List the unified member roster of a namespace: structural owner, explicitly added members (editable here), and organization-inherited members (org namespaces). 
- `list_namespaces`: 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 c
- `list_oauth_clients`: List the OAuth2 clients you own (client_id, name, redirect URIs, scopes, revocation status).
- `list_pending_invitations`: Use this without board_id to see your pending invitations. With board_id, see pending invitations for that board (must be a member).
- `list_statuses`: Use this command to inspect the board status catalog and ordering.
- `list_task_activity`: Use this to read the history of actions performed on a task (create, update, status changes, comments). Returns a timeline of activity entries.
- `list_tasks`: Use this to inspect task backlog by board, assignee, status, priority, tags, title substring, creation date range, and deletion state.
- `move_board`: 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. U
- `move_task`: 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 does
- `my_work`: 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 
- `remove_board_member`: 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 Tel
- `remove_namespace_member`: Remove an explicitly-granted workspace membership (NamespaceMember row). The workspace owner cannot be removed, and members inherited from the organization are 
- `reorder_statuses`: Provide orderedStatusIds to set deterministic status ordering for a board.
- `respond_to_invitation`: Use this command to accept or reject a pending board invitation by its ID.
- `restore_board`: Use this to recover a previously archived board.
- `restore_task`: Use this with list_tasks onlyDeleted/includeDeleted to recover deleted tasks.
- `revoke_agent_key`: 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
- `revoke_oauth_client`: Revoke one of your OAuth2 clients by its numeric ID. Existing tokens are not deleted but no new authorizations will be allowed.
- `save_session_handoff`: 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, 
- `search_tasks`: 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 
- `set_board_setting`: 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). U
- `transfer_board_ownership`: 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
- `transition_task_status`: Use this for explicit status moves while keeping other fields unchanged.
- `update_board`: 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
- `update_board_file`: 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. Futu
- `update_checklist_item`: Use this to update a checklist item's title or done status. Provide item_id and fields to update.
- `update_member_role`: Use this command to change an existing board member's role. Owner/admin only. Cannot target the board owner or promote anyone to owner.
- `update_namespace_member_role`: Change the role of an explicitly-granted workspace member. The owner role is structural and cannot be assigned or changed; org-inherited members are managed on 
- `update_status`: Update status by statusId or by boardId+code.
- `update_task`: Use this to edit task title/description/deadline/tags/assignee/status.

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
