Connect an AI assistant

Tarsen speaks MCP, the Model Context Protocol. That means Claude, or any assistant that supports it, can read your board and act on it while you talk to it. No plugin, no middleman, no copying and pasting your cards into a chat window.

What it lets you do

Once connected, your assistant is talking to your actual workspace. So you can ask it things only your board knows the answer to:

  • “What’s on my plate this week, and what’s overdue?”
  • “Which cards on the Roadmap board are blocked, and what’s blocking them?”
  • “Add a card to Roadmap for the billing migration, high priority, due Friday.”
  • “Summarise the comments on TAR-142 and tell me what was decided.”
  • “I was off for a week. What actually changed?”

It reads and writes the same board you use. A card it creates is a real card, and a comment it posts is attributed to you and notifies your team.

Set it up

  1. Create an API key

    In Tarsen, go to Workspace → Integrations → API keys. Give it a name (“Claude Desktop”, say) and press Create key. Copy it straight away, because for security we only store a scrambled version, so it can never be shown again.

  2. Find your workspace address

    It is your Convex site URL with /mcp on the end. If you are self-hosting or unsure, it is the NEXT_PUBLIC_CONVEX_SITE_URL value from your deployment, and it ends in .convex.site.

    https://your-deployment.convex.site/mcp
  3. Add it to Claude Code

    claude mcp add --transport http tarsen \
      https://your-deployment.convex.site/mcp \
      --header "Authorization: Bearer tsn_your_key_here"
  4. Or add it to Claude Desktop

    Settings → Developer → Edit Config, then paste this in and restart the app.

    {
      "mcpServers": {
        "tarsen": {
          "type": "http",
          "url": "https://your-deployment.convex.site/mcp",
          "headers": {
            "Authorization": "Bearer tsn_your_key_here"
          }
        }
      }
    }

Any other client works too, as long as it supports HTTP with custom headers. The server speaks standard JSON-RPC and the key goes in an Authorization header.

Shortcut: right after you create a key, press “Copy agent prompt” on that same screen. It copies a message with your real server URL and key already filled in — paste it straight into your agent's chat and it can set the connection up itself.

What your assistant can reach

14 tools, covering projects, boards, cards and comments. 5 only read; 9 can change something, and 6 of those are held to a scoped key's own work (see “Is this safe?” below).

ToolWhat it doesAccess
list_projectsList the projects in the workspace. Start here when you need a project id, or when the user names a project and you need to resolve it.Read
get_boardGet a project's full board: every list, in order, with the cards in each. Use this to answer questions about what is in progress, what is stuck, or how work is distributed across columns.Read
search_cardsFull-text search over card titles across every project the key's owner can see. Use this when the user refers to a card by name or topic rather than by id.Read
get_cardGet one card in full: description, assignees, labels, checklist, recent comments, and its attachments. Each comment carries an id and a mine flag — mine is true for the comments you wrote, which are the only ones edit_comment will let you change. Each attachment carries a fetchable url plus its filename, mimeType and size, so an image or document on the card can actually be opened rather than just named. Use this before answering a detailed question about a card, or before editing it.Read
list_my_workList the open cards assigned to the key's owner, soonest due first. Use this for 'what am I working on', 'what's due', or planning questions about the user themselves.Read
create_projectCreate a new project with its own board and default lists. Use only when the user has asked for a new project — a new kind of work usually belongs as a card in an existing project, not a project of its own. Keys scoped to their own cards cannot use this.Write
create_cardCreate a card at the end of a project's first list. Use only when the user has asked for something to be added — never to record your own notes.Write
update_cardChange a card's title, description, priority or due date. Only the fields you pass are altered. Confirm with the user before changing anything they did not explicitly ask you to change.Write, own work only
move_cardMove a card to another list in the same project — this is how you change a card's stage. Name the list as it appears on the board ("In Progress"), or pass listId from get_board. Moving into the project's done list completes the card, and moving back out reopens it.Write, own work only
assign_cardAdd or remove assignees on a card, by name or email. Use "me" to assign the card to YOURSELF — your own agent identity, not the person whose key you are using — which is how you claim work before starting it and how a human can see what you are holding. Names are matched case-insensitively and a first name is enough when unambiguous. Pass both arguments to reassign in one call.Write, own work only
set_labelsSet a card's labels to exactly this set, replacing whatever is there — pass the full list, not just additions, and pass an empty array to clear them. Labels must already exist in the workspace; this never creates one, so a name that does not exist is an error listing the ones that do.Write, own work only
manage_listAdd a stage to a project's board, or rename and reorder an existing one. Omit renameFrom to create; pass it to change an existing list. Use after to place a stage in the right part of the workflow — without it a new list goes last, which is rarely where a stage belongs. Cannot change which list completes work; that stays a human decision in the app.Write
add_commentAdd a comment to a card, posted as the key's owner. Everyone watching the card is notified, so use it for things the team should see rather than as scratch space.Write, own work only
edit_commentRewrite a comment you posted earlier — to correct a mistake, or to update a progress note rather than adding a fifth one to the same card. You can only edit YOUR OWN comments: get_card marks those with mine: true, and the server refuses anything else, so do not try to fix a person's wording for them. The body replaces the whole comment, and the card shows it as edited afterwards.Write, own work only

Is this safe?

A key acts as you, in one workspace. That is the whole rule, and everything else follows from it:

  • It reaches exactly the projects you can reach. A private project you are not a member of is invisible to your assistant, just as it is to you.
  • It cannot do anything you cannot. If you have view-only access to a project, so does your key.
  • It is locked to the one workspace it was made in. There is no way to point it at another.
  • If you leave the workspace, the key stops working immediately.
  • Keys are personal. Even a workspace admin cannot see or use yours.

There is a second, optional layer for agent keys: when you create a key, you can check “Only let this agent change work assigned to it”. A scoped key can still read the whole board and claim any unassigned card, but it cannot move, relabel, comment on or reassign a card held by someone else — including another agent. This is what stops one runaway agent from touching a teammate's work while it is left unattended.

You can revoke a key at any time from the same screen you created it on. It stops working on the next request.

Because a key can create cards and post comments, treat it like a password. If you paste one somewhere public, revoke it and make a new one. It takes about ten seconds.

If something goes wrong

What you seeWhat it means
Missing or malformed API keyThe key did not arrive. Usually a truncated paste, or a missing “Bearer ” in front of it.
Invalid or revoked API keyThe key was revoked, or you are no longer a member of that workspace. Create a new one.
The assistant invents a project nameAsk it to list your projects first. It cannot guess ids, and saying so usually fixes it.
“You have view-only access”Working as intended: your key inherits your permissions. Ask an admin for edit access to that project.

Something missing here? Email support@tarsen.co and we’ll write it.