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 🙏

© 2025 – Pkg Stats / Ryan Hefner

one-search-mcp

v1.0.11

Published

One Search MCP Server, Web Search & Crawl & Scraper & Extract, support Firecrawl, SearXNG, Tavily, DuckDuckGo, Bing, etc.

Readme

🚀 OneSearch MCP Server: Web Search & Crawl & Scraper & Extract

A Model Context Protocol (MCP) server implementation that integrates with Searxng/Tavily/DuckDuckGo/Bing for web search, local browser search, and scraping capabilities with Firecrawl.

Features

  • Web Search, scrape, crawl and extract content from websites.
  • Support multiple search engines and web scrapers: SearXNG, Firecrawl, Tavily, DuckDuckGo, Bing, etc.
  • Local web search (browser search), support multiple search engines: Bing, Google, Baidu, Sogou, etc.
    • Use puppeteer-core to scrape content from websites.
    • You should have a local browser installed, such as Chromium, Google Chrome, Google Chrome Canary, etc.
    • Free, no keys required.
  • Enabled tools: one_search, one_scrape, one_map
  • Support for self-hosted: SearXNG, Firecrawl, etc. (see Deploy)

Installation

Installing via Smithery

To install OneSearch for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @yokingma/one-search --client claude

Manual Installation

# Manually install (Optional)
npm install -g one-search-mcp
# using npx
env SEARCH_API_URL=http://127.0.0.1:8080 FIRECRAWL_API_URL=http://127.0.0.1:3002 npx -y one-search-mcp

Environment Variables

Search Engine:

  • SEARCH_PROVIDER (Optional): The search provider to use, supports searxng, duckduckgo, bing, tavily, local, default is local.
  • SEARCH_API_URL (Optional): The URL of the SearxNG API, required for searxng.
  • SEARCH_API_KEY (Optional): The API key for the search provider, required for tavily, bing.
// supported search providers
export type SearchProvider = 'searxng' | 'duckduckgo' | 'bing' | 'tavily' | 'local';

Firecrawl:

  • FIRECRAWL_API_URL (Optional): The URL of the Firecrawl API, required for firecrawl.
  • FIRECRAWL_API_KEY (Optional): The API key for the Firecrawl API, required for firecrawl if using cloud service.

Running on Cursor

Your mcp.json file will look like this:

{
  "mcpServers": {
    "one-search-mcp": {
      "command": "npx",
      "args": ["-y", "one-search-mcp"],
      "env": {
        "SEARCH_PROVIDER": "searxng",
        "SEARCH_API_URL": "http://127.0.0.1:8080",
        "SEARCH_API_KEY": "YOUR_API_KEY",
        "FIRECRAWL_API_URL": "http://127.0.0.1:3002",
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Running on Windsurf

Add this to your ./codeium/windsurf/model_config.json file:

{
  "mcpServers": {
    "one-search-mcp": {
      "command": "npx",
      "args": ["-y", "one-search-mcp"],
      "env": {
        "SEARCH_PROVIDER": "searxng",
        "SEARCH_API_URL": "http://127.0.0.1:8080",
        "SEARCH_API_KEY": "YOUR_API_KEY",
        "FIRECRAWL_API_URL": "http://127.0.0.1:3002",
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Self-host

Local deployment of SearXNG and Firecrawl, please refer to Deploy

Troubleshooting

  • [ReferenceError]: __name is not defined: This is because Puppeteer has problems with tsx, esbuild#1031

License

MIT License - see LICENSE file for details.