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

@scope-pm/mcp

v0.1.6

Published

ScopePM MCP proxy for routing MCP tool calls to the hosted API.

Downloads

764

Readme

@scope-pm/mcp

A lightweight MCP (Model Context Protocol) proxy that connects AI coding assistants to the ScopePM REST API. Install it once and every MCP-compatible tool (Claude Code, Cursor, Windsurf, etc.) gets full access to your project scope.

Quick Start

Claude Code

Add to your .mcp.json (project root or ~/.claude/.mcp.json):

{
  "mcpServers": {
    "scope": {
      "command": "npx",
      "args": ["@scope-pm/[email protected]", "--api-key", "sk_your_key"]
    }
  }
}

Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "scope": {
      "command": "npx",
      "args": ["@scope-pm/[email protected]", "--api-key", "sk_your_key"]
    }
  }
}

Windsurf / Other MCP Clients

Same pattern -- point the MCP client at:

npx @scope-pm/[email protected] --api-key sk_your_key

Connectivity Check

Before wiring the MCP server into your editor, you can verify the API URL + API key:

npx @scope-pm/[email protected] connect --api-key sk_your_key

Configuration

| Option | Env Variable | Default | Description | |---|---|---|---| | --transport | - | http | Transport mode. Only http is supported in the hosted proxy path. | | --api-key | SCOPE_API_KEY | (required) | Your ScopePM API key | | --api-url | SCOPE_API_URL | https://api.aicodingguy.com | Base URL of the API | | connect | - | - | Verify that the API URL + API key can reach your ScopePM instance | | --help | | | Show help message | | --version | | | Show version number |

Environment variables are used as fallback when CLI flags are not provided.

Available Tools

The proxy registers all ScopePM MCP tools:

Write Tools

  • scope_add_epic -- Create a new epic
  • scope_update_epic -- Update an epic
  • scope_add_story -- Create a user story
  • scope_update_story -- Update a story
  • scope_add_subtask -- Add a subtask
  • scope_update_subtask -- Update a subtask
  • scope_add_decision -- Create an ADR
  • scope_add_comment -- Add a comment
  • scope_add_dependency / scope_remove_dependency -- Manage dependencies
  • scope_add_parking_lot_item / scope_update_parking_lot_item -- Parking lot management
  • scope_promote_parking_lot_item -- Promote to story
  • scope_add_review / scope_resolve_review / scope_request_review -- Reviews
  • scope_bulk_add_stories -- Bulk story creation
  • scope_batch -- Batch operations
  • scope_quick_fix -- Quick fix documentation

Read Tools

  • scope_status -- Scope overview
  • scope_query -- Query stories with filters
  • scope_validate -- Run validation rules
  • scope_sort -- Topological sort
  • scope_export_json / scope_export_csv / scope_export_markdown -- Export
  • scope_graph -- Dependency graph (Mermaid)
  • scope_get_reviews -- Get review annotations
  • scope_list_parking_lot -- List parking lot items

Workflow Tools

  • scope_what_next -- Next actionable story suggestion
  • scope_session_summary -- Session context recovery
  • scope_plan_sprints -- Sprint planning
  • scope_plan_execution -- Execution plan for a story
  • scope_events -- Event log query
  • scope_detect_conflicts -- Agent conflict detection
  • scope_diff -- Snapshot diff

How It Works

AI Assistant <--MCP/stdio--> @scope-pm/mcp <--HTTPS--> api.aicodingguy.com
  1. The AI assistant sends MCP tool calls over stdio
  2. @scope-pm/mcp translates them to REST API calls
  3. API responses are formatted back as MCP content
  4. Rate limiting (429) is handled with exponential backoff (max 3 retries)

This package is intentionally a stdio MCP proxy with an HTTP backend. Self-hosted direct DB access stays in packages/api/bin/scope-mcp.ts --local; hosted users should use the proxy path above.

Error Handling

  • 401 Unauthorized -- Check your API key
  • 429 Rate Limited -- Automatic retry with exponential backoff
  • 500 Server Error -- Error details returned to the AI assistant
  • Network Errors -- Graceful error messages with retry for transient failures

Development

# Run tests
npm test

# Run HTTP proxy overhead benchmark
node --import tsx scripts/benchmark-http-proxy.ts

# Build
npm run build

# Type check
npm run typecheck

License

BUSL-1.1