web-mcp-server
Searches ArXiv papers, fetches HTML content, chunks, and returns relevant chunks ranked by BM25 for research queries.
Searches the web via DuckDuckGo, returning a list of results with title, URL, and description.
Click on "Install 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., "@web-mcp-serversearch for latest AI news"
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.
web-mcp-server
MCP server that exposes web_search, web_fetch, and research tools, allowing LLM applications to search the web, fetch page content, and research ArXiv papers.
Tools
web_search
Search the web via DuckDuckGo.
Parameter | Type | Default | Description |
|
| — | Search query |
|
|
| Max results to return (capped at 30) |
Returns a list of {title, url, description}.
web_fetch
Fetch a URL and return cleaned markdown content.
Parameter | Type | Default | Description |
|
| — | URL to fetch |
|
|
| Max characters of markdown output to return. |
Returns {content, title, url, content_type}.
research
Search ArXiv papers, fetch HTML content, chunk, and return the most relevant chunks ranked by BM25.
Parameter | Type | Default | Description |
|
| — | Research query |
|
|
| Number of ArXiv search results to consider |
|
|
| Number of papers to fetch and analyze |
|
|
| Number of top relevant chunks to return |
Returns {query, sources, chunks, total_chunks_analyzed}.
Related MCP server: LLM Researcher
Deep Research Prompt
The server exposes a deep_research prompt via the MCP protocol. Clients can discover and call it with a query parameter to get a system prompt for iterative deep research.
Usage: Call deep_research(query="...") to get a prompt that guides an LLM agent to orchestrate web_search, web_fetch, and research in multi-round investigation following the CoSearch deep search pattern.
Quickstart
# Install dependencies
uv sync
# Run the server (SSE on port 8642, default)
uv run python -m src.server
# Run with streamable HTTP transport
TRANSPORT=streamable-http uv run python -m src.serverEnvironment Variables
Variable | Default | Description |
|
| Server bind address |
|
| Server port |
|
| Transport protocol: |
Health Check
A health check endpoint is available at the root path:
curl http://localhost:8642/
# {"status": "ok"}Connect via Claude Code
# SSE (default)
claude mcp add web-tools http://localhost:8642/sse
# Streamable HTTP
claude mcp add --transport http web-tools http://localhost:8642/mcpConnect via MCP Inspector
npx -y @modelcontextprotocol/inspector
# Connect to http://localhost:8642/sse (SSE) or http://localhost:8642/mcp (streamable HTTP) in the UIProject Structure
src/
├── server.py # MCP server setup + tool/prompt registration
├── tools/
│ ├── web_search.py # DuckDuckGo search logic
│ ├── web_fetch.py # URL fetch, HTML cleaning, markdown conversion
│ └── research.py # ArXiv paper search, fetch, chunk, BM25 ranking
└── utils/
└── html.py # HTML title extractionRequirements
Python >= 3.10
uv (recommended) or pip
Dependencies
Package | Purpose |
| Official MCP Python SDK |
| DuckDuckGo search |
| Async HTTP client |
| HTML parsing and cleaning |
| HTML-to-markdown conversion |
| BM25 document ranking |
| Text tokenization |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RyanDam/EssentialMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server