Skip to content
Kangram logo

Kangram MCP server

Which MCP servers are Kangram's own, from the official registry and from asking its own domain, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-11-04

← Back to Kangram

Whose server it is
  • Registry nameapp.kangram/kangramverified in the MCP registry

The registry name sits under kangram.app. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-11-04
  • Stateanswerschecked 2026-11-04
  • Tools68
  • Server calls itselfkangram-mcp
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-11-04 the server answered initialize and tools/list without a sign-in. First answer in 216 ms.

Should an agent connect itNot proven either way yet
  • Whether its tools do the product's job has not been judged yet.
  • Checked on 1 of the 7 days it takes to judge reliability.

Once connected

  • create_board, update_board, create_task, update_task, delete_task change data without a sign-in: anyone with the address can call them.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-11-04
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer596 ms
  • Space in an agent's context≈ 12,017 tokensthe definitions of all its tools (68), which an agent carries on every turn
  • Tool definitionsA · 100 of 100
  • Typed results1 of 68 toolsdeclared outputSchema: results come typed, read once
  • Every tool passes all six checks.

Worth a look

  • Tools that change data, on a server that answers without a sign-in: create_board, update_board, create_task, update_task, delete_task

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (25%), doing the product's job (25%), definitions (20%), context (10%), use (10%) and how readily a client connects (10%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers68 tools · read 2026-11-04
  • list_boards

    Use this command to discover boards before creating or filtering tasks.

  • create_board

    Use this command to initialize a board and its default status workflow.

  • 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 board (stored as the root file "AGENTS.md"). Pass only the fields you want to…

  • 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 for unknown namespace, unknown board, or non-member (indistinguishable).

  • archive_board

    Use this to hide a board from active workflows without deleting it.

  • restore_board

    Use this to recover a previously archived board.

  • attach_task_file

    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…

  • list_task_files

    List the attachments of a board task: id, name, size, mime type, caption. Read access requires board membership (or a public board).

  • 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, comments, and members. The caller becomes the owner of the fresh board. The new…

  • create_task

    Use this to add a task. Provide boardId for deterministic routing; otherwise active board is used.

  • get_task

    Use this to read one task including its description, deadline, tags, status, and assignee.

  • list_tasks

    Use this to inspect task backlog by board, assignee, status, priority, tags, title substring, creation date range, and deletion state.

  • 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-insensitively.

  • update_task

    Use this to edit task title/description/deadline/tags/assignee/status.

  • transition_task_status

    Use this for explicit status moves while keeping other fields unchanged.

  • delete_task

    Use this to mark a task as deleted without permanent removal.

  • 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 doesn't exist there.

  • restore_task

    Use this with list_tasks onlyDeleted/includeDeleted to recover deleted tasks.

  • 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.

  • 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 narrow results. Returns up to 50 tasks ordered by last updated.

  • 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 plate?' or to surface overdue/stale work. Pass namespaceSlug to scope to a…

  • list_statuses

    Use this command to inspect the board status catalog and ordering.

  • create_status

    Use this command to add new statuses to board workflow.

  • update_status

    Update status by statusId or by boardId+code.

  • reorder_statuses

    Provide orderedStatusIds to set deterministic status ordering for a board.

  • delete_status

    Delete by statusId or boardId+code. If tasks use it, provide replacementStatusId.

  • add_comment

    Use this to add a comment to a specific task. Provide board_id + task_number to identify the task.

  • list_comments

    Use this to retrieve all comments for a specific task. Provide board_id + task_number.

  • 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.

  • add_checklist_item

    Use this to add a new item to a task's checklist. Provide board_id + task_number to identify the task.

  • list_checklist

    Use this to retrieve all checklist items for a specific task. Provide board_id + task_number.

  • update_checklist_item

    Use this to update a checklist item's title or done status. Provide item_id and fields to update.

  • delete_checklist_item

    Use this to remove a checklist item from a task. Provide item_id.

  • list_board_members

    Use this command to see all board members and their roles (owner/admin/user).

  • 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.

  • 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 /addmember command). Owner/admin only; cannot create or assign the owner role.

  • 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 Telegram member (they stay on the board via the linked group). Members without a…

  • 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.

  • 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).

  • respond_to_invitation

    Use this command to accept or reject a pending board invitation by its token (from list_pending_invitations).

  • cancel_board_invitation

    Use this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel.

  • 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 user asks to create a namespace, organization, or workspace.

  • 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 can be created or moved.

  • 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. Use this to consolidate boards into an organization namespace.

  • 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 by default). Only the current board owner can initiate a transfer. The target…

  • 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 board. Returns the content of the board's root file ("AGENTS.md"); null when…

  • 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. Future versions will support multiple named files; this command is the low-level…

  • 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 prompt/files yet.

  • 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 it securely. Owner-only.

  • list_oauth_clients

    List the OAuth2 clients you own (client_id, name, redirect URIs, scopes, revocation status).

  • 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.

  • 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 recently completed. Use this to answer 'what needs my attention?' or 'what's my work…

  • 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, branches). Call this at the END of a working session so the next session…

  • 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 attention snapshot (blocked / overdue / due soon / unassigned / stale counts), the top…

  • 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. Returns { key: value } object(s).

  • 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). Use get_board_settings_schema to discover available keys and types. Example…

  • 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-independent metadata — call this before set_board_setting to learn valid keys and…

  • 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 previous binding first. The actor must be an owner/admin of the target board. Use…

  • 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 (board access via role inheritance), gets no personal namespace and cannot log in…

  • 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. Requires organization owner/admin.

The first 60 of 68, as the server listed them.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "kangram": {
      "type": "http",
      "url": "https://kangram.app/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

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

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://kangram.app/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.