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

@sprintsync/mcp

v0.2.0

Published

Model Context Protocol server for Sprint Sync — lets Claude Code, Cursor and other AI tools read and file work directly into your board.

Readme

Sprint Sync MCP server

Connects Sprint Sync to Claude Code, Claude Desktop, Cursor and anything else that speaks the Model Context Protocol. Once it's connected you can ask the assistant to read your board and file work onto it, and it happens directly — no copying task lists out of a chat window.

Setup

1. Get a key. In Sprint Sync, go to Settings → API Keys → Create key. Give it read and write. Copy it — it's shown once.

2. Add it to your tool.

Claude Code:

claude mcp add sprint-sync \
  --env SPRINTSYNC_API_KEY=ss_live_your_key_here \
  -- npx -y @sprintsync/mcp

Claude Desktop or Cursor — add to the MCP config file:

{
  "mcpServers": {
    "sprint-sync": {
      "command": "npx",
      "args": ["-y", "@sprintsync/mcp"],
      "env": { "SPRINTSYNC_API_KEY": "ss_live_your_key_here" }
    }
  }
}

3. Restart the tool. Ask it "what Sprint Sync projects can you see?" to check.

Using it

Once connected, ask in plain language:

  • "Look at the auth module and file the tech debt you find as tasks in EMP"
  • "Break the checkout redesign into a sprint with a QA checklist"
  • "What's still open in the current sprint?"
  • "Move EMP-231 to Done"

For anything bigger than a single task the assistant should use import_plan, which creates the epic, sprints, tasks, subtasks and QA checks in one transaction. If any part is invalid, nothing is created — you never end up with half a sprint to clean up by hand.

Ask for a dry run first if you want to see the shape before it commits: "plan the sprint but show me what you'd create before you create it."

Tools

| Tool | What it does | |---|---| | list_projects | Projects this key can reach | | get_project_config | The exact status, priority and component names this project accepts | | list_tasks | Tasks in a project, newest first | | create_task | One task | | update_task | Change a task, usually to move its status | | import_plan | A whole breakdown in one transaction |

get_project_config matters more than it looks. Statuses and priorities are configured per organization, so an assistant that guesses "Urgent" when your org calls it "Critical" gets rejected. The tool description tells it to check first.

What a key can't do

A key acts as the person who created it and can never do more than they can. On top of that, some things are closed to every key at any permission level:

  • Creating, changing or deleting organizations and projects
  • Billing, ownership transfer, roles and membership
  • Creating other keys, or pointing webhooks somewhere new

Those stay in the app. A leaked key can make a mess of your tasks; it cannot take your account.

You can also limit a key to specific projects when you create it, which is worth doing for anything running unattended in CI.

Configuration

| Variable | Required | Default | |---|---|---| | SPRINTSYNC_API_KEY | yes | — | | SPRINTSYNC_API_URL | no | https://api.sprintsync.balajitech.xyz |

Set SPRINTSYNC_API_URL if you're self-hosting or pointing at a staging server.

Troubleshooting

"No API key" — the env var isn't reaching the process. In Claude Code check claude mcp list; in a JSON config check the env block is inside the server entry, not next to it.

"Invalid or revoked API key" — the key was revoked, expired, or belongs to a deactivated user. Create a new one.

"This API key lacks the 'write' scope" — it was created read-only. Keys can't be edited; create a new one with read and write.

"Project X not found" — the API can't create projects by design. Create it in Sprint Sync first, then retry.

Assistant can't see the server — restart the tool completely. Most clients only read MCP config at startup.

Requirements

Node 18 or newer. Sprint Sync on a Premium plan.