npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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-mcp

Setup

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.