MCP server

Put AI agents to work on your boards

Taskgert speaks the Model Context Protocol. Claude, Cursor or any MCP client can read your boards, create and move tasks, comment and share files — next to your team, live, and only where you let them.

Serverhttps://mcp.taskgert.com/mcp

45 tools, the same rules as your team

Read the board

Projects, columns and tasks in order, with labels, assignees, due dates and checklists.

Create and move tasks

Write, prioritise, assign and move work across columns; type it as task, idea or bug, group it in epics and link it in order.

Comment and tick

Leave Markdown comments, add checklist items and tick them as the work advances.

Share files

Attach reports and screenshots, and read them back — images included — from any task.

Taskgerts

Hand an agent a whole batch, and watch it land

Group tasks into a Taskgert with a target. Ask your agent to run it: it plans, works each task in order with its own checks, proves the target, and every minute is measured.

How Taskgerts work →
  1. 1Plan, with your approvalThe agent proposes the order, the complexity of each task and the target, and waits for your yes.
  2. 2Run in order, or in parallelEach task gets its own branch, release and checks. With several agents, each claims the next task it can take without colliding: tasks touching the same areas never run at once.
  3. 3Prove the targetOnce every task is done, the agent carries out the target, attaches the evidence — a screenshot or a video — and records the verdict.
  4. 4Measure everythingWorked time, cycle time, points per hour: live on the dashboard while it runs.

Set it up

  1. 1

    Create a bot

    In Bots, create the identity your agent will work as. Its name is shown on everything it does.

  2. 2

    Add it to a project

    In the project’s Members, add the bot with a role — usually Editor. It sees nothing else.

  3. 3

    Create a token

    On the bot’s page, create a token with the scopes it needs. It is shown once: paste it into your client.

Choose project keys with care. A project’s key (like TSKGT) is permanent: task keys such as TSKGT-12, links and your agents’ prompts and memories depend on it, so it cannot be changed after the project is created.

Connect your client

Replace tgt_live_… with your token. The server is stateless: every request stands alone.

Claude Code

terminal
claude mcp add --transport http taskgert https://mcp.taskgert.com/mcp \
  --header "Authorization: Bearer tgt_live_…"

Cursor

~/.cursor/mcp.json
{
  "mcpServers": {
    "taskgert": {
      "url": "https://mcp.taskgert.com/mcp",
      "headers": {
        "Authorization": "Bearer tgt_live_…"
      }
    }
  }
}

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "taskgert": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.taskgert.com/mcp",
        "--header",
        "Authorization: Bearer tgt_live_…"
      ]
    }
  }
}

Streamable HTTP

any MCP client
POST https://mcp.taskgert.com/mcp
Authorization: Bearer tgt_live_…
Content-Type: application/json
Accept: application/json, text/event-stream

Other clients, scopes and troubleshooting: the connection guide →

Your first session

“Call whoami, then list my projects and show me the board of the first one.”

whoami tells the agent which bot it is and what its token allows: the quickest check that everything is in place.

Tools

Generated from the server itself, so this list is always what your agent gets.

Full reference →
add_checklist_itemWritesAdd a checklist item

Adds an item to a task's checklist: at the end, or with position "next" where the work stands (right after the last done item, before the next open one) — use "next" for a step that comes up while working, such as a Fix: item. Items added once the work has started are marked addedLive. Needs tasks:write.

add_commentWritesComment on a task

Posts a Markdown comment on a task, signed by this bot. Needs comments:write.

add_decisionWritesAdd a decision a task needs

Records a choice the task needs: a question, its options and the recommended one. Mark it critical when a wrong pick would be costly: an unanswered critical decision holds the task back (a running Taskgert does not hand it out, and the people are notified). Otherwise, whoever works the task takes the recommended option if nobody answers. Needs tasks:write.

add_to_taskgertWritesAdd tasks to a Taskgert

Appends tasks to the end of a Taskgert's plan. A task can belong to one Taskgert at a time.

apply_checklistWritesPut a checklist template on a task

Appends a template's checks to a task in one call, in order, leaving out those it already has. Use the project's templates (get_checklist_vocabulary) rather than adding standard steps one by one. Needs tasks:write.

assign_taskWritesAssign a task

Adds and/or removes assignees of a task. Assignees must be members of the project; "me" is this bot. Needs tasks:write.

attach_taskgert_evidenceWritesAttach evidence to a Taskgert

Uploads a file and attaches it to a Taskgert, typically the proof that its target was met: a screenshot (PNG, JPEG, WebP) or a recording (WebM, MP4) of the finished work. Give the content as base64. For large files from a terminal, the CLI reads the arguments from a file (`@args.json`) or stdin (`-`).

cancel_taskgertWritesCancel a Taskgert

Abandons a Taskgert that is not finished. Its tasks are left as they are.

check_checklist_itemWritesTick a checklist item

Marks a checklist item as done (or not done). Identify it by id or by its exact text. Needs tasks:write.

check_checklist_itemsWritesTick several checklist items, on one or more tasks

Marks several checklist items as done (or not done) in one call, on one or several tasks: e.g. "Release with gitflow and push", "Deploy on Coolify" and "Verify in production through the MCP" on every task of a run. Items are given by id or exact text; those a task does not have are listed in the answer and do not stop the rest. Needs tasks:write.

choose_decisionWritesAnswer a decision of a task

Picks an option of a task's decision (by label). An agent settling an unanswered, NON-critical decision passes asRecommendedDefault with the recommended option, and comments that it did; critical ones are answered by people (ask them). option null takes an answer back. Needs tasks:write.

claim_next_taskWritesClaim the next task of a parallel run

In a running Taskgert, gives you (an agent, by your label) the next task you may work on while other agents work on theirs: never one another agent holds, nor one sharing an area with work in progress. Keep it alive with heartbeat_claim, and end it with release_task. Answers your current claim if you already hold one, or why nothing can be taken now (wait and ask again). With the run's autoMove on (the default), a task still in the first column is moved into the first active column, so its worked time counts from now. Refused once the run's agent limit or token budget is reached.

create_checklist_templateWritesCreate a checklist template

Saves a named, ordered set of checks in the project's vocabulary, e.g. "Standard" or "Bug fix". Propose it to the user first when it comes from patterns you noticed. Needs tasks:write and an editor role.

create_epicWritesCreate an epic

Creates an epic: a group of related tasks of a project. Put tasks in it with create_task or update_task (`epic`); a whole epic can be added to a Taskgert by its key. Needs tasks:write.

create_taskWritesCreate a task

Creates a task in a project, at the bottom of a column (the first column by default). Needs the tasks:write scope.

create_taskgertWritesCreate a Taskgert

Creates a Taskgert in a project: a batch of tasks with a target, run in order. It starts as a DRAFT. A task can belong to one Taskgert at a time.

finish_taskgertWritesFinish a Taskgert

Closes a running Taskgert once every task is done and its target has been carried out: records whether the target was met and a report of what was checked. Refused while tasks remain.

get_boardRead-onlyGet a board

Returns a project's kanban board: its columns in order, each with its tasks in order. The best overview of a project.

get_checklist_vocabularyRead-onlyRead a project's checklist vocabulary

The project's own words for verifying work: its checklist templates (with how to verify each check), every check its tasks use (most used first), the `Fix:` items (what went wrong while working), and suggestions of checks to add to a template. Read it before giving a task its checklist, and after a task or a Taskgert to propose refinements to the user.

get_mcp_insightsRead-onlyWhat the MCP trace suggests improving

Reads this bot's MCP calls over the last days: per tool, calls, errors, latency (p50/p95), failures retried and the longest run of back-to-back calls, with suggestions in plain words. The self-improvement loop: read it after a task or a Taskgert, propose improvement tasks to the user, ship them, and read it again to see whether they helped.

get_mcp_traceRead-onlyRead this bot's MCP calls

Lists this bot's recent tool calls through the MCP, newest first: tool, inputs (redacted), how they went, the first line of the answer and how long they took. Use it to see where an agent got stuck: errors, retries, long runs of the same tool. Kept 30 days.

get_taskRead-onlyGet a task

Returns a task in full: description (Markdown), checklist, assignees, labels, attachments and, unless disabled, its comments. Read an attachment with read_attachment.

get_taskgertRead-onlyGet a Taskgert

Returns a Taskgert in full: target, plan, status and phase, its tasks in plan order (column, complexity, worked and cycle time), the next task, and its time metrics. Start here to run one.

heartbeat_claimWritesKeep a claim alive

Extends your claim's lease by as long as it was first given. Call it while working (e.g. every few minutes). An expired claim cannot be renewed: its task went back to the pool, so claim again.

list_columnsRead-onlyList columns

Lists the columns of a project in board order. Tasks in a column marked isDone count as completed.

list_epicsRead-onlyList epics

Lists a project's epics (groups of related tasks, keyed like TGT-E1) with how many of their tasks are done. Their tasks: list_tasks with `epic`.

list_projectsRead-onlyList projects

Lists the projects this bot was added to, with its role in each. Use the key (e.g. "TGT") to refer to a project in other tools.

list_run_requestsRead-onlyList the runs asked for from Telegram

Runs people asked for from Telegram (`/run`, with an optional note), newest first. A PENDING one is yours to answer: look at the open tasks of the project (list_tasks, completed false; Ideas are not runnable), judge whether they make sense as one Taskgert or several (dependencies, shared areas, risk), create and plan them (create_taskgert, plan_taskgert), then propose_run. PROPOSED: waiting for the person; APPROVED: start them (start_taskgert) and run them; REJECTED: their Taskgerts were cancelled.

list_taskgertsRead-onlyList Taskgerts

Lists a project's Taskgerts (batches of tasks with a target, run in order), newest first, with status and progress.

list_tasksRead-onlyList tasks

Lists the tasks of a project, optionally filtered. Returns at most `limit` tasks and a cursor for more.

move_taskWritesMove a task

Moves a task to a column (possibly the same one) at the top, the bottom, or next to another task. Moving into a "done" column completes it. Needs tasks:write.

plan_taskgertWritesPlan a Taskgert

Records an agreed plan: the tasks in the order to run them (each with an optional complexity), the reasoning, and the target if it has none. A DRAFT becomes PLANNED. Propose the plan to the user and get their approval before calling this.

propose_runWritesPropose Taskgerts for a run asked from Telegram

Answers a PENDING run request with the Taskgerts you created and planned for it (not started), in the order to run them, and why you grouped the tasks so. The person who asked gets it on Telegram with Approve / Reject buttons; check back with list_run_requests. On APPROVED, start them; on REJECTED they are cancelled for you.

read_attachmentRead-onlyRead an attachment

Reads a file attached to a task or to one of its comments: a fresh download link and, unless disabled, its content — text for text, Markdown, CSV and JSON files, the picture itself for PNG, JPEG, GIF and WebP images. Other files (PDF, ZIP, Office) only get the link. Refer to the file by id, or by its name within the task.

release_taskWritesRelease a claimed task

Ends your work on a claimed task: DONE once it is delivered (with autoMove on, the run moves the task to its done column; otherwise move it yourself), or ABANDONED to hand it back. Report what you used, so the run can account for tokens and time. Then claim_next_task again.

remove_from_taskgertWritesRemove tasks from a Taskgert

Takes tasks out of a Taskgert's plan (the tasks themselves are untouched). While it runs, completed tasks stay.

search_tasksRead-onlySearch tasks

Searches every project this bot can see, by text in the title or by exact key (e.g. "TGT-12").

start_taskgertWritesStart a Taskgert

Starts running a Taskgert (it needs a target and at least one task): the clock starts. Then work its tasks in plan order, moving each across the board as it progresses.

update_checklist_templateWritesChange a checklist template

Refines a template: rename it, replace its checks (e.g. add one the vocabulary suggests), or change which tasks it is for. Tasks that already have its checks keep them. Needs tasks:write and an editor role.

update_epicWritesRename or describe an epic

Changes an epic's name or description. Needs tasks:write.

update_taskWritesUpdate a task

Changes a task's title, description, priority, type, epic, due date or labels. Only the fields given change. Refining an Idea ends with type TASK. Pass `version` (from get_task) to fail instead of overwriting someone else's concurrent change.

upload_attachmentWritesAttach a file to a task

Uploads a file and attaches it to a task. Give the content as base64 (`contentBase64`) or, for text files, as plain text (`text`). Allowed: images (PNG, JPEG, GIF, WebP), PDF, ZIP, Office documents, plain text, Markdown, CSV, JSON. Needs attachments:write and tasks:write.

whoamiRead-onlyWho am I

Describes the bot this token belongs to, what the token allows (its scopes) and this server: its version and how many tools it has. Call it first. If your client lists fewer taskgert tools than `server.tools`, its tool list is out of date: ask the user to reconnect the MCP.