# lennney/agent-search-mcp [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/lennney/agent-search-mcp  
**GitHub Stars:** 112  
**npm Downloads (last month):** 688  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/lennney-agent-search-mcp

## Description
Free multi-engine MCP search server — 8 free engines (DDG, Sogou, Bing, Baidu, Wikipedia, Startpage, Yandex, Mojeek), waterfall progressive search, multi-source verification, content enrichment, news search, language auto-detection, CLI. Zero API keys needed. npx agent-search-mcp

## Tools
Capabilities this server exposes over MCP:

- **free_search** — Quick public-web search for current facts and discovery.

Use free_search_advanced for verification or domain filters. Use free_extract for one selected URL.

Returns compact multi-source evidence with confidence, relevance, source_count, stop_reason, evidence_budget, and partialFailures. Provider families are counted once even when several adapters use the same upstream. Optional API providers run only when credentials and policy allow.

@readOnly true @idempotent true — makes outbound HTTP requests to configured search engines. Injection detection and SSRF protection active.
- **free_search_advanced** — Verification-oriented search with domain filters and waterfall fallback.

Use for claim checking, Chinese-source search, or publisher restrictions. Start with free_search for quick discovery. The response exposes source_count, stop_reason, evidence_budget, and partialFailures.

@readOnly true @idempotent true — runs waterfall progressive search across policy-allowed engines. Makes outbound HTTP requests to search engines and optionally to Jina Reader for content enrichment.
- **free_extract** — Extract one selected URL into clean Markdown.

Use after search when snippets are insufficient, or for a URL supplied by the user. It fetches one page; it does not search or bulk-extract URLs.

Behavior: Makes an outbound HTTP request to Jina Reader (r.jina.ai) which fetches and converts the page to markdown. Has SSRF protection: blocks private IPs, localhost, and metadata endpoints. 10s request timeout — pages exceeding this will fail with a timeout error. HTTP errors (4xx, 5xx) are returned as structured error responses.
- **fetch_github_readme** — Fetch README content from a GitHub repository.

Best for: Getting project documentation quickly.
Not recommended for: Non-GitHub URLs — use free_extract instead.

@readOnly true @idempotent true — makes outbound HTTP requests to raw.githubusercontent.com.
- **fetch_csdn_article** — Fetch content from a CSDN blog article.

Best for: Chinese developer blog content on CSDN.
Not recommended for: Other Chinese sites — use free_extract instead.

@readOnly true @idempotent true — makes outbound HTTP requests to the CSDN article URL.
- **fetch_juejin_article** — Fetch content from a Juejin article.

Best for: Chinese developer articles on Juejin.
Not recommended for: Non-Juejin content — use free_extract instead.

@readOnly true @idempotent true — makes outbound HTTP requests to juejin.cn API.
- **search_with_synthesis** — Opt-in deep search with waterfall verification and content enrichment. Returns structured results plus a prompt_hint; it does not call an external LLM.

Use when multi-source evidence needs a synthesis handoff. free_search is the default for discovery; this path uses more tokens and network time.

@readOnly true @idempotent true — runs waterfall search across free+paid engines with content enrichment.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "agent-search-mcp": {
    "command": "npx",
    "args": ["-y","agent-search-mcp"]
  }
}
```

## Documentation

## What lennney/agent-search-mcp MCP server does

The lennney/agent-search-mcp MCP server exposes web research capabilities for English and Chinese queries. Its tools cover several levels of work:

- `free_search` performs general search with a chosen adapter set and bounded fallback.
- `free_search_advanced` adds domain filters and quality controls, including high-confidence and Chinese-content use cases.
- `free_extract` retrieves a page through Jina Reader and returns cleaned Markdown.
- `fetch_github_readme` reads a repository README from GitHub.
- `fetch_csdn_article` and `fetch_juejin_article` retrieve content from named Chinese developer-content platforms.
- `search_with_synthesis` performs deeper, multi-engine verification and returns structured evidence plus a `prompt_hint`; it does not call an external language model.

The project also provides a command-line interface. The default runtime is free to use without a search API account, browser, database, or Python installation. Optional commercial providers may be enabled with their own credentials, but they are not needed for the zero-key search path.

## How it works

The lennney/agent-search-mcp MCP server uses a waterfall search strategy. It tries policy-allowed adapters progressively rather than treating every adapter as an independent source. Adapters connected to the same upstream provider family are attempted sequentially and do not inflate corroboration counts.

Search results are deduplicated and ranked with separate relevance, confidence, and provider-family source counts. The router can stop after result, relevance, confidence, and source-coverage gates pass. Request budgets limit adapter attempts, elapsed time, and admitted results, while an evidence budget limits the amount of query-relevant material returned. Compact output preserves provenance while reducing detail in later results.

Provider problems remain visible in `partialFailures`, including conditions such as timeouts, challenges, rate limits, permission failures, and budget limits. Search responses also expose execution information such as searched engines, the stop reason, quality-gate status, and budget state. Outbound requests include injection detection and SSRF protections where applicable.

`free_extract` sends the target URL to Jina Reader at `r.jina.ai`, which fetches and converts the page. Private addresses, localhost, and metadata endpoints are blocked, and the request timeout is 10 seconds. GitHub, CSDN, and Juejin tools make requests to their respective remote content endpoints.

## Setup and configuration

Install the lennney/agent-search-mcp MCP server with Node.js 18.17 or newer:

```bash
npx -y agent-search-mcp
```

MCP clients that accept `mcpServers` JSON can launch it over stdio:

```json
{
  "mcpServers": {
    "agent-search": {
      "command": "npx",
      "args": ["-y", "agent-search-mcp"]
    }
  }
}
```

The documented client examples include Claude Desktop, Cursor, and Windsurf. The same stdio command can also be registered in Claude Code and Codex. No credential is required for the default free-first configuration.

## Tools and capabilities

Use `free_search` for quick discovery when domain and date filters are unnecessary. Use `free_search_advanced` when filtering or stricter evidence quality matters. Use `search_with_synthesis` for complex questions that need multi-source checking before an agent writes its own answer.

Use `free_extract` after finding a relevant URL and needing the page’s full context. It is not intended as a bulk-extraction workflow. The specialized fetchers are more direct choices for GitHub READMEs, CSDN articles, and Juejin articles.

The project supports free search adapters including DuckDuckGo, Sogou, Bing, Baidu, Wikipedia, Startpage, Yandex, Mojeek, and Wiby. Chinese queries can use Chinese-oriented sources without requiring a translation layer.

## Limitations and notes

Simple searches should use `free_search`; advanced filtering and verified-only requirements belong with `free_search_advanced`. Search availability and quality depend on the upstream engines, and failures are reported rather than hidden. `free_extract` can fail when a page exceeds the 10-second timeout or returns an HTTP error. It also depends on Jina Reader fetching the target page successfully.

The project’s evidence and token measurements are based on checked-in fixtures and do not establish live engine availability or search quality. Installing the optional Agent Skill does not start or configure the MCP server; it provides routing guidance for compatible Agent Skills clients instead.

_Full upstream README: https://allmcps.com/mcp/lennney-agent-search-mcp/readme_

