BoardMark
Issue-Board für Teams: Lassen Sie Ihren KI-Agenten Issues finden, erstellen und verschieben, Scrum-Sprints durchführen, kommentieren und Projektdokumente pflegen – mit Ihren eigenen Berechtigungen (OAuth).
Gehosteter MCP-Server
npx add-mcp 'https://mcp.boardmark.ai/mcp'Installiert in Claude Code, Codex, Cursor und mehr
Dokumentation
How do I connect an AI agent to BoardMark?
Add BoardMark as an MCP server and sign in through your browser — no token to copy. Or use a personal access token for CI and machines without a browser. The agent works with exactly your rights — only your projects, never admin.
user parity — never admin
Find BoardMark in your marketplace
BoardMark is listed on these marketplaces — press a card to open the listing. Grey ones are waiting for the vendor's review.
Official MCP RegistryListedSearch for ai.boardmark/boardmark in a client that reads the registry (such as VS Code, Windsurf or Zed)Open listing (opens in a new tab) SmitheryListedOpen BoardMark on Smithery and pick your clientOpen listing (opens in a new tab) GlamaListedOpen BoardMark on GlamaOpen listing (opens in a new tab) mcp.soListedOpen BoardMark on mcp.so and copy the config for your clientOpen listing (opens in a new tab) GitHubListedA public repository with the Gemini CLI extension and Cursor plugin configOpen listing (opens in a new tab)
Claude Connectors DirectoryIn reviewWaiting for the vendor's review
Cursor MarketplaceIn reviewWaiting for the vendor's review
Cline MCP MarketplaceIn reviewWaiting for the vendor's review
mcpservers.orgIn reviewWaiting for the vendor's review
ChatGPT appsIn reviewWaiting for the vendor's review
Gemini CLI extensionsIn reviewWaiting for the vendor's review
Microsoft CopilotIn reviewWaiting for the vendor's review
Coming soon: GitHub / VS Code MCP gallery
Install in one click
Pick your AI client — a button opens the app, or copy a single command.
Cursor
- Press Install and confirm in Cursor
- Sign in to BoardMark in the browser that opens
Copy command
claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcp
- Run the command in a terminal
- In Claude Code type /mcp and pick boardmark to sign in
claude.ai · Claude Desktop
- Press Add custom connector and paste the MCP server URL
- Press Connect and sign in to BoardMark
Copy command
codex mcp add boardmark --url https://mcp.boardmark.ai/mcp && codex mcp login boardmark
- Run the command in a terminal
- Sign in to BoardMark in the browser that opens
Copy command
gemini extensions install https://github.com/i-c-develop/boardmark
- Run the command in a terminal
- In Gemini CLI type /mcp auth boardmark to sign in
Send one link to any AI assistant
The guide for AI agents is one Markdown file: what BoardMark is, how to use it step by step, the rules, prices and the FAQ. Paste the link into ChatGPT, Claude, Gemini, Copilot or any other assistant and it can help you use BoardMark right away, with or without MCP. If the assistant supports MCP, the guide also shows it how to connect.
Guide for AI agents
https://www.boardmark.ai/agents.md
Or paste this message
Guide for AI agents
Read https://www.boardmark.ai/agents.md and help me use BoardMark.
-
Add BoardMark as an MCP server
In Claude Code, run (Streamable HTTP) — no token needed: Claude CodeCopy
claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcp -
Sign in and choose the company
Claude Code opens your browser to sign in to BoardMark and choose the company the agent works in. (If no browser opens, run /mcp in Claude Code and pick this server to sign in.) Each sign-in is for one company.
-
See and revoke it any time
Signed-in apps are listed on the Agent & MCP access page of the web app. Sign one out and it loses access immediately. Open the web app
-
Create a token in the app
On Agent & MCP access, create a new token, name it and pick 30, 90, 180 or 365 days. Tokens start with board_pat_ and are shown once — store it somewhere safe. Revoke it any time.
-
Keep the token in an environment variable
Never put the token in a file you commit to git. shellCopy
export BOARDMARK_TOKEN="board_pat_…" -
Add the MCP server with the header
For Claude Code: Claude CodeCopy
claude mcp add --transport http boardmark https://mcp.boardmark.ai/mcp --header "Authorization: Bearer $BOARDMARK_TOKEN"Or add it to the project's.mcp.json (Claude Code expands ${BOARDMARK_TOKEN} from the environment): .mcp.jsonCopy
{ "mcpServers": { "boardmark": { "type": "http", "url": "https://mcp.boardmark.ai/mcp", "headers": { "Authorization": "Bearer ${BOARDMARK_TOKEN}" } } } }
- Claude Code
- Claude Desktop
- claude.ai
- OpenAI Codex CLI
- ChatGPT
- Google Antigravity
- Gemini CLI
- xAI Grok
- Goose
- OpenCode
- Cursor
- VS Code (GitHub Copilot)
- Windsurf
- Kiro
- Zed
- Cline
- Continue
- LM Studio
- Mistral Le Chat
- Microsoft Copilot Studio
Clients that can only run local (stdio) servers connect through mcp-remote.
MCP setup for every client (connect.md)
Let your agent set itself up
Paste this into the agent — it reads the guide and follows the steps for the client it is running in:
Prompt for your agent
Connect yourself to BoardMark: read https://mcp.boardmark.ai/connect.md and follow the steps for the client you are running in.
- Every write sends a version — always call get_issue before update_issue. If someone changed it first you get 409 version_conflict instead of an overwrite.
- They read the project docs first — get_project says which docs to read first (docs.read_first), or get_docs_context returns the brief, working notes and open handoffs in one text. The company's and project's rules there come before BoardMark's defaults (the user's instruction comes first), so a team writes its rules once and every agent follows the same ones.
- They know the three board types — Scrum has sprints (several may run at once), Kanban and Delivery pipeline have none, and a pipeline's statuses follow the environments in project.md.
- On Scrum, people start sprints — an agent changes status only for issues in a sprint a person has started (otherwise 409 sprint_not_started) and cannot start a sprint itself; it can still plan the backlog, comment and edit other fields.
- They follow the board's columns — get_project gives each column's category, colour, WIP limit and meaning (Premium companies customise columns in the web app); agents follow the meaning and treat a WIP limit as a warning. 403 plan_required means the feature needs the Premium plan — a company admin upgrades in the web app.
- Every write is recorded — issue and doc history shows whose rights, which AI client (for example “via Claude Code”), OAuth or token, which MCP tool and a request id; in the app, agent cards, comments and uploads are badged, and requests BoardMark refused go to the company's Audit log.
- 600 requests/minute per token — by default.
- Premium: agent accounts have an owner — exactly the owner's rights; send a reason with every write so the run log can say why; on agent_paused stop and tell the user; on rate_limited wait retry_after. No daily quota.
- Premium: automatic summaries — list_summaries then get_summary read the reports BoardMark sent your team (read-only). They are worked out from board data: report them as returned, do not guess more.
- Premium: Insights — get_project_insights and get_company_insights read cycle time, lead time, throughput, WIP, stuck work and cost per release (read-only). Report the numbers as returned, say “measured n of m cards” for cycle time, and never invent per-person data you were not given.
- Pro and Premium: MRs/PRs on a card — list_development shows the MRs/PRs, CI result and commits matched to a card (read-only). Connecting repositories and the auto-move rules are set in the web app.
- Quotations, billing notes and receipts (every plan) — list_sales_documents and issue_sales_document issue Thai and English PDFs from a Sales & Billing deal. Always ask the user first for the customer's name, address and tax ID, the lines and the VAT mode — never invent them. There are no tax invoices: tell the user to issue those from their accounting system.
- Agents are not seats — they use the rights of the user who connected them and cost nothing extra.
Projects & my work
| Tool | What it does |
|---|---|
list_projects | Projects you can access, optionally with an overview (open issues, running sprints and their progress) in one call |
list_my_issues | Issues assigned to you across every project, in one call |
start_run | Agent accounts (Premium): start a new run with a goal so the run log reads well — optional; a personal token gets 400 not_agent |
get_project | project.md: board type and template, statuses with each column's category, colour, WIP limit and meaning, custom field definitions, saved filters, workflow, environments, your role, and on Scrum sprint_control (admins or members: who can press Start sprint) |
Issues
| Tool | What it does |
|---|---|
search_issues | Search by status, assignee, sprint, type, priority, label, text (title, description or issue key, whole or part), parent, custom fields (fields), template flags (flag, such as overdue or off_track) and issues linked to a key (linked_to=KEY-n); sort by priority or a field (paginated) |
get_issue | Read an issue with its current version, computed field values (computed, such as score and progress) and its live linked targets (linked: key, title, status or a release's state + progress; readable: false when you have no access) |
create_issue | Create an issue (one.md file), with the template's custom field values (fields) |
update_issue | Change any number of fields in one call, custom fields included (fields key by key, null clears) — requires version |
delete_issue | Delete an issue — requires version |
transition_issue | Move to another status (including each environment's statuses on a pipeline) — on Scrum only for issues in a sprint a person has started, else 409 sprint_not_started |
rank_issue | Order an issue (before/after another) |
assign_issue | Set the assignee |
list_people | Who can open the project, with names and roles — name the reporter or assignee and find ids to @mention (via: "company" marks people in through company-wide access) |
list_watchers | Who watches an issue, and whether you do |
watch_issue | Watch an issue to get emails on status changes and new comments |
unwatch_issue | Stop watching an issue |
vote_issue | Vote for an issue (one vote per person; voting again changes nothing) — members and above, in a project with votes on (the Feedback / Idea box template) |
unvote_issue | Take your vote back from an issue |
link_issues | Link issues (blocks, relates, duplicates, clones) — takes the key of another project in the same company, and delivers to a release with id KEY/R-n (403 link_target_forbidden, 404 release_not_found) |
unlink_issues | Remove a link |
list_development | Pro and Premium: the MRs/PRs matched to a card (repo, number, title, author, open / draft / merged / closed, CI result, link) and the latest commits that mention its key — read-only, Viewer and up; report what it returns. Connecting repositories and the auto-move rules are web only |
Comments & attachments
| Tool | What it does |
|---|---|
list_comments | Comments on an issue, with reply threads |
add_comment | Add a Markdown comment or reply to one — mention people with [@Name](mention:usr_…) — ids from list_people (only project members are emailed); you then watch the issue |
update_comment | Edit your own comment — requires version |
delete_comment | Delete a comment (leaves “This comment was deleted”, replies stay) — requires version |
request_upload | Get a presigned upload URL |
attach_file | Attach an uploaded file to an issue — show an image inline with (no base64; a path with a space goes in angle brackets:) |
list_attachments | An issue's attachments: name, size, date and uploader |
delete_attachment | Delete an attachment for good — only files this same token uploaded; links in the description and comments then show “file deleted” |
get_download_url | Presigned download URL for an attachment |
Sprints
| Tool | What it does |
|---|---|
list_sprints | Sprints of a project (several may be active) |
create_sprint* | Create a sprint |
update_sprint* | Rename a sprint or change its dates or goal |
move_to_sprint | Move issues into or out of a sprint |
start_sprint* | Start a sprint — people only: an agent token gets 403, so ask the user to press Start sprint in the app |
close_sprint* | Close a sprint and move unfinished work |
get_burndown | Sprint burndown (Scrum) |
Releases
| Tool | What it does |
|---|---|
list_releases | Releases of a project with their readiness (not ready · ready with risks · ready), worked out from the board by fixed rules |
get_release | One release: each feature's status with its reasons, the numbers and the gate result — agents report them as returned, never guess |
move_to_release | Put an issue (or an epic with its children) into a release or take it out, with a reason — creating, gating and shipping a release are for people in the app |
Automatic summaries
| Tool | What it does |
|---|---|
list_summaries | Premium: the automatic summaries BoardMark already sent your team (standup, sprint / release review, executive report), only for projects you can open — read-only |
get_summary | Premium: one summary (or the latest) as markdown, the same data the team received, worked out from board data — agents report it as returned, never guess; read-only |
Insights
| Tool | What it does |
|---|---|
get_project_insights | Premium: a project's numbers for a range (default the last 30 days) against the previous period — cycle time (measured n of m cards), lead time, throughput, WIP, stuck work, bugs and cost per release. Read-only; per-person rows only when the token's owner is a project admin. Report what it returns, do not guess |
get_company_insights | Premium: the numbers for every project of the company, with a project table and stuck work per person across projects. The token's owner must be a company admin (else 403). Read-only; the CSV export is in the web app |
Sales documents
| Tool | What it does |
|---|---|
list_sales_documents | A Sales & Billing deal's documents — quotations (QT), billing notes (BN) and receipts (RC), newest first, with latest, status and the Thai / English PDFs (attachment_id goes to get_download_url). stale = the deal changed since the quotation: offer a revision (revise_of). Every plan |
issue_sales_document | Issue a quotation, a billing note (marks the installment Invoiced) or a receipt (only for an installment that is Paid) as two-language PDFs — always ask the user first for the customer's name, address and tax ID, the lines and VAT; no tax invoices; 409 seller_incomplete = a company admin must complete the tax profile; a number, once issued, is permanent |
The md tree
| Tool | What it does |
|---|---|
read_file | Read an.md file |
write_file | Write an.md file through the same validator as the UI |
list_dir | List files in the md tree |
get_history | Commit history: who changed what, and through which agent token |
diff | Diff two versions |
Project docs
| Tool | What it does |
|---|---|
list_docs | The project's brief, working notes, handoffs and the company brief, with what to read first (read_first) |
get_docs_context | Everything to read before starting work, the template and its fields explained, as one Markdown text |
get_doc | Read a doc (or an older version) with its current version |
create_doc | Create a brief, working notes, or a handoff to teams or the whole project |
update_doc | Edit a doc, or close/reopen a handoff — requires version |
delete_doc | Delete a doc (restorable from its history) — requires version |
get_doc_history | Every saved version: who saved it, through which agent, and when |
restore_doc_version | Bring back an older version as a new one (history is kept) |
acknowledge_handoff | Acknowledge a handoff addressed to you; the writer is told |
Help from the BoardMark team
| Tool | What it does |
|---|---|
list_support_cases | Your company's support cases (every member sees them), newest activity first |
get_support_summary | How many cases wait for you and how many are open |
open_support_case | Open a case when the user needs help or hits a problem with BoardMark itself (not their project's issues) — text only |
get_support_case | Read a case with its whole thread, including the BoardMark team's replies |
reply_support_case | Reply in a case (text only; attachments on the web) |
close_support_case | Close a case when the problem is solved |
reopen_support_case | Reopen a closed case (within 30 days) |
follow_support_case | Follow a case to get emails when the team answers |
unfollow_support_case | Stop following a case |
MCP resources
board://{project_key}/project.mdboard://{project_key}/issues/{key}board://{project_key}/docsboard://{project_key}/docs/{kind}/{slug}project_context(prompt)
* requires project_admin
What can an agent never do?
MCP has no admin or billing tools at all. These stay in the web app, for the people whose role allows them:
usersteamsseatspermissionsbillingcreating projectsproject settings & environmentsstarting sprintsimporting from Jiradeleting projects or the companymoving projects to another companydeleting accountsproject webhookstwo-step sign-in & signed-in devicesprofile pictures
How do I connect an AI agent to BoardMark?
Add BoardMark as an MCP server in your AI client (Claude Code, Codex, Gemini CLI, Cursor, VS Code and more), then sign in through your browser and choose the company — no token to copy. For CI or machines without a browser, create a personal access token in the app and send it as the header Authorization: Bearer <token>. Setup for each client is on the MCP page (/mcp), or let the agent read the connect.md guide and set itself up.
Can I install BoardMark from a marketplace or in one click?
Yes. The MCP page (/mcp) has one-click install buttons for Cursor and VS Code and the command for Claude Code, Codex and Gemini CLI. BoardMark is also listed on the Official MCP Registry (as ai.boardmark/boardmark), Smithery, Glama, mcp.so and GitHub (i-c-develop/boardmark). Every route connects to the same MCP server; you then sign in to BoardMark in your browser and the agent gets exactly your rights.
Can AI agents follow our team's own workflow?
Yes. BoardMark has defaults for what each status means (for example In Review = QA is testing, Dev Done = waiting to be deployed for QA, Test Rejected = QA failed it) and for which part of the flow each role — developer, QA, BA — moves. If your team works differently, write company rules in the company brief and project rules in the project's brief (admins only — working notes and comments, which every member writes, reach agents as information, never instructions). Agents always read those docs before they start and follow the most specific rule: the user's instruction > the project's docs > the company brief > the defaults. Your team writes its rules once, and every agent — Claude, ChatGPT, Codex, Cursor or any MCP client — works within the same agreed frame, more accurately, instead of being told again in every chat. Details: /docs/boards.
Can an agent safely edit an issue someone else is editing?
Yes. Every write sends the version of the file it read. If someone changed it first, the server answers 409 version_conflict instead of overwriting, so agents should always call get_issue before update_issue.
How do I see what an agent changed?
Every change an agent makes over MCP is recorded in the issue or doc history: whose rights it used, which AI client (the name you approved when connecting with sign-in, or the name you gave a personal access token), OAuth or token, which MCP tool made the call (for example update_issue), and a request id tying together everything one call changed. Issue history shows it as “via Claude Code”; cards and attachments changed or uploaded by an agent carry a badge, and the Agent & MCP page lists your agents' recent commits. Company admins can filter the Audit log to what was done through an AI agent, and requests BoardMark refused (no permission, or a rule) appear as “An AI agent was refused”.
Is there a rate limit?
Yes — 600 requests per minute per token by default.
What is an agent account, and how is it different from a personal token?
An agent account (Premium) is an AI agent with its own name and one accountable owner. It has exactly the owner's rights, is not a seat, and can be assigned work and @mentioned. Create it in Company settings → Agents, then connect with a token shown once or choose “Connect as agent” during OAuth. Free and Pro keep personal tokens as they are.
Can I see what an agent did and why, and can I stop it?
Yes. The agent's Runs page lists every call with the reason the agent sent with each write. The owner or a company admin pauses one agent or all of them at once; the agent gets agent_paused and resumes with the same token when you press Resume.
Does an agent account have a quota or cost extra?
There is no daily quota — only a per-minute rate limit (600 calls a minute per token). Over it the agent gets rate_limited and waits. Admins see writes per day for information; it is never a reason to pay more.
What are automatic summaries, and does AI write them?
Automatic summaries (Premium) are reports BoardMark sends your team by itself: a daily standup, a sprint review when a sprint is closed, a release review when a release is shipped, and a weekly or monthly executive report, by email, LINE, Telegram and bell, always in Thai and English, in an Agent account's name. They are worked out from board data — no AI writes them and nothing goes to an outside AI. Recipients see only the projects they can open. Set them up in Project settings → Automatic summaries.
Can I stop an AI agent from doing QA's job?
BoardMark warns it; it does not block. Every column has a lane — the role that works in that status (In Review = QA, for example) — and an agent gets a role on its token or on the approve screen when it connects. If a Developer agent moves In Review → Done, or skips the QA step, the move still happens but the agent gets a warning to stop, tell the user and hand off with a comment. Issue history shows the agent's role and a ⚠ on moves outside its lane. People are never warned or blocked.