mcp-web-search-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-web-search-serversearch the web for the latest news on artificial intelligence"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-web-search-server
Standalone MCP server exposing web_search and web_fetch tools over HTTP. Any MCP client (Claude Desktop, Cursor, etc.) can connect to it to perform web searches and fetch web pages.
Works out of the box with no API keys: web_search/web_search_exa use Exa's public MCP endpoint, which accepts unauthenticated (rate-limited) requests. Set EXA_API_KEY for higher limits, or PARALLEL_API_KEY to also enable web_search_parallel.
Tools
Tool | Description |
| Fetch and parse a URL, returning markdown or plain text |
| Search the web using Exa or Parallel AI (auto-selected per session) |
| Search using Exa AI specifically |
| Search using Parallel AI specifically |
How it works:
┌──────────────┐ MCP HTTP ┌──────────────────────────┐ HTTP ┌──────────────┐
│ MCP Client │ ◄───────────────► │ web-search-server │ ◄──────────► │ Exa AI │
│ (Claude, │ Streamable │ :9877/mcp │ │ mcp.exa.ai │
│ Cursor, │ │ │ └──────────────┘
│ etc.) │ │ Tools: │
└──────────────┘ │ • web_search (auto) │ ── HTTP ──► ┌──────────────┐
│ • web_search_exa │ │ Parallel │
│ • web_search_parallel │ │ search. │
│ • web_fetch │ │ parallel.ai │
└──────────────────────────┘ └──────────────┘Key design decisions:
Plain async/await — no framework, just native
fetch(Bun's fetch)Streamable HTTP transport — uses
WebStandardStreamableHTTPServerTransportfrom@modelcontextprotocol/sdk, with one session (transport + server instance) per connecting clientProvider selection — hash of session ID picks exa/parallel for the generic
web_searchtool, with env var overridesHTML→Markdown — uses turndown for markdown extraction, a small state-machine for plain text extraction
Related MCP server: websearch-mcp-server
Quick Start
# Install dependencies
bun install
# Run the server (default port 9877)
bun run src/index.tsConfiguration
Environment variables:
Variable | Default | Description |
|
| HTTP port to listen on |
|
| Host to bind to |
| - | Optional Exa API key, for higher rate limits |
| - | Parallel API key (enables |
|
| Set to |
| inferred from | Force-enable Parallel without a key |
| hash-based | Force |
Connect from an MCP client
Point your MCP client to: http://localhost:9877/mcp
This is a standard MCP server using the Streamable HTTP transport.
Usage Examples
Fetch a webpage as markdown
{
"name": "web_fetch",
"arguments": {
"url": "https://example.com",
"format": "markdown"
}
}Search the web
{
"name": "web_search",
"arguments": {
"query": "latest JavaScript features 2026",
"numResults": 5
}
}Development
# Type check
bunx tsc --noEmit
# Run in foreground
bun run src/index.tsArchitecture
web_fetchuses native fetch with HTML→Markdown conversion (turndown) and Cloudflare fallbackThe MCP server uses
@modelcontextprotocol/sdkwithWebStandardStreamableHTTPServerTransportListens on standard HTTP (no stdio required)
The web_search/web_fetch tool implementations were originally adapted from OpenCode's built-in web search tool, then extracted into this standalone server.
License
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
Fast, intelligent web search and web crawling. New mcp tool: Exa-code is a context tool for coding
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceFree web search and page fetching for AI agents. No account or API key required. Connect to https://search.parallel.ai/mcp over Streamable HTTP. Tools: web_search and web_fetch. Free-tier rate limits apply.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables web search through Exa or Parallel APIs for MCP-compatible AI clients like Cursor and Claude Code.181MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.36MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform web searches with full content retrieval and multi-engine provenance, including trust scoring and local corpus persistence, via MCP integration.32Apache 2.0