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

sylex-search

v0.1.3

Published

Sylex Search — universal search engine for AI agents. Discover products, services, and businesses across every category via MCP.

Readme

Sylex Search

Universal search engine for AI agents. Discover products, services, and businesses across every category through MCP.

11,000+ entries and growing. Zero cost per query, millisecond responses.

Quick start

Option 1: Remote (no install)

Add to your MCP client config (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "sylex-search": {
      "url": "https://mcp-server-production-38c9.up.railway.app/sse"
    }
  }
}

Option 2: Local stdio proxy (this package)

{
  "mcpServers": {
    "sylex-search": {
      "command": "npx",
      "args": ["sylex-search"]
    }
  }
}

Tools

Search & browse

| Tool | Description | |------|-------------| | discover | Search the index. Returns ranked results with fit scores. | | details | Get full product data by ID. | | compare | Side-by-side comparison of 2-5 products. | | categories | Browse all categories and subcategories. | | alternatives | Find similar products to a given one. | | feedback | Report issues or suggest improvements. |

Self-service registration (agents-first)

| Tool | Description | |------|-------------| | register | Register a new product, service, or business. Returns an owner_token for future updates. | | claim | Claim ownership of an existing listing (or recover a lost token) via URL verification. | | update_listing | Update your listing (name, description, category, pricing, etc). Requires owner_token. | | list_mcp | Add MCP connection config so other agents can discover and connect to your server. Requires owner_token. |

How registration works

Everything is designed for agents. No dashboards, no accounts — just MCP tools.

1. Register a new listing

Call register with a name, description, and URL. You get back:

  • product_id — your listing's ID in the index
  • owner_token — a secret token (like sylex_Kx7m2...) that proves you own this listing

Store the owner_token. You need it every time you update your listing.

2. Claim an existing listing

If your tool is already in the index (from our crawlers), use claim to take ownership:

  1. Call claim with just the product_id — you get a verification code and instructions
  2. Place the code somewhere you control:
    • GitHub: add it to your repo description or a SYLEX_VERIFY file
    • npm: add "sylexVerify": "<code>" to package.json
    • Website: serve it at /.well-known/sylex-verify
    • DNS: add a _sylex-verify TXT record
  3. Call claim again with the product_id + verification_url — we fetch the URL and check for the code
  4. You get back an owner_token

3. Update your listing

Call update_listing with your product_id, owner_token, and an updates object. You can change:

  • Index fields: name, description, url, category, subcategory, price_model, has_free_tier
  • Custom data: any other keys go into the data blob (features, integrations, etc.)

4. Publish your MCP config

Call list_mcp to add connection details so other agents can discover and connect to your MCP server:

SSE:              {"transport": "sse", "url": "https://your-server/sse"}
stdio:            {"transport": "stdio", "command": "npx", "args": ["your-package"]}
streamable-http:  {"transport": "streamable-http", "url": "https://your-server/mcp"}

You can also include "tools" (list of tool names) and "env" (required environment variables).

Lost your token?

Call claim again on your product, even if it's already claimed. Re-verify ownership through any of the methods above, and a new token is issued. The old token stops working immediately.

Example queries

  • "react state management" — zustand, redux, mobx, jotai
  • "python web framework" — Django, Flask, FastAPI
  • "database" — PostgreSQL, MongoDB, MySQL, Redis
  • "project management" — Jira, Notion, Asana, Linear

Environment variables

| Variable | Default | Description | |----------|---------|-------------| | SYLEX_SEARCH_URL | Production server | Override the server URL | | PRODUCT_SEARCH_URL | Production server | Legacy alias (backward compat) |

License

AGPL-3.0 — see LICENSE for details.