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

executor

v1.5.19

Published

Local AI executor with a CLI, local API server, and web UI.

Readme

executor

https://github.com/user-attachments/assets/11225f83-e848-42ba-99b2-a993bcc88dad

The integration layer for AI agents. One catalog for every tool, shared across every agent you use.

Ask DeepWiki

Quick start

npm install -g executor
executor install
executor web

This installs the local background service and opens the web UI. From there, add your first source and start using tools.

Use as an MCP server

Point any MCP-compatible agent (Cursor, Claude Code, OpenCode, etc.) at Executor to share your tool catalog, auth, and policies across all of them.


executor mcp

Example mcp.json for Claude Code / Cursor:

{
  "mcpServers": {
    "executor": {
      "command": "executor",
      "args": ["mcp"]
    }
  }
}

Use with Pi

Pi does not include a built-in MCP client. To use Executor from Pi, install the community bridge:

pi install git:github.com/gvkhosla/[email protected]

Reload Pi, then verify the bridge:

/reload
/executor-status

After that, ask Pi to search, inspect, and call tools through Executor.

Add a source

If you can represent it with a JSON schema, it can be an integration. Executor has first-party support for OpenAPI, GraphQL, MCP, and Google Discovery — but the plugin system is open to any source type.

Via the web UI

Run executor web, go to Add Source, paste a URL, and Executor will detect the type, index the tools, and handle auth.

Via the CLI

executor call executor openapi addSource '{
  "spec": "https://petstore3.swagger.io/api/v3/openapi.json",
  "namespace": "petstore",
  "baseUrl": "https://petstore3.swagger.io/api/v3"
}'

Use baseUrl when the OpenAPI document has relative servers entries (for example "/api/v3").

Use tools

Agents discover and call tools through a typed TypeScript runtime:

// discover by intent
const matches = await tools.discover({ query: "github issues", limit: 5 });

// inspect the schema
const detail = await tools.describe.tool({
  path: matches.bestPath,
  includeSchemas: true,
});

// call with type safety
const issues = await tools.github.issues.list({
  owner: "vercel",
  repo: "next.js",
});

Use tools via the CLI:

executor tools search "send email"
executor call --help
executor call github --help
executor call github issues --help
executor call cloudflare --help --match dns --limit 20
executor call github issues create '{"owner":"octocat","repo":"Hello-World","title":"Hi"}'
executor call gmail send '{"to":"[email protected]","subject":"Hi"}'

executor call, executor resume, and executor tools ... commands auto-start a local daemon if needed. If the default port is busy, the CLI will pick an available local port and track it automatically.

If an execution pauses for auth or approval, resume it:

executor resume --execution-id exec_123

CLI reference

executor install                    # install/start the durable background service
executor web                        # open the running web UI
executor web --foreground           # start a temporary foreground runtime + web UI
executor daemon run                 # start persistent local daemon in background
executor daemon status              # show daemon status
executor daemon stop                # stop daemon
executor daemon restart             # restart daemon
executor mcp                        # start MCP endpoint
executor call <path...> '{"k":"v"}' # invoke a tool by path segments
executor call <path...> --help      # browse namespaces/resources/methods
executor call <path...> --help --match "<text>" --limit <n> # narrow huge namespaces
executor resume --execution-id <id> # resume paused execution
executor tools search "<query>"     # search tools by intent
executor tools sources              # list configured sources + tool counts
executor tools describe <path>      # show tool TypeScript/JSON schema

Developing locally

bun install
bun dev

The dev server starts at http://127.0.0.1:4788.

Tests

bun run test       # unit + integration suites
bun run test:e2e   # full-stack e2e: boots the cloud and self-host apps and drives them

The browser e2e scenarios need Playwright's Chromium once per machine: bunx playwright install chromium.

Community

Join the Discord: https://discord.gg/eF29HBHwM6

Learn more

Visit executor.sh to learn more.

Attribution

  • Thank you to Crystian for providing the npm package name executor.

References

As part of my coding process, I give my agent access to references to other codebases to understand patterns and how other people have implemented systems.

A non exhaustive list of references are:

It's encouraged also that you can use this codebase as a reference to understand how it's implemented