Connect kangram-mcp and your agent gets 66 tools, among them add_board_member, add_checklist_item, add_comment. It answers at https://kangram.app/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 4 of 4 times since 24 October 2026; the last check, on 28 October 2026, succeeded.
MCP server at kangram.app, verified by introspection: 61 tools exposed.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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. Inputs: board_id, username, role |
add_checklist_item | Use this to add a new item to a task's checklist. Provide board_id + task_number to identify the task. Inputs: task_number, board_id, title |
add_comment | Use this to add a comment to a specific task. Provide board_id + task_number to identify the task. Inputs: task_number, board_id, text |
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 namespace's boards (explicit board membership still overrides) and may create/mov Inputs: namespace_slug, username, role |
archive_board | Use this to hide a board from active workflows without deleting it. Inputs: board_id |
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 this Inputs: board_ref, group_chat_id |
cancel_board_invitation | Use this command to cancel a pending board invitation. Only the original inviter or a board admin can cancel. Inputs: invitation_id |
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 board Inputs: source_board_id, title, code |
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. A Inputs: namespace_slug, username, display_name, role |
create_board | Use this command to initialize a board and its default status workflow. Inputs: group_chat_id, title, timezone, namespace_slug |
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. Inputs: name, redirect_uris, scopes |
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. Inputs: name |
create_status | Use this command to add new statuses to board workflow. Inputs: board_id, name, code, color, index |
create_task | Use this to add a task. Provide boardId for deterministic routing; otherwise active board is used. Inputs: title, description, priority, board_id, assignee, tags |
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) block the hard delete, the agent is deactivated instead (zero access, row kept) a Inputs: namespace_slug, agent_username |
delete_checklist_item | Use this to remove a checklist item from a task. Provide item_id. Inputs: 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. Inputs: comment_id, board_id, task_number |
delete_status | Delete by statusId or boardId+code. If tasks use it, provide replacementStatusId. Inputs: status_id, board_id, code, replacement_status_id |
delete_task | Use this to mark a task as deleted without permanent removal. Inputs: task_number, board_id |
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). Inputs: namespace_slug, board_code |
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 no Inputs: board_id |
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). Inputs: board_id, key |
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 ty Inputs: key |
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 su |
get_profile | 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. |
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 o Inputs: board_id |
get_task | Use this to read one task including its description, deadline, tags, status, and assignee. Inputs: task_number, board_id |
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. Inputs: board_id, username, role |
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. Requires organization owner/admin. Inputs: namespace_slug, agent_username, name, scope |
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. Inputs: namespace_slug |
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. Inputs: board_id |
list_board_members | Use this command to see all board members and their roles (owner/admin/user). Inputs: board_id |
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. Inputs: board_id |
list_boards | Use this command to discover boards before creating or filtering tasks. Inputs: include_archived, only_archived, limit, title, code |
list_checklist | Use this to retrieve all checklist items for a specific task. Provide board_id + task_number. Inputs: task_number, board_id |
list_comments | Use this to retrieve all comments for a specific task. Provide board_id + task_number. Inputs: task_number, board_id |
list_namespace_members | List the unified member roster of a namespace: structural owner, explicitly added members (editable here), and organization-inherited members (org namespaces). Requires the workspace owner. Inputs: namespace_slug |
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. |
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). Inputs: board_id |
list_statuses, list_task_activity, list_tasks, move_board, move_task, my_work, remove_board_member, remove_namespace_member, reorder_statuses, respond_to_invitation, restore_board, restore_task, revoke_agent_key, revoke_oauth_client, save_session_handoff, search_tasks, set_board_setting, transfer_board_ownership, transition_task_status, update_board, update_board_file, update_checklist_item, update_member_role, update_namespace_member_role, update_status, update_task
Every block below points at https://kangram.app/mcp. Pick your client and copy.
claude mcp add --transport http kangram-mcp https://kangram.app/mcp
{
"mcpServers": {
"kangram-mcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://kangram.app/mcp"]
}
}
}{
"mcpServers": {
"kangram-mcp": {
"url": "https://kangram.app/mcp"
}
}
}{
"servers": {
"kangram-mcp": {
"type": "http",
"url": "https://kangram.app/mcp"
}
}
}{
"context_servers": {
"kangram-mcp": {
"url": "https://kangram.app/mcp"
}
}
}{
"mcpServers": {
"kangram-mcp": {
"serverUrl": "https://kangram.app/mcp"
}
}
}{
"mcpServers": {
"kangram-mcp": {
"url": "https://kangram.app/mcp"
}
}
}name: kangram-mcp
version: 0.0.1
schema: v1
mcpServers:
- name: kangram-mcp
type: streamable-http
url: https://kangram.app/mcp{
"mcpServers": {
"kangram-mcp": {
"httpUrl": "https://kangram.app/mcp"
}
}
}{
"mcpServers": {
"kangram-mcp": {
"type": "http",
"url": "https://kangram.app/mcp"
}
}
}{
"mcpServers": {
"kangram-mcp": {
"url": "https://kangram.app/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fkangram.app%2Fmcp&type=streamable_http&id=kangram-mcp&name=kangram-mcp
It answered our last check on 28 October 2026. Over 4 checks since 24 October 2026 it answered 4. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by kangram.app and served from kangram.app, the vendor's own domain: https://kangram.app/mcp.
66, as returned by the server's own tools/list on 28 October 2026: add_board_member, add_checklist_item, add_comment, add_namespace_member, archive_board, bind_board_to_group, cancel_board_invitation, clone_board, and 58 more.
It answered our last check on 28 October 2026. Over 4 checks since 24 October 2026 it answered 4.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://kangram.app/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: kangram.app. Endpoint host: kangram.app. ARD identifier: urn:air:kangram.app:mcp:kangram-mcp.
First indexed 24 October 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.