@cherrypeak-org/cherryboard-mcp
v0.1.0
Published
MCP server exposing CherryBoard issues and performance data to AI agents
Downloads
0
Readme
CherryBoard MCP Server
Gives an AI agent access to your CherryBoard issues, so it can read a real failure — stack trace, how often it happens, which side it came from — and go and fix it in the codebase.
npx @cherrypeak-org/cherryboard-mcpSetup
1. Create a personal access token
In the dashboard: Settings → Personal access tokens → New token.
Pick the access level:
- Read only — reads issues and performance, changes nothing.
- Read & write — the above, plus resolving, reopening and assigning issues.
This is not the key your applications use, and it is not tied to a project or an environment. A token belongs to you: it reaches every project you are a member of, and nothing else. One token covers all of them.
It never exceeds you, either. A write token only writes where you are an Editor, and no token can create or delete projects, environments, members or tokens, however senior its owner is.
Two consequences worth knowing. Being added to a project extends your agents' reach with it, and being removed revokes it — offboarding does not depend on remembering which tokens someone made. And revoking a token stops the agent without touching anyone's sign-in.
2. Point your agent at it
Claude Code — .mcp.json in the project, or claude mcp add:
{
"mcpServers": {
"cherryboard": {
"command": "npx",
"args": ["-y", "@cherrypeak-org/cherryboard-mcp"],
"env": {
"CHERRYBOARD_API_KEY": "cbp_xxxxxxxxxxxxxxxx",
"CHERRYBOARD_API_URL": "https://api.cherryboard.cherrypeak.eu"
}
}
}
}CHERRYBOARD_API_URL defaults to the hosted API, so it can be omitted unless
you run your own.
Tools
| Tool | What it answers |
|---|---|
| list_projects | What can I see, and what are the environment ids? |
| list_issues | What is broken, and how often? |
| get_issue | What exactly happened — stack trace, recent occurrences, context |
| get_environment_performance | What is slow, and is it the server or the network? |
| get_error_trend | Is this new, or has it always been like this? |
| set_issue_status | Resolve, reopen, or ignore an issue (write) |
| assign_issue | Give an issue to someone (write) |
| list_assignable_users | Who can this issue be assigned to? (write) |
The three marked (write) need a Read & write token. With a read-only token they are still listed, and refused with an explanation if called.
list_assignable_users only reads, but the API gates it at the same level as
assigning — knowing who is on a project is not something a read-only token is
given.
A useful opening prompt:
Look at the unresolved errors in our PROD environment, pick the one affecting the most users, and work out what is causing it.
What a token can and cannot do
Reading is the point: the agent's real job is changing code, not dashboard state. Triage is included because closing the issue you just fixed is part of fixing it.
Everything else is out of reach. A token stops at Editor, so it cannot create or delete projects, environments, members or other tokens — and cannot mint itself a stronger token. It cannot submit errors either; that is what your applications' API keys are for.
This is enforced by the server, not promised by this process. The token carries its own ceiling and is resolved against its owner's memberships on every request, so the same limits apply to anything else holding it.
If you want an agent that provably cannot alter anything, give it a read-only token: the write tools are then refused at the API, not merely unused.
What the agent sees
Responses are trimmed for a context window, not dumped whole. Stack traces are capped, occurrence lists are cut to the most recent few, and metadata is truncated — the raw payloads are far larger than the useful part, and burying a stack trace under a hundred occurrences helps nobody.
Where source maps have been uploaded, get_issue returns the de-minified stack
and sets stackTraceIsSymbolicated. Check it before trusting line numbers: a
minified trace will point at the wrong place with total confidence.
Requirements
Node 18 or later. No runtime dependencies beyond the MCP SDK.
