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

rn-devtools-mcp

v0.1.0

Published

`rn-devtools-mcp` lets your coding agent control and inspect a live React Native Hermes runtime through the Metro inspector proxy (`/json/list`) and CDP WebSocket targets.

Readme

rn-devtools-mcp

rn-devtools-mcp lets your coding agent control and inspect a live React Native Hermes runtime through the Metro inspector proxy (/json/list) and CDP WebSocket targets.

It runs as an MCP server (stdio) and exposes React Native debugging primitives as MCP tools for reliable automation, runtime debugging, and evidence collection.

Tool Reference | Changelog | Contributing | Troubleshooting | Design Principles

Key features

  • Metro target discovery: discovers debuggable RN targets via /json/list and /json/version.
  • Hermes runtime debugging: evaluate scripts, pause/resume/step, and manage breakpoints.
  • CDP coverage via aliases: use dedicated tool aliases or the generic rn_cdp_call.
  • Evidence buffers: capture recent console, network, debugger, and exception events for analysis.
  • Reconnect-aware sessions: reconnect logic for app reload/disconnect cycles.

Disclaimers

rn-devtools-mcp can inspect and execute code in the connected React Native runtime. Treat connected app data as sensitive.

  • Do not connect this server to apps/environments containing secrets you do not want MCP clients to access.
  • This server does not sandbox CDP commands; callers with MCP access can issue powerful runtime/debugger commands.

Requirements

  • Node.js 20+
  • npm
  • React Native app running in development mode
  • Metro dev server reachable from the MCP server process

Getting started

Install dependencies:

npm install

Run MCP server (stdio):

npm run dev

Default MCP client configuration:

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

During development, use tsx entry directly:

{
  "mcpServers": {
    "rn-devtools": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/rn-devtools-mcp/src/index.ts"]
    }
  }
}

Client setup examples

Codex

codex mcp add rn-devtools -- npx tsx /absolute/path/to/rn-devtools-mcp/src/index.ts

Claude Code

claude mcp add rn-devtools --scope user npx tsx /absolute/path/to/rn-devtools-mcp/src/index.ts

Cursor

Configure MCP server command in Cursor Settings -> MCP using one of the JSON snippets above.

Verification

npm test
npm run build

Smoke test against a running RN app:

METRO_URL=http://localhost:8081 npm run smoke

If METRO_URL is omitted, the server probes local candidates:

  • 8081,8082,8083,8088,8090,19000

Override candidate ports:

METRO_PORT_CANDIDATES=18081,18082 npm run smoke

Tools

If you run into issues, check Troubleshooting.

The catalog below is auto-generated from src/server/tools.ts.

See full inputs, behavior, and errors in Tool Reference.

Configuration

Environment variables:

  • METRO_URL: explicit Metro base URL (example: http://localhost:8081)
  • METRO_PORT_CANDIDATES: comma-separated fallback probe ports when METRO_URL is not set

Concepts

Target discovery

The server discovers targets from Metro inspector endpoints and selects Hermes targets by default when possible.

Session model

Each connection is represented by sessionKey. Tools that issue CDP commands require a connected session.

Event buffers

The server caches recent events in ring buffers. You can query recent console/network/exception events at any time during a live session.

Known limitations

  • Native debugger workflows (LLDB/Android Studio breakpoints) are out of scope.
  • CDP support is capability-dependent by RN/Hermes target and version.
  • Some CDP commands may fail with RN_CDP_METHOD_UNSUPPORTED, RN_CDP_METHOD_NOT_FOUND, or other command errors.

License

MIT - see LICENSE.