One Search MCP server

Provides a unified search and web scraping platform that integrates multiple search providers like SearxNG and Tavily, along with Firecrawl for advanced web content extraction, enabling flexible web data retrieval and structured information gathering.
Back to servers
Provider
zac ma
Release date
Mar 18, 2025
Language
TypeScript
Package
Stats
671 downloads
18 stars

OneSearch MCP Server is a powerful tool that integrates with various search engines and web scrapers to provide web search, scraping, crawling, and content extraction capabilities. It supports multiple search providers like SearxNG, Tavily, DuckDuckGo, Bing, and includes local browser search functionality.

Installation Options

Via Smithery

The easiest way to install OneSearch for Claude Desktop is through Smithery:

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

Manual Installation

You can install the package globally:

npm install -g one-search-mcp

Or run it directly 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

Configuration

Environment Variables

Search Engine Configuration

  • SEARCH_PROVIDER: Optional. Specifies which search provider to use (searxng, duckduckgo, bing, tavily, or local). Default is local.
  • SEARCH_API_URL: Optional. The URL of the SearxNG API, required when using searxng.
  • SEARCH_API_KEY: Optional. The API key for the search provider, required for tavily and bing.

Firecrawl Configuration

  • FIRECRAWL_API_URL: Optional. The URL of the Firecrawl API, required for using Firecrawl functionality.
  • FIRECRAWL_API_KEY: Optional. The API key for Firecrawl, required when using cloud service.

Integration with AI Platforms

Running on Cursor

Create an mcp.json file with the following configuration:

{
  "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 configuration 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"
      }
    }
  }
}

Features Overview

  • Web Search: Query multiple search engines including SearxNG, Tavily, DuckDuckGo, and Bing
  • Local Web Search: Use your local browser to search with Google, Bing, Baidu, Sogou and others
    • Requires a local browser installation (Chromium, Google Chrome, etc.)
    • Uses puppeteer-core to scrape content
    • No API keys needed
  • Web Scraping: Extract content from websites using Firecrawl
  • Enabled Tools: one_search, one_scrape, one_map

Troubleshooting

If you encounter ReferenceError: __name is not defined, this is due to Puppeteer compatibility issues with tsx. This is a known issue related to esbuild.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later