Web Research MCP
Enables AI agents to search the web, fetch pages, and synthesize research through three tools: web_search, fetch_page, and research_topic, all in a single pay-per-use API call.
README
Web Research MCP — Search, Fetch & Synthesize
An MCP server for AI agents that need to search the web, read pages, and synthesize research — all in a single tool call.
Pay-per-use. No subscription. No idle charges. Powered by Apify Standby.
What it does
Three tools, designed to work together:
| Tool | What it does |
|---|---|
web_search |
Search the web. Returns titles, URLs, and snippets. Uses Brave Search API (if configured) or DuckDuckGo fallback. |
fetch_page |
Fetch any URL and return clean markdown. Strips ads, nav, and boilerplate. Supports article, full-body, or links-only extraction. |
research_topic |
Multi-step research in one call: search → fetch → score relevance → deduplicate → extract key facts → synthesize. |
Quick connect
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"web-research": {
"type": "http",
"url": "https://idapixl--web-research-mcp.apify.actor/mcp",
"headers": {
"Authorization": "Bearer YOUR_APIFY_API_TOKEN"
}
}
}
}
Replace YOUR_APIFY_API_TOKEN with your token from apify.com/account/integrations.
Claude Code:
claude mcp add web-research https://idapixl--web-research-mcp.apify.actor/mcp --transport http
Cursor / Windsurf — add via Settings > MCP Servers > HTTP URL.
Pricing
Pay only for what you use. Charged per tool call.
| Event | Price |
|---|---|
web_search |
$0.003 |
fetch_page |
$0.005 |
research_topic |
$0.025 (single charge, includes all sub-calls) |
Brave Search API setup (optional but recommended)
By default the actor uses DuckDuckGo HTML scraping, which works without any key. For better results and freshness filtering:
- Go to brave.com/search/api and sign up for the free tier (2,000 queries/month)
- Copy your API key
- In the actor input, set Brave Search API Key (stored as secret — never exposed in logs)
When the key is set, web_search and research_topic will use Brave Search automatically. DuckDuckGo is the fallback on error.
Example tool calls
Search with freshness filter (Brave only)
{
"tool": "web_search",
"arguments": {
"query": "Claude 4 release announcement",
"maxResults": 5,
"freshness": "pw"
}
}
Read a page — links extraction mode
{
"tool": "fetch_page",
"arguments": {
"url": "https://docs.anthropic.com/en/api/getting-started",
"extractMode": "links"
}
}
Deep research with focus
{
"tool": "research_topic",
"arguments": {
"topic": "Model Context Protocol",
"maxSources": 3,
"focus": "pricing and monetization"
}
}
Input configuration
| Field | Type | Default | Description |
|---|---|---|---|
braveApiKey |
string (secret) | — | Brave Search API key for higher-quality search |
maxSearchResults |
integer | 5 | Max results per web_search call (1–10) |
fetchTimeoutSecs |
integer | 30 | Page fetch timeout in seconds (5–120) |
proxyConfiguration |
object | — | Apify Proxy config (residential recommended for best success rates) |
Tool reference
web_search
query(required) — search query, max 500 charsmaxResults(optional) — 1–10, default 5freshness(optional) —pdpast day,pwpast week,pmpast month,pypast year (Brave only)
fetch_page
url(required) — page URLtimeoutSecs(optional) — 5–120, default 30extractMode(optional) —articlemain content (default),fullentire body,linksall links
research_topic
topic(required) — research topic or question, max 500 charsmaxSources(optional) — 1–5, default 3focus(optional) — sub-question to narrow the research (e.g. "performance benchmarks"), max 200 chars
Notes
- Stateless: each MCP request gets an isolated server instance
research_topicscores relevance, deduplicates near-duplicate sources (>70% sentence overlap filtered), and extracts key sentences containing your query terms- Proxy: Apify Residential proxies improve success rates on pages that block datacenter IPs
- Charges fire before execution — if a page fails to load after charging, the tool returns an error
Built by Idapixl. TypeScript, MCP SDK 1.x, Apify SDK 3.x.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.