Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Kangram

REMOTE · KANGRAM.APP

Task & board management for AI agents + humans. Kanban, comments, digests via MCP.

Available components

+32 this week 65 Trust /100

Last scanned (4 hours ago)

Scores higher than 47% of remote servers

Reachable. Last reached 18 Oct 2026.

Category Project Management

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security57
Transport & Reachability100
Schema Quality & AI Usability79
  • AI-judged instruction clarity (excellent).Pass
  • Tool/resource definitions use about 5797 tokens (~95/item across 61 items; 61 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management10
  • Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 9 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_task" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 61 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 15 Oct 26 +28
    • Authorization: pass → unverified ▼ security
    • Transport: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • MCP protocol: unverified → pass ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: 0 functional
    • First check of Schema quality: pass functional
    • First check of Tool coverage: 100 functional
  • 13 Oct 26 +3
    • Authorization: fail → pass ▲ security
    • First check of Authorization: partial security
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 19 Aug 26 0

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 18 Oct 2026 · Probed https://kangram.app/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=kangram.app CN=WE1,O=Google Trust Services,C=US 5 Sept 2026 4 Dec 2026 ECDSA 256 ECDSA-SHA256 53e77fad7680b98c0ea9b6f25502e446
SANs: kangram.app, *.kangram.app
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of kangram.app. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
app. present 23684 8 Verified
kangram.app. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://kangram.app/mcp Verified 200
http (plaintext) http://kangram.app/mcp HTTPS enforced 301 https://kangram.app/mcp
MCP tools · 61 exposed · ~5,797 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_board_member ~114

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.

NameTypeReqDescription
board_idintegeryesBoard ID to add the user to.
rolestring–Role to assign (admin or user). Default: user. Cannot assign owner role.
usernamestringyesTelegram username of the user to add (without @).

No output schema declared.

No examples provided.

add_checklist_item ~71

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.
titlestringyesChecklist item text.

No output schema declared.

No examples provided.

add_comment ~66

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.
textstringyesComment text.

No output schema declared.

No examples provided.

archive_board ~33

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

NameTypeReqDescription
board_idintegeryesBoard ID to archive.

No output schema declared.

No examples provided.

bind_board_to_group ~193

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 when a user asks to set, link, bind, or assign a board to a chat/group. boardRef accepts: 'ns/code' (e.g. 'kangram/DEV'), a code alone (uses the active namespace), or a full URL like 'https://kangram.app/#/kangram/DEV'.

NameTypeReqDescription
board_refstringyesBoard reference: 'ns/code' (e.g. 'kangram/DEV'), 'code' alone, or a kangram.app URL.
group_chat_idinteger–Telegram group chat ID. Omit in a Telegram group context — the current group is auto-detected.

No output schema declared.

No examples provided.

cancel_board_invitation ~43

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

NameTypeReqDescription
invitation_idintegeryesInvitation ID to cancel.

No output schema declared.

No examples provided.

clone_board ~189

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 is created in the caller's personal namespace with a fresh unique code. Authorize: caller needs read access to the source board — a board member OR any viewer when the board is public (public boards are forkable by anyone). Authorization is enforced imperatively in execute.

NameTypeReqDescription
codestring–Optional 3-character code (A-Z/0-9) for the new board; must be unique in your namespace. Auto-generated if omitted.
source_board_idintegeryesBoard ID to clone the workflow from.
titlestring–Optional title for the new board. Defaults to "<source title> (copy)".

No output schema declared.

No examples provided.

create_agent ~188

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 first API key is auto-issued and returned in plainKey — show/store it now, it is never shown again. Requires organization owner/admin.

NameTypeReqDescription
display_namestring–Human-readable display name. Defaults to the username.
namespace_slugstringyesNamespace slug of the organization (e.g. 'kangram' for kangram.app/kangram).
rolestring–Organization role. 'member' (default) maps to board user; 'admin' maps to board admin. Agents never own orgs.
usernamestringyesUnique username for the agent (letters, digits, dot, dash, underscore). Used for invites and search.

No output schema declared.

No examples provided.

create_board ~116

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

NameTypeReqDescription
group_chat_idinteger–Optional target group chat id. Defaults to active context group chat.
namespace_slugstring–Optional target namespace slug (e.g. 'kangram', 'exemplarov'). Creates the board in that namespace instead of the personal one. Use list_namespaces to discover available slugs.
timezonestring–Optional board timezone (e.g. Australia/Melbourne).
titlestring–Optional board title.

No output schema declared.

No examples provided.

create_oauth_client ~111

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.

NameTypeReqDescription
namestringyesHuman-readable client application name.
redirect_urisarrayyesAllowed redirect URIs (exact match, https required; http only on localhost). No wildcards.
scopesarray–Scopes the client is allowed to request. Defaults to ['profile'].

No output schema declared.

No examples provided.

create_organization ~80

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.

NameTypeReqDescription
namestringyesOrganization name (e.g. 'Kangram', 'Acme Inc'). A namespace slug is derived from this.

No output schema declared.

No examples provided.

create_status ~95

Use this command to add new statuses to board workflow.

NameTypeReqDescription
board_idinteger–Optional board ID. Defaults to user's active board.
codestring–Optional machine code. If omitted, derived from name.
colorstring–Optional hex color, e.g. #FF9800.
indexinteger–Optional sort index; lower appears earlier.
namestringyesStatus display name.

No output schema declared.

No examples provided.

create_task ~212

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

NameTypeReqDescription
assigneestring–Assignee username without @.
board_idinteger–Board ID where the task should be created.
descriptionstring–Optional longer task details.
parent_board_idinteger–Board ID of the parent task. Defaults to board_id if omitted.
parent_task_numberinteger–Optional parent task number to create a subtask. Use with parent_board_id or board_id.
prioritystring–Optional task priority: critical, major, normal, or low.
statusstring–Optional initial status name for the task.
tagsarray–Optional list of tags.
telegram_chat_idinteger–Optional Telegram chat id for message-task linking.
telegram_message_idinteger–Optional Telegram message id for message-task linking.
titlestringyesShort task title. Keep it clear and action-oriented.

No output schema declared.

No examples provided.

delete_agent ~102

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) and status='deactivated' is returned. Requires organization owner/admin.

NameTypeReqDescription
agent_usernamestringyesUsername of the agent to delete.
namespace_slugstringyesNamespace slug of the organization.

No output schema declared.

No examples provided.

delete_checklist_item ~38

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

NameTypeReqDescription
item_idintegeryesChecklist item ID to delete.

No output schema declared.

No examples provided.

delete_comment ~81

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.

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
comment_idintegeryesID of the comment to delete.
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

delete_status ~86

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

NameTypeReqDescription
board_idinteger–Board ID for board+code lookup.
codestring–Status code for board+code lookup.
replacement_status_idinteger–Replacement status ID when deleting an in-use status.
status_idinteger–Target status ID.

No output schema declared.

No examples provided.

delete_task ~47

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

get_board_by_namespace ~103

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

NameTypeReqDescription
board_codestringyes3-character board code (case-insensitive; legacy codes may contain Unicode letters or digits).
namespace_slugstringyesOwner namespace slug (e.g. a username).

No output schema declared.

No examples provided.

get_board_prompt ~75

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 prompt is set.

NameTypeReqDescription
board_idintegeryesBoard ID to read the prompt for.

No output schema declared.

No examples provided.

get_board_settings ~96

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

NameTypeReqDescription
board_idintegeryesBoard ID to read settings for.
keystring–Optional setting key (e.g. "autoAddAssignees"). Omit to read all settings.

No output schema declared.

No examples provided.

get_board_settings_schema ~77

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

NameTypeReqDescription
keystring–Optional setting key to inspect. Omit for all available settings.

No output schema declared.

No examples provided.

get_digest ~59

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 summary?'.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_project_context ~140

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 open tasks, and recent board activity. Call this at the START of a session when the user says 'continue where we left off', 'what's the state of the project', 'resume our work', or 'remind me what we were doing' — especially in a NEW chat after a previous session saved a handoff.

NameTypeReqDescription
board_idintegeryesBoard ID to load context for.

No output schema declared.

No examples provided.

get_task ~55

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

invite_board_member ~90

Use this command to invite a user to a board. The invited user will receive a notification and must accept. Owner/admin only.

NameTypeReqDescription
board_idintegeryesBoard ID to invite the user to.
rolestring–Role to assign (admin or user). Default: user. Cannot assign owner role.
usernamestringyesTelegram username of the user to invite (without @).

No output schema declared.

No examples provided.

issue_agent_key ~106

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.

NameTypeReqDescription
agent_usernamestringyesUsername of the agent.
namestring–Key label. Defaults to '<username> — <date>'.
namespace_slugstringyesNamespace slug of the organization.
scopestring–Key scope label (enforcement is planned; stored today).

No output schema declared.

No examples provided.

list_agents ~57

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.

NameTypeReqDescription
namespace_slugstringyesNamespace slug of the organization.

No output schema declared.

No examples provided.

list_board_files ~64

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.

NameTypeReqDescription
board_idintegeryesBoard ID to list files for.

No output schema declared.

No examples provided.

list_board_members ~39

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

NameTypeReqDescription
board_idintegeryesBoard ID to list members for.

No output schema declared.

No examples provided.

list_board_tags ~57

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.

NameTypeReqDescription
board_idintegeryesBoard ID to list tags from.

No output schema declared.

No examples provided.

list_boards ~103

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

NameTypeReqDescription
codestring–Filter boards by board code (3-character code, exact match, case-insensitive).
include_archivedboolean–Include archived boards in result.
limitinteger–Optional max number of boards to return.
only_archivedboolean–Return only archived boards.
titlestring–Filter boards by title (starts-with, case-insensitive).

No output schema declared.

No examples provided.

list_checklist ~55

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

list_comments ~53

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

list_namespaces ~44

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_oauth_clients ~33

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

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_pending_invitations ~61

Use this without board_id to see your pending invitations. With board_id, see pending invitations for that board (must be a member).

NameTypeReqDescription
board_idinteger–Optional board ID to filter invitations for. If omitted, shows your pending invitations.

No output schema declared.

No examples provided.

list_statuses ~38

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

NameTypeReqDescription
board_idinteger–Optional board ID. Defaults to user's active board.

No output schema declared.

No examples provided.

list_task_activity ~99

Use this to read the history of actions performed on a task (create, update, status changes, comments). Returns a timeline of activity entries.

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
limitinteger–Optional max number of activity entries to return (default 20).
offsetinteger–Optional offset for pagination (default 0).
task_numberintegeryesTask number in board scope.

No output schema declared.

No examples provided.

list_tasks ~221

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

NameTypeReqDescription
assigneestring–Optional assignee username filter (without @).
board_idintegeryesBoard ID to list tasks from.
created_fromstring–Optional inclusive lower bound on createdAt as YYYY-MM-DD.
created_tostring–Optional inclusive upper bound on createdAt as YYYY-MM-DD.
include_deletedboolean–Include deleted tasks in the result.
limitinteger–Optional max number of tasks to return.
only_deletedboolean–Return only deleted tasks.
priority––Optional priority filter: critical, major, normal, low (aliases: high→major, middle→normal).
statusstring–Optional status name filter.
tags––Optional list of tags to filter by. Tasks matching ANY of the specified tags are returned.
title_containsstring–Optional case-insensitive substring match on task title.

No output schema declared.

No examples provided.

move_board ~91

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.

NameTypeReqDescription
board_idintegeryesBoard ID to move.
namespace_slugstringyesTarget namespace slug (e.g. 'kangram'). Use list_namespaces to discover available slugs.

No output schema declared.

No examples provided.

move_task ~90

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.

NameTypeReqDescription
source_board_idintegeryesBoard ID where the task currently belongs.
target_board_idintegeryesBoard ID to move the task to.
task_numberintegeryesTask number in the source board.

No output schema declared.

No examples provided.

my_work ~96

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 single namespace.

NameTypeReqDescription
namespace_slugstring–Namespace slug (e.g. 'acme'), as returned by list_namespaces. Scopes tasks to boards in that namespace.

No output schema declared.

No examples provided.

remove_board_member ~113

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 board_member row (Telegram-only) cannot be removed. Owner can remove admin/user, admin can remove user. Cannot remove owner.

NameTypeReqDescription
board_idintegeryesBoard ID to remove the user from.
user_idintegeryesUser ID to remove from the board.

No output schema declared.

No examples provided.

reorder_statuses ~53

Provide orderedStatusIds to set deterministic status ordering for a board.

NameTypeReqDescription
board_idinteger–Optional board ID. Defaults to user's active board.
ordered_status_idsarrayyesStatus IDs in desired order.

No output schema declared.

No examples provided.

respond_to_invitation ~52

Use this command to accept or reject a pending board invitation by its ID.

NameTypeReqDescription
acceptbooleanyesTrue to accept, false to reject.
invitation_idintegeryesInvitation ID to respond to.

No output schema declared.

No examples provided.

restore_board ~29

Use this to recover a previously archived board.

NameTypeReqDescription
board_idintegeryesBoard ID to restore.

No output schema declared.

No examples provided.

restore_task ~50

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

NameTypeReqDescription
board_idintegeryesBoard ID where the task belongs.
task_numberintegeryesDeleted task number in board scope.

No output schema declared.

No examples provided.

revoke_agent_key ~68

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.

NameTypeReqDescription
key_idintegeryesAPI key id (from list output or the web UI).

No output schema declared.

No examples provided.

revoke_oauth_client ~54

Revoke one of your OAuth2 clients by its numeric ID. Existing tokens are not deleted but no new authorizations will be allowed.

NameTypeReqDescription
client_idintegeryesNumeric ID of the OAuth2 client to revoke.

No output schema declared.

No examples provided.

Install

How do I install the Kangram MCP server?

Kangram is a hosted endpoint at https://kangram.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · kangram.app

# add to Claude Code
claude mcp add --transport http app-kangram-kangram 'https://kangram.app/mcp'
Common questions

What is the Kangram MCP server?

Kangram is an MCP server listed in the public MCP registry as app.kangram/kangram. Task & board management for AI agents + humans. Kanban, comments, digests via MCP. This page covers its hosted endpoint (https://kangram.app/mcp).

Is the Kangram MCP server safe to use?

Kangram scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Kangram MCP server expose?

Kangram exposes 61 tools: list_boards, create_board, update_board, get_board_by_namespace, archive_board, and 56 more. Their descriptions and schemas cost roughly 5,797 tokens of context every time the server is loaded.

Does the Kangram MCP server require authentication?

No. We connected to Kangram without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Kangram MCP server still maintained?

Kangram is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.