MCP Web Research Server
A Model Context Protocol (MCP) server for web research.
Bring real-time info into Claude and easily research any topic.
Features
- Google search integration
- Webpage content extraction
- Research session tracking (list of visited pages, search queries, etc.)
- Screenshot capture
Prerequisites
- Node.js >= 18 (includes
npmandnpx) - Claude Desktop app
Installation
First, ensure you've downloaded and installed the Claude Desktop app and you have npm installed.
Next, add this entry to your claude_desktop_config.json (on Mac, found at ~/Library/Application\ Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"webresearch": {
"command": "npx",
"args": ["-y", "@mzxrai/mcp-webresearch@latest"]
}
}
}
This config allows Claude Desktop to automatically start the web research MCP server when needed.
Usage
Simply start a chat with Claude and send a prompt that would benefit from web research. If you'd like a prebuilt prompt customized for deeper web research, you can use the agentic-research prompt that we provide through this package. Access that prompt in Claude Desktop by clicking the Paperclip icon in the chat input and then selecting Choose an integration → webresearch → agentic-research.
Tools
-
search_google- Performs Google searches and extracts results
- Arguments:
{ query: string }
-
visit_page- Visits a webpage and extracts its content
- Arguments:
{ url: string, takeScreenshot?: boolean }
-
take_screenshot- Takes a screenshot of the current page
- No arguments required
Prompts
agentic-research
A guided research prompt that helps Claude conduct thorough web research. The prompt instructs Claude to:
- Start with broad searches to understand the topic landscape
- Prioritize high-quality, authoritative sources
- Iteratively refine the research direction based on findings
- Keep you informed and let you guide the research interactively
- Always cite sources with URLs
Resources
We expose two things as MCP resources: (1) captured webpage screenshots, and (2) the research session.
Screenshots
When you take a screenshot, it's saved as an MCP resource. You can access captured screenshots in Claude Desktop via the Paperclip icon.
Research Session
The server maintains a research session that includes:
- Search queries
- Visited pages
- Extracted content
- Screenshots
- Timestamps
Suggestions
For the best results, if you choose not to use the agentic-research prompt when doing your research, it may be helpful to suggest high-quality sources for Claude to use when researching general topics. For example, you could prompt news today from reuters or AP instead of news today.
Problems
This is very much pre-alpha code. And it is also AIGC, so expect bugs.
If you run into issues, it may be helpful to check Claude Desktop's MCP logs:
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
Development
# Install dependencies
pnpm install
# Build the project
pnpm build
# Watch for changes
pnpm watch
# Run in development mode
pnpm dev
Requirements
- Node.js >= 18
- Playwright (automatically installed as a dependency)
Verified Platforms
- [x] macOS
- [ ] Linux
License
MIT
Author
mzxrai
Recommend MCP Servers 💡
Bitrise MCP Server
A conversational interface to interact with the Bitrise CI platform, enabling users to query builds, troubleshoot, and optimize configurations using natural language.
viso-mcp
An MCP server integrating VISO TRUST API capabilities with AI assistants, providing tools for assessments, audit logs, business cases, data types, intelligent query response (IQR), relationships, and webhooks.
paprika-3-mcp
An MCP server that exposes Paprika 3 recipes as LLM-readable resources and enables LLM-driven recipe creation/editing
@chaindead/telegram-mcp
Telegram MCP for managing dialogs, messages, drafts, read statuses, and more.
AshwinSundar/congress_gov_mcp
Unofficial MCP server integrating the Congress.gov API to provide access to US congressional data
@fazer-ai/mcp-obsidian
A Model-Context-Protocol server that lets Claude (or any MCP-compatible LLM) interact with your Obsidian vault through the Local REST API community plugin.