MCP Server

Overview

An endpoint that lets external AI clients connect to Kanvas AI and act on your behalf. Connect Claude Desktop, Claude Code, Cursor, or any other client that speaks the Model Context Protocol, approve the connection in a browser popup once, and those tools can list your projects, create and update tasks, add comments, read and write knowledge documents, and pull activity and stats — without copying anything around.

Use it for: driving Kanvas AI from the AI tools you already use day to day, running scripted workflows against your workspace, giving your desktop AI a direct line into your projects.

How it works

  1. You add the Kanvas AI MCP URL to your client.
  2. The client opens a browser popup to Kanvas AI and shows you which capabilities it is asking for.
  3. You review the list and click Approve.
  4. The client receives an access token tied to your account and can call Kanvas AI tools on your behalf.
  5. Every action the client takes is attributed to you in activity feeds, with the client’s name shown alongside your name — for example, “Alex via Claude Desktop” — so you can always see who requested a change and which tool carried it out.

If you have already approved the same client for the same capabilities before, step three is silent — the client reconnects automatically.

Triggers & shortcuts

Action How
Connect a client Add the Kanvas AI MCP URL as an MCP server in your client
Approve a connection Click Approve in the browser popup Kanvas AI opens during connection
Switch workspace per call Most tools accept an optional workspace name or identifier

Setup

Authentication uses industry-standard, interactive OAuth — the same flow Claude Desktop, Claude Code, Cursor, and MCP Inspector already know how to drive. There are no API keys to paste and no shared secrets. Every teammate gets their own connection, and every client on their machine gets its own token.

If you are not signed into Kanvas AI when the popup opens, it will prompt you to sign in first. One token covers every workspace you belong to; switch between them per call by passing a workspace name.

Address

Use mcp.getkanvas.ai as the connector address in your client’s MCP settings. It covers every workspace your account has access to. This short form works with Claude Desktop, Cursor, MCP Inspector, and most other MCP clients.

Claude Code CLI needs the long form — use mcp.getkanvas.ai/api/mcp/mcp instead. If you’ve already added the short form and connections aren’t completing, swap it for the long form.

Usage

Connect Claude Desktop. Open Claude Desktop settings, add a new MCP server, paste the Kanvas AI MCP URL, approve the connection in the popup, and you are done. Every Kanvas AI tool becomes available as a Claude tool.

Check your identity. A connected client can confirm which user it is acting as — returning your name, email, and current workspace. This is useful for AI agents that need to verify the account they are operating under before taking actions on your behalf.

Work with projects and tasks. Once connected, your client can:

  • List the workspaces and projects you have access to — project tags include their display color alongside the tag name, ordered by palette position so they match the in-app order. Each project also includes its memory notes (in markdown) when available, so connected clients have the context your team has written down about the project
  • List, search, and filter tasks by status, assignee, tags, or a text query — within a project, results follow the board’s visual order (columns left to right, highest-priority tasks first in each column) so the listing matches what you see on screen
  • Fetch full task details — including the full description, comments, and linked items — by task identifier (the short form shown on each task)
  • Create new tasks with title, description, assignee, tags, status, milestone, position in the column (top or bottom), and optional file attachments. Descriptions can include @mentions of users, other tasks, and documents — mentioned users receive notifications just as they would from the web interface. On GitHub-connected projects, an optional repository argument pins the task to one of the project’s connected repositories for AI coding sessions
  • Update existing tasks, including reassigning milestones. Updated descriptions can add or change @mentions; only newly added mentions trigger notifications. The task’s target repository can also be set or cleared
  • Reorder tasks within a board column — move them to the top or bottom
  • Attach files to existing tasks — images, documents, and other supported file types appear in the task the same way as files added through the web interface
  • Add comments to tasks, with optional file attachments. Comments can be sent as plain text or as structured rich text; rich-text comments can include @mentions of users, tasks, and documents, which trigger the same notifications and backlinks as mentions made through the web interface
  • Update existing projects — rename the project, change its emoji, edit memory notes, manage tags (add, rename, or remove), and manage columns (add, rename, or reorder). Requires project manager permissions
  • Fetch board summaries and project layouts — each column includes its workflow role (such as To Do, In Progress, Testing, or Done) when one is assigned, so your client can understand the board’s semantic structure
  • Pull task statistics over a time range, grouped by status, assignee, or tag
  • Read recent activity (creations, status changes, assignments)
  • List project channels and direct message threads
  • Read channel and direct message history

Work with knowledge documents. The client can:

  • List knowledge folders and the documents inside them
  • Read the contents of any document you can access. Content is returned as markdown by default, which is compact and easy for AI clients to work with. You can also request HTML or structured data if your workflow needs the original formatting detail
  • Create new documents, optionally inside a folder, with a title and an emoji icon
  • Update documents, including title, content, and icon

Check your identity. Your connected client can ask Kanvas AI to confirm who it is acting as — your name, email address, and current workspace. This is helpful when a client works across multiple workspaces and needs to verify the active account before taking actions.

Switch workspaces per call. Tools accept an optional workspace argument. Leave it off to use your current workspace; set it to another workspace name or identifier to act somewhere else.

Edge cases & limits

  • Workspace membership is enforced on every call. Connected clients only see workspaces you are a member of. Being removed from a workspace immediately cuts off access; joining a new one makes it visible without reconnecting.
  • Project membership is enforced on write actions. Creating a task or adding a comment in a project requires you to be a member of that project, even if the client has the right capability approved.
  • Project updates require the manager role. Updating project settings — name, icon, tags, columns, members, milestones — is restricted to project managers. Members without the manager role receive an error even if they have the right capability approved.
  • Capability-gated access. Clients only receive the capabilities you explicitly approved. Revoking the connection immediately invalidates further calls.
  • Attribution in audit trails. Every MCP-originated action is recorded against your account. Task activity entries read as “Your name via the client name” (for example, “Alex via Claude Desktop”) so you can audit who requested the change and which tool carried it out. Older entries that predate this behavior continue to display the client name on its own.
  • Milestones. Task listings include the milestone identifier alongside the milestone name so clients can reassign milestones programmatically.
  • Project tags include color. Project listings and detail responses include each tag’s display color alongside its name, so connected clients can render tags with the same visual styling used on the Kanvas AI board. Tags are returned in the same order as the project’s tag palette.
  • Content formats. When creating or updating documents and tasks, content can be sent as plain markdown or as the editor’s rich-text format. Markdown is recommended for most cases. Use the rich-text format when you need things markdown cannot express — @mentions of users, tasks, or documents, custom embeds, or callouts. Pick one format per call.
  • Reading documents. When reading a document, content is returned as markdown by default. You can request HTML or the editor’s native rich-text format if your client needs the original formatting detail.
  • Emoji icons. Documents created or updated through MCP can carry any emoji as their icon. A default icon is used if none is specified at creation time.
  • Project memory. Project listings and details include the project’s memory notes as markdown when available. Memory notes are free-form context your team writes about a project — goals, conventions, key decisions — and connected AI clients can use them to understand a project before taking actions in it.
  • Column workflow roles. Board and project responses include a workflow role for each column when one is assigned. Available roles are To Do, In Progress, Testing, and Done. When multiple columns share the same role, the leftmost column is the default target for automated actions. Connected clients can use roles to understand the semantic layout of a board without relying on column names.
  • Project tag colours. Project listings and project details include each tag’s background and text colours alongside its name, so connected clients can render tags with the same colour scheme you see on the Kanvas AI board. Tags are returned in the same order as they appear in the project’s tag palette.
  • Mentions in tasks and comments. Task descriptions and comments can include @mentions of users, other tasks, and documents. Mentioned users receive the same notifications they would get from an @mention made through the web interface. Task and document mentions create backlinks, so the referenced item’s activity panel shows the connection. Mentions require structured rich text — they are not available through the plain markdown path.
  • File attachments. Files can be attached when creating a task, adding a comment, or added to an existing task after the fact. Supported types include images (PNG, JPEG, GIF, WebP, SVG), documents (PDF, Word, Excel, PowerPoint), plain text and data files (TXT, Markdown, CSV, HTML, JSON, XML), and ZIP archives. Files can be sent as inline data or by reference to a publicly accessible URL — Kanvas AI fetches URL-referenced files on your behalf. Attachments appear in the task view exactly as they would if uploaded through the web interface.
  • Task identifiers. All task-related tools accept the short identifier shown on the task card (the same one displayed on the board and in URLs). Listing, fetching, and searching tools also return that identifier in every response, so you can use whichever form is most convenient.
  • Repository targeting (GitHub projects). When creating or updating a task, the optional repo argument pins the task to one of the project’s connected GitHub repositories — pass either the repository’s identifier (UUID) or its full owner/name (matched case-insensitively). The repository must be connected to the task’s project; references to unknown repositories or to another project’s repositories are rejected with an error before anything is written. On update_task, pass repo: null to clear the binding so the task falls back to the default repository resolver. When you create a task without a repo and the project’s tag→repository routing maps the task’s tags unambiguously to a single repository, that repository is applied automatically; if the tags route to several repositories (or none), no default is set. On projects with multiple connected repositories and no binding, an AI coding session will not guess — it fails loudly at kickoff and asks for a repository, so set repo explicitly in that case.
  • Not a workspace-wide credential. Tokens are per-user per-client. Sharing them is not supported — each teammate should connect their own client.

This site uses Just the Docs, a documentation theme for Jekyll.