agentsearch-mcp
Provides web search through the AgentSearch API using Brave as a provider-abstracted backend, returning normalized SERP results with position, title, URL, snippet, and domain.
Provides keyless instant answers from DuckDuckGo via the AgentSearch API, including definitions, entities, and quick facts.
This server has a remotely hosted endpoint. Open its connector listing for connection details, authentication requirements, and setup instructions:
agentsearch-mcp
A remote MCP (Model Context Protocol) connector for AgentSearch API — an LLM/MCP-native web toolkit for agents and RAG pipelines: web search (provider-abstracted SERP), keyless instant answers, and URL → clean text/markdown fetch ready for an LLM context window.
Live: https://agentsearch-mcp.vercel.app/mcp — 3 tools, one per AgentSearch /v1 endpoint. Since the upstream AgentSearch deployment is metered (RapidAPI/Apify) and gates /v1/* behind a RapidAPI proxy-secret guard, this connector authenticates its own outbound calls with that same secret (AGENTSEARCH_MCP_PROXY_SECRET, sent as the X-RapidAPI-Proxy-Secret header) and applies a soft per-IP rate limit (AGENTSEARCH_MCP_RATE_LIMIT, default 30 tool-calls/hour, in-memory) so the free MCP tier stays a discovery channel rather than an unmetered bypass of the paid listing — see lib/ratelimit.js.
What this is, and why it's a separate connector
AgentSearch API is a plain REST API. Any HTTP client can already call it directly. This repo exists because MCP clients (Claude, ChatGPT, and other MCP-aware agents) don't consume arbitrary REST APIs — they consume MCP tools. agentsearch-mcp is a thin adapter layer that:
Exposes each AgentSearch endpoint as a discoverable, typed MCP tool (name, description, zod input schema, annotations) that an LLM can reason about and call directly, instead of having to be taught the REST surface out-of-band.
Speaks the MCP streamable-HTTP transport at a single
/mcpendpoint, so it can be registered as a connector in Claude, ChatGPT, or any other MCP client with one URL.Does nothing else. It has no business logic of its own — every tool call is a pass-through
fetchto AgentSearch, and the JSON response AgentSearch returns is handed back verbatim as the tool result.
Related MCP server: AgentSearch MCP
Free discovery tier over a metered API
This connector is a free discovery/growth tier in front of the metered AgentSearch API. The upstream (agentsearch-api.vercel.app) is sold on RapidAPI/Apify; this MCP wrapper authenticates to it with the shared RapidAPI proxy secret and caps usage per-IP so it stays a taste-test rather than an unmetered path around the paid plans. Heavy/production volume should go through AgentSearch on RapidAPI/Apify.
Authentication: None on the MCP side (deliberate)
AgentSearch's data has no per-user dimension — it's public web data (SERP results, DuckDuckGo instant answers, cleaned page text). There is nothing to gate per-caller, so this connector intentionally ships with:
No OAuth, no login, no bearer tokens for the MCP caller
No Supabase / database
No demo-vs-real account split — every caller gets the same real, live data
api/mcp.js builds a fresh, stateless McpServer per request and serves it with zero MCP-caller auth checks. The only outbound auth is the upstream RapidAPI proxy secret described above, which the connector holds server-side.
Tool list
One tool per AgentSearch /v1 endpoint (from agentsearch-api/openapi.yaml; /api/health is intentionally not wrapped):
Tool | AgentSearch endpoint | Description |
|
| Web SERP via a provider-abstracted backend (Brave or Serper). Returns normalized results with position/title/url/snippet/domain. |
|
| Keyless DuckDuckGo instant answer — definitions, entities, quick facts. |
|
| Keyless, SSRF-guarded URL → clean, boilerplate-free text or markdown for RAG. |
All 3 tools are read-only and annotated { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true } — none of them write anything, and all of them reflect live, externally-changing web data.
How it wraps agentsearch-api
Each tool handler does a plain fetch(\${AGENTSEARCH_MCP_API_BASE_URL}${path}`, ...)` against the real AgentSearch REST API and returns the parsed JSON as MCP tool-result content:
{ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }The outbound request carries X-RapidAPI-Proxy-Secret: <AGENTSEARCH_MCP_PROXY_SECRET> so it passes the upstream guard on /v1/*. Upstream HTTP errors (4xx/5xx) are caught and surfaced as a typed MCP error result via an asError helper rather than crashing the request.
Environment variables
Var | Default | Purpose |
|
| Upstream AgentSearch base URL (override for local/self-hosted testing). |
| (empty) | RapidAPI proxy secret, sent as |
|
| Soft per-IP |
Project layout
api/mcp.js MCP endpoint (StreamableHTTPServerTransport, stateless, no MCP-caller auth)
api/health.js GET /api/health
lib/tools.js All 3 tool definitions (zod schemas + fetch-and-forward handlers, proxy-secret auth)
lib/ratelimit.js Soft per-IP tools/call rate limiter
local-server.js Plain-Node http server for local dev / smoke testing (not deployed)
test/smoke.mjs Real end-to-end smoke test (initialize, tools/list, tools/call)
vercel.json Routes /mcp -> api/mcp.js, /health -> api/health.js
server.json MCP registry manifestLocal development
npm install
npm run dev # starts local-server.js on :3900
npm run smoke # runs test/smoke.mjs against the local serverTo exercise a real end-to-end fetch through the upstream guard, set the proxy secret first:
export AGENTSEARCH_MCP_PROXY_SECRET=<the RapidAPI proxy secret>
npm run dev &
npm run smokeThis server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Your agent needs the open web — searched by more than one engine, and read as clean markdown rather than raw HTML. **What you can ask for** • "Search this question with two providers and tell me where they disagree." • "Scrape these 40 URLs into markdown, in one batch." • "Crawl this documentation site and give me every page." • "Do deep research on this topic and cite the sources." • "Find the academic papers behind this claim." **How to use it** Point any MCP client at https://mcp.aisa.one/search/mcp and sign in with OAuth — there is no key to create or paste. 30 tools across several independent providers: Tavily and Exa search, answers, contents and agent runs; Firecrawl scrape, batch scrape, crawl, map and search; Perplexity Sonar, Sonar Pro, reasoning and deep research; Oxylabs AI search and LLM jobs; OpenAI and Anthropic web search; and scholarly search. **Why this rather than the source** Several independent indexes behind one account, because one engine's blind spot is not visible from inside it. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the page here, then ask the same agent who links to it or how much traffic it gets — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/seo-serp/mcp for the Google results page itself, https://mcp.aisa.one/seo-serp-other-engines/mcp for Bing, Baidu and Naver.
Search the agentic web. 4,100+ sites, 11 tools incl. check_url + verify_mcp for probe-before-use.
Agent-driven search: build, import, tune, search, and score result quality — all over MCP.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables AI agents to perform web searches and extract full-text content from web pages via standard MCP tools, with fallback search and semantic reranking.22MIT
- AlicenseAqualityAmaintenanceAgentSearch web search (and optional page extract) via MCP stdio. Direct local API or Pocket portal.5596 npmMIT
- AlicenseAqualityCmaintenanceExposes DeepSeek's Search and Fetch REST APIs as two read-only MCP tools, letting any MCP-capable agent run ranked web searches and retrieve individual pages as truncated Markdown. Works with whichever model the host runs, over stdio or Streamable HTTP.2MIT
- AlicenseNot gradedqualityBmaintenanceProvides two MCP tools that let agents search the live web for ranked results with metadata and fetch individual webpages as Markdown content.19 npmMIT