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-skill
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.
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables web search through Exa or Parallel APIs for MCP-compatible AI clients like Cursor and Claude Code.17 npm1MIT
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.38MIT
- 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.5 npm2Apache 2.0
- AlicenseAqualityBmaintenanceEnables AI agents to search the web and fetch webpage content as clean text via MCP, with optional headless rendering for dynamic pages.3MIT