Skip to content

MCP web research server (give Claude real-time info from the web)

License

Notifications You must be signed in to change notification settings

Claw256/mcp-webresearch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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 integrationwebresearchagentic-research.

Example screenshot of web research

Tools

  1. search_google

    • Performs Google searches and extracts results
    • Arguments: { query: string }
  2. visit_page

    • Visits a webpage and extracts its content
    • Arguments: { url: string, takeScreenshot?: boolean }
  3. 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.

Project Structure

The codebase is organized into modular components for better maintainability:

src/
├── config/         # Configuration and constants
│   └── index.ts    # Tool definitions, prompts, and constants
├── handlers/       # MCP request handlers
│   ├── tools.ts    # Web research tool handlers
│   ├── resources.ts # Resource management handlers
│   └── prompts.ts  # Research prompt handlers
├── services/       # Core functionality
│   ├── browser.ts  # Browser automation
│   ├── screenshot.ts # Screenshot handling
│   ├── content.ts  # HTML to Markdown conversion
│   └── session.ts  # Research session management
├── types/         # TypeScript interfaces
│   └── index.ts    # Type definitions
└── utils/         # Helper functions
    └── index.ts    # Utility functions

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
npm install

# Build the project
npm run build

# Watch for changes
npm run dev

# Clean build artifacts
npm run clean

Development Requirements

  • Node.js >= 18
  • Chromium browser (automatically installed during package installation via patchright)
  • Patchright (automatically installed as a dependency)
  • TypeScript 5.3+
  • MCP SDK 1.1.0+

Key Dependencies

  • @modelcontextprotocol/sdk: ^1.1.0 - MCP server implementation
  • patchright: ^1.49.2 - Undetected browser automation
  • turndown: ^7.1.2 - HTML to Markdown conversion

Verified Platforms

  • macOS
  • Windows
  • Linux

License

MIT

Author

mzxrai

About

MCP web research server (give Claude real-time info from the web)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 95.6%
  • JavaScript 4.4%