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

warp-drive-mcp

v1.0.0

Published

MCP server for WarpDrive — gives AI assistants accurate WarpDrive docs so they stop hallucinating APIs

Readme

warp-drive-mcp

MCP server that exposes WarpDrive and EmberData docs as tools. Use it from Cursor, Claude Desktop, or any MCP client so the assistant can look up real docs instead of guessing.

Docs are pulled from canary.warp-drive.io and cached for 30 minutes. All tools are read-only (no side effects).

Requirements: Node.js 18 or later.


Installation

Add the server to your MCP config. No global install if you use npx.

Using npx (recommended):

{
  "mcpServers": {
    "warp-drive": {
      "command": "npx",
      "args": ["-y", "warp-drive-mcp"]
    }
  }
}

Using a local build: use the full path to node and to dist/index.js so the client can find them (e.g. if you use Volta/nvm and launch the app from the Dock):

{
  "mcpServers": {
    "warp-drive": {
      "command": "/path/to/node",
      "args": ["/path/to/warp-drive-mcp/dist/index.js"]
    }
  }
}

Config file locations:

| Client | Config path | |---------------|-------------| | Cursor | ~/.cursor/mcp.json (Mac/Linux), %APPDATA%\Cursor\mcp.json (Windows) | | Claude Desktop| ~/Library/Application Support/Claude/claude_desktop_config.json (Mac), %APPDATA%\Claude\claude_desktop_config.json (Windows) |

Restart the client after changing config. A green dot next to the server name means it’s running.

Troubleshooting

  • spawn node ENOENT — The client can’t find node in its PATH (common when the app was launched from the Dock/Spotlight). Use the full path to node in command, e.g. /Users/you/.volta/bin/node or $(which node) from a terminal, and put that path in your config.
  • Red dot / server not starting — Check the client’s MCP or developer logs for the exact error. Confirm the config key is mcpServers (Cursor, Claude Desktop) and the path to dist/index.js is absolute when using a local build.
  • Wrong or old docs — Docs are cached for 30 minutes. Restart the server (or the client) to force a fresh fetch.

Tools

The server exposes 5 tools. The client (Cursor, Claude, etc.) decides when to call them based on your questions.

search_warp_drive_docs

Search the docs by keyword. Use this for API names, concepts, or “how do I use X” questions.

| Parameter | Type | Default | Description | |-------------|--------|---------|-------------| | query | string | — | What to search for (e.g. RequestManager, Store.request, JSONAPICache setup, React hooks) | | maxResults| number | 5 | How many doc sections to return (1–10) |

When to use: Before writing WarpDrive code, or when the user asks about a specific API or concept.


get_warp_drive_package

Get the full doc content for one package (e.g. @warp-drive/core, @warp-drive/react).

| Parameter | Type | Description | |--------------|--------|-------------| | packageName| string | Package name, e.g. @warp-drive/core, @warp-drive/json-api, @ember-data/store |

When to use: When you need the full picture for a single package, not just a search snippet.


get_warp_drive_overview

Returns the high-level overview of all WarpDrive packages (what each one is for).

No parameters.

When to use: “What is WarpDrive?”, “Which package do I use for X?”, or when starting a new project and you’re not sure of the package layout.


get_warp_drive_guide

Search guides and cookbook-style docs (tutorials, “how to” content).

| Parameter | Type | Description | |----------|--------|-------------| | topic | string | Topic to look up (e.g. auth handler, request builder, caching, React setup, migration from adapters) |

When to use: “How do I set up…”, “How do I write a…”, or step-by-step / migration questions.


check_warp_drive_deprecations

Check whether an API or package is deprecated and what to use instead.

| Parameter | Type | Description | |----------|--------|-------------| | apiName| string | API, package, or class name (e.g. StableRecordIdentifier, @ember-data/request, findAll builder) |

When to use: User sees deprecation warnings, or you’re touching legacy @ember-data/* code and want the modern replacement.


Cursor: hint the assistant to use the tools

In a project that uses WarpDrive, you can add a Cursor rule so the assistant tends to call these tools when relevant. Create .cursor/rules (or use your existing rules file) and add something like:

When working with WarpDrive (@warp-drive/* or @ember-data/*):
- Call search_warp_drive_docs before writing WarpDrive code.
- Use get_warp_drive_guide for “how to” and setup questions.
- Use check_warp_drive_deprecations for legacy @ember-data/* APIs.
- Don’t guess APIs; look them up first.

Development

git clone https://github.com/MehulKChaudhari/warp-drive-mcp
cd warp-drive-mcp
npm install   # or pnpm install
npm run build # if you used pnpm: pnpm run build
  • Run built server: node dist/index.js or pnpm start
  • Dev mode (watch): npm run dev or pnpm dev

To point your MCP config at this repo, set command to your node binary and args to the absolute path of warp-drive-mcp/dist/index.js.


How it works

The server is a stdio MCP process. The client starts it and talks over stdin/stdout with JSON-RPC. When the assistant needs docs, it calls one of the tools; the server fetches https://canary.warp-drive.io/llms-full.txt (or uses the in-memory cache if still fresh), then searches or filters that content and returns the relevant bits. All of that lives in src/index.ts.


Links


Contributing

Bug reports and PRs are welcome. Open issues and PRs in the project repository (see package.json for the URL).


License

MIT