DoskaDocs
Docs / Integrations

Claude and MCP

Connect Claude Code, Cursor or VS Code to Doska over MCP so an AI agent can read boards, draw diagrams, write documents and answer comments.

Doska has a built-in Model Context Protocol server. Connect Claude Code (or another MCP client such as Cursor or VS Code) and the agent can read your boards and documents, draw and update diagrams, add sticky notes and reply to comments. It acts on your behalf, with the rights of the token you give it.

The server address is https://getdoska.top/api/mcp (Streamable HTTP transport). There is nothing to install on the Doska side.

Quick start

  1. In Doska, open the menu under your name at the bottom of the sidebar and choose Settings and API tokens.

  2. In Access tokens, click Create token. Choose the access level, projects and expiration (see below), then click Create token.

  3. Copy the command shown under Connect to Claude Code and run it in a terminal:

    bash
    claude mcp add --transport http doska https://getdoska.top/api/mcp --header "Authorization: Bearer dsk_…"

    Add --scope user to make the server available in every folder; without it, it works only in the current project.

  4. Start claude and check the connection with /mcp.

The token is shown only once. Copy it before you close the panel.

Other MCP clients

Any client that can send an HTTP header works. Point it at the same URL and pass the header Authorization: Bearer dsk_…. For example, in Cursor (mcp.json):

json
{
  "mcpServers": {
    "doska": {
      "url": "https://getdoska.top/api/mcp",
      "headers": { "Authorization": "Bearer dsk_…" }
    }
  }
}

In VS Code (.vscode/mcp.json):

json
{
  "servers": {
    "doska": {
      "type": "http",
      "url": "https://getdoska.top/api/mcp",
      "headers": { "Authorization": "Bearer dsk_…" }
    }
  }
}
Note

Connectors in claude.ai and Claude Desktop sign in with OAuth, which Doska doesn't support yet. Use Claude Code or another client that sends a header.

Create a token

A token is personal: it acts as you and never has more rights than you have right now. If you are removed from a project or the organization, the token loses access there too.

SettingOptions
OrganizationOne. The token doesn't see your other organizations
AccessCan read: view boards, diagram code and comments.<br>Can comment: same, plus write, reply to and resolve comments.<br>Can edit: same, plus change boards and diagrams, create boards
ProjectsAll projects (every project you can see, including future ones) or Selected only
Expiration30 days, 90 days, 1 year or No expiration

A few more rules:

  • A viewer stays a viewer. A Can edit token can't change boards where your role is Viewer.
  • No management. A token can't delete boards or projects, manage members and roles, change sharing or create other tokens.
  • Only the API and MCP. A token works for /api/v1/* and /api/mcp; other addresses answer 403.
  • Stored as a hash. Doska keeps only a hash of the token. The dsk_ prefix helps secret scanners find leaked tokens.

Each token in the list shows its level, projects, expiration and when it was last used. Click the trash icon to revoke it; connected clients lose access immediately.

For organization admins

In Members and settings → Access tokens, owners and admins choose what members and guests may create under Members and guests can create tokens: No restrictions, Read and comment, Read only or Tokens disabled. The rule applies immediately, including to tokens already issued. It doesn't limit admins and owners.

The same section lists every token in the organization with its owner, and any of them can be revoked.

What the agent can do

The client sees only the tools of its token's level: a read-only token doesn't even get the editing tools.

Can read

ToolWhat it does
list_projects, list_boards, list_foldersProjects, boards, documents and folders the token can see; search also finds documents by their text
get_boardThe whole board in compact form: diagrams as code, other elements as a list, and whether the board has a public link
get_diagramDiagram code and its unapplied draft
read_docA document as Markdown, with the documents that link to it
read_deck, list_deck_templatesA presentation as Markdown with its numbered slides; the ready-made presentations to start from
get_deck_audienceWhat the audience said during a talk: questions with upvotes, poll results, how the shared link was watched
list_comments, list_board_peopleComment threads, and who can see the board and why
diagram_syntax, search_icons, validate_diagramSupported syntax (Mermaid, D2, nwdiag), icon search, code check
check_driftCompare a board with imported infrastructure (with a new file, needs Can edit)
check_networkNetwork findings from an imported Terraform plan, and "can A reach B" on a port

Can comment

ToolWhat it does
add_comment, reply_comment, resolve_commentComments on a board (also on a diagram node) or on a quote in a document

Can edit

ToolWhat it does
create_boardA new board, optionally with a diagram and in a folder
put_diagram, delete_diagramCreate or update a diagram from Mermaid, D2 or nwdiag code
add_elements, update_elements, delete_elementsSticky notes, text, shapes with icons, frames, arrows and pictures
arrange_elementsAlign, distribute, or lay out elements in a row, column or grid
create_doc, write_docA new document from Markdown or a template (adr, rfc, postmortem, runbook, onboarding, meeting); replace or append text
create_deckA new presentation: from Markdown, from a template, or made from a board (live slides walked through step by step) or a document. See Presentations
update_slide, insert_slides, delete_slides, move_slide, set_deck_style, write_deckChange one slide without touching the others, add, remove or reorder slides, switch the theme and transition, or rewrite the whole deck
get_upload_link, upload_imagePut a picture from your computer into Doska: a link the agent uploads files through with one curl command, or a small picture as base64. The result goes on slides (also as a slide background), in documents and on boards
embed_diagramInsert a live diagram from a board into a document
rename_board, create_folder, move_boardRename, set an emoji icon, create folders, move items between folders
import_infrastructureA diagram from terraform show -json, Kubernetes manifests or docker-compose

Diagram elements belong to their code, so the agent changes them only through put_diagram; your manual positions and styles are kept the same way as in the code editor. See Diagrams as code and Infrastructure.

Ready-made prompts

Doska also gives the agent ready-made requests. In Claude Code they show up as commands after / (for example /mcp__doska__present-board); other clients list them in their own way.

PromptWhat the agent does
present-boardMakes a presentation from a board: live slides of its frames and diagrams, an intro, speaker notes and a summary
deck-from-docTurns a document (ADR, RFC, runbook, postmortem) into slides with notes
architecture-reviewPrepares an architecture review deck about a system, using the boards and documents about it
incident-reviewPrepares a blameless incident review deck from what happened or from a postmortem
translate-deckMakes a copy of a presentation in another language, diagrams and notes included

Example prompts

  • "What boards are in the DevOps project?"
  • "Read the Architecture board and explain how a request gets from the user to the database."
  • "Draw a diagram of this service on the Payments board, based on the code in this repository."
  • "Write a runbook for deploying this service as a new document in the Ops project."
  • "Make a presentation from the Payments board for the architecture review, in the Midnight theme, and walk through the request flow step by step."
  • "Reply to the open comments on the Review board."
  • "Import our Terraform plan into the Network board and tell me which ports are open to the internet."

After a change the agent gives you a link to the board. If someone has the board open, the changes appear for them at once.

Safety

  • A version before changes. Before the first change through a token, Doska saves a copy of the board in its version history, labelled "Before changes via token "…"". Changes within the next 15 minutes continue the same session. To undo everything the agent did, restore that version in Version history.
  • You can see who changed what. Diagram revisions made through MCP are signed "Name · MCP", and the agent's comments are marked "via MCP".
  • Prompt injection. The agent reads sticky notes and comments written by other people, and they may contain "instructions". Doska tells the client that board content is data, not commands. The most reliable protection is the least privilege:
    • Can read is enough for questions and reviews;
    • limit Can edit tokens to the projects they need, and give them an expiration.
  • Limits. Up to 300 MCP requests per minute from one address, 200 elements per call and 100 deletions per call.

Troubleshooting

  • 401 or "A valid Doska API token is required". The token was revoked, has expired or is disabled by the organization's rule. Check that the header is exactly Authorization: Bearer dsk_….
  • "Board not found". The board is in a project the token doesn't include, or in another organization.

To test the server without a client:

bash
curl -s https://getdoska.top/api/mcp \
  -H "Authorization: Bearer $DOSKA_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  --data '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

For CI and scripts, use the same tokens with the REST API.