Agent Search mcp

by lennney

290 downloads
Not rated
GitHub

Description

About 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, rate limit exposure. Zero API keys…

About

About 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, rate limit exposure. Zero API keys needed. Self-hostable.

Details

Author
lennney
Downloads
290
Categories
Search, Other, Knowledge Base

- AI agent developers (Hermes, OpenClaw, custom agents)
- IDE users who want AI-powered search (Claude Code, Cursor, Windsurf)
- Anyone building MCP-compatible tools
- Users who need Chinese web search (Sogou integration)
- 默认免费 — DuckDuckGo + Sogou + Bing + Baidu 为核心引擎,无需 API Key,开箱即用。Brave + Tavily 作为可选付费 fallback。

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Agent Search mcp
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The README includes setup instructions such as # Option 1: npx (recommended).

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 / Cursor

Paste into your MCP client config file to install this server.

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

McpServers

{
    "agent-search-mcp": {
        "command": "npx",
        "args": [
            "agent-search-mcp"
        ]
    }
}

Agent Search MCP: Free-first Web Search with Inspectable Evidence

A Node.js MCP server and CLI for English and Chinese web search.

Agent Search MCP starts without an API key. It returns compact multi-source evidence, records provider failures, and bounds work with request and evidence budgets. Paid providers run only when policy and credentials allow.

中文文档·Product page·Benchmarks·Architecture·CHANGELOG

Requires Node.js >= 18.17. The default runtime does not require a browser, database, Python, or a search API account.

Use this stdio configuration in MCP clients that acceptmcpServersJSON, including Claude Desktop, Cursor, VS Code, and Windsurf:

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

Claude Code and Codex can register the samenpx -y agent-search-mcpstdio command through their MCP settings.

After connecting the MCP server, Agent Skills-compatible clients can install the repository-owned routing guide:

npx skills add lennney/agent-search-mcp --skill agent-search

Invoke it with a request such asUse $agent-search to verify this claim with official sources.TheAgent Search Skillchooses one of four bounded paths: quick discovery, stricter verification, Chinese-source search, or extraction of a selected URL. It checks that the needed MCP tool exists and asks before any install or configuration change. Installing the Skill does not start or configure the MCP server.

Example: inspect a bounded search result

After building the local package, run a CLI query without adding a provider key:

npm run build fasm search "MCP server without an API key" --json

The response contract keeps result evidence,meta.execution, andpartialFailuresseparate. A provider timeout or challenge remains visible to the agent instead of being converted into an unexplained empty result. This is a contract example, not a live availability or search-quality benchmark.

After a global install, check the local runtime without making a search request:

npm install -g agent-search-mcp fasm doctor

The difference from a plain multi-engine wrapper

The one-minute offline demo replays these differences through the production evidence scorer and formatter:

Each JSON response includes one Search Evidence Packet. It answers the routing questions an agent needs before it uses a result:

Run the one-minute offline contract demo:

npm run demo:evidence npm run demo:evidence -- --json

It replays three synthetic scenarios through the production evidence scorer, formatter, and MCP output helper: same-family adapter overlap, visible fallback failure, and a bounded quality-gate stop. It makes no live availability or search-quality claim and performs no network request.

The defaultfree_firstpolicy never spends a configured API credential.free_onlyblocks paid providers.quality_escalationcan call one configured paid provider after free evidence misses the quality gate, whilepaid_firsttries that provider before the free fallback.

Request budgets cap adapter attempts, elapsed time, and admitted results. The evidence budget caps query-relevant passages across the complete response. Compact mode keeps full detail for the first results and reduces later entries to source-preserving references.

The checked-in bilingual fixture measures formatting with a locked tokenizer:

This fixture verifies output formatting and evidence-packet behavior. It does not measure live engine availability or search quality. See thebenchmark method and limitations.

flowchart LR A["AI agent"] --> M["MCP search tools"] M --> P["Provider and request policy"] P --> F["Zero-key sources"] P --> O["Optional paid provider"] F --> E["Deduplicate, rank, and preserve failures"] O --> E E --> B["Evidence and token budget"] B --> R["Compact multi-source result"]

The router evaluates each search batch against separate result, relevance, confidence, and provider-family gates. It stops after the evidence passes those gates and exposes the decision inmeta.execution. Provider failures stay visible inpartialFailures, so an empty result cannot hide an upstream error.

Thecompetitive landscape (2026-08-07)maps the crowded baseline and the product gaps. It records source dates and fixed commits for facts that can change. The2026-08-10 updateadds competitor activity since then: direct local competitors are dormant, and token-efficient evidence is becoming an industry-explicit lever. The earliersource-level product comparisoncontains the architecture-specific evidence.

The runtime registers 16 adapters: 9 zero-key adapters and 7 optional API adapters.

search_with_synthesisuses the same canonicalstructuredContentevidence packet as the primary search tools and addsprompt_hint; its text content is only a compact compatibility view. Execution metadata distinguishes scheduled adapters from retry-inclusive adapter attempts.http_requestsisnulluntil all adapter transports can report it without false precision.

Wiby is a genuine zero-key source backed by its official JSON API and is used late in the free waterfall as an independent small-Web supplement. Optional providers require user credentials; any signup credit or trial quota is provider-controlled and is not treated as permanent free access.

All tools are read-only and idempotent. Search cancellation reaches rate-limit waits, retries, provider requests, and optional enrichment. Enrichment can improve a snippet but cannot increase source confidence or independent source count.

free_search_advanced.time_rangeremains in the compatibility schema. The server returnsUNSUPPORTED_FILTERbefore searching because the general web providers do not share one enforceable recency contract.

The generated capability table above lists the default request budgets. These settings cover the common deployment choices:

Adding an API key does not authorize paid traffic. The routing policy controls provider use. The default exact-result cache stays in memory; settingSEARCH_CACHE_DIRECTORYopts into local persistence. Semantic processing is the only optional feature that uses Python and Model2Vec.

Proxy pools select a deterministic first exit from the logical query and keep multi-step provider requests sticky. Only a transport failure can move to the next configured exit; a failed transport is cooled for 60 seconds. HTTP responses, including 403, 429, and challenge pages, never trigger proxy switching and continue through the provider's existing cooldown contract. Engine-specific single-proxy variables take precedence over their pool. Proxy credentials are never printed byfasm doctor.

HTTP mode requiresHTTP_AUTH_TOKENunless you setHTTP_ALLOW_UNAUTHENTICATED=true. Browser requests with anOriginheader must matchALLOWED_ORIGINS. See theHTTP deployment guidefor TLS termination, token rotation, and reverse-proxy examples.

fasm search "TypeScript MCP server" fasm search "query" --count 5 --engines bing,baidu,youcom --json fasm extract "https://example.com" fasm extract "https://example.com" --json fasm doctor fasm doctor --json HTTP_AUTH_TOKEN=change-me MODE=http npx agent-search-mcp

fasm doctorreads local configuration without network probes and never prints credential or proxy values.

Agent Search controls retrieval work and compresses search evidence.mcp-slim-guardsits between an agent and MCP servers to handle tool-schema compression and security policy.

git clone https://github.com/lennney/agent-search-mcp.git cd agent-search-mcp npm install npm run build npm test npm run dev # stdio mode npm run dev:http # HTTP mode (port 3000)

The stable package supports Node.js 18, 20, and 22. The isolated MCP 2026 experiment requires Node.js 20 or newer.

If Agent Search MCP helps your agent,star the repositoryso other developers can find the project.

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

Objective-driven deep research paid per request via MPP - free daily quick search (news/arXiv), quote-first paid cloud-browser research with cross-source reports. MCP Streamable HTTP, no API key.

Official MCP server for the Perigon API, providing access to real-time news and media data.

Read-only MCP server for neutral, bias-scored news — search articles, get verification-gated event writeups, and compare left/center/right media-bias framing.

Real-time ranked tech feed from Hacker News, arXiv, Dev.to, and more. Query live stories by category, search by keyword, and surface what the tech community is reading right now.

Fetch and interact with Hacker News content, including top stories, comments, and search functionality.

Fetch, convert, and search AWS documentation pages, with recommendations for related content.

Search campgrounds around the world on campertunity, check availability, and provide booking links.

The Ferryhopper MCP Server exposes ferry routes, schedules and booking redirects so an AI assistant can discover connections across Europe and the Mediterranean and send users to Ferryhopper to complete bookings.

All-in-One SEO & Web Intelligence Toolkit API from FetchSERP.

MCP server that provides read-only access to HyperKitty, the web-based email archive component of Mailman 3.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.