Skip to main content
Glama
jevy

MCP Web Research Server

by jevy

MCP ウェブリサーチサーバー

Web リサーチ用のモデル コンテキスト プロトコル (MCP) サーバー。

リアルタイムの情報を Claude に取り込み、あらゆるトピックを簡単に調査できます。

特徴

  • Google検索統合

  • ウェブページコンテンツの抽出

  • リサーチセッションの追跡(訪問したページのリスト、検索クエリなど)

  • スクリーンショットキャプチャ

Related MCP server: MCP Web Research Server

前提条件

インストール

まず、 Claude デスクトップ アプリをダウンロードしてインストールし、npm がインストールされていることを確認します。

次に、 claude_desktop_config.json (Mac の場合は~/Library/Application\ Support/Claude/claude_desktop_config.jsonにあります) に次のエントリを追加します。

{
  "mcpServers": {
    "webresearch": {
      "command": "npx",
      "args": ["-y", "@mzxrai/mcp-webresearch@latest"]
    }
  }
}

この設定により、Claude Desktop は必要に応じて Web リサーチ MCP サーバーを自動的に起動できるようになります。

使用法

Claudeとのチャットを開始し、Webリサーチに役立つプロンプトを送信するだけです。より深いWebリサーチ向けにカスタマイズされた、あらかじめ用意されたプロンプトが必要な場合は、このパッケージで提供されているagentic-researchプロンプトをご利用ください。Claude Desktopでこのプロンプトにアクセスするには、チャット入力欄のクリップアイコンをクリックし、 Choose an integrationwebresearchagentic-researchを選択します。

ツール

  1. search_google

    • Google検索を実行し、結果を抽出します

    • 引数: { query: string }

  2. visit_page

    • ウェブページにアクセスし、そのコンテンツを抽出する

    • 引数: { url: string, takeScreenshot?: boolean }

  3. take_screenshot

    • 現在のページのスクリーンショットを撮ります

    • 議論は必要ありません

プロンプト

agentic-research

クロードが徹底的なウェブリサーチを行うのに役立つガイド付きリサーチプロンプト。このプロンプトは、クロードに以下の指示を与えます。

  • トピックの状況を理解するために、まずは広範囲な検索から始めましょう

  • 高品質で信頼できる情報源を優先する

  • 調査結果に基づいて研究の方向性を繰り返し改善する

  • 情報を提供し、インタラクティブに研究を進めることができます

  • 常にURLでソースを引用する

リソース

MCPリソースとして、(1)キャプチャしたウェブページのスクリーンショットと(2)調査セッションの2つを公開します。

スクリーンショット

スクリーンショットを撮ると、MCPリソースとして保存されます。Claude Desktopでは、ペーパークリップアイコンからキャプチャしたスクリーンショットにアクセスできます。

研究セッション

サーバーは、次の内容を含む調査セッションを維持します。

  • 検索クエリ

  • 訪問したページ

  • 抽出されたコンテンツ

  • スクリーンショット

  • タイムスタンプ

提案

調査を行う際にagentic-researchプロンプトを使用しない場合は、クロードが一般的なトピックについて調べる際に利用できる質の高い情報源を提案すると、より効果的な結果が得られるかもしれません。例えば、 news today news today from reuters or APプロンプトを使うことができます。

問題

これはまだプレアルファ版のコードです。また、AIGCなのでバグが発生する可能性があります。

問題が発生した場合、Claude Desktop の MCP ログを確認すると役立つ場合があります。

tail -n 20 -f ~/Library/Logs/Claude/mcp*.log

発達

# Install dependencies
pnpm install

# Build the project
pnpm build

# Watch for changes
pnpm watch

# Run in development mode
pnpm dev

要件

  • Node.js >= 18

  • Playwright (依存関係として自動的にインストールされます)

検証済みプラットフォーム

  • [x] macOS

  • [ ] リナックス

ライセンス

マサチューセッツ工科大学

著者

mzxrai

Available Tools

3 tools
search_googleC

Search Google for a query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Search Google') but doesn't reveal any behavioral traits such as whether it requires authentication, rate limits, what the output format is (since no output schema exists), or if it performs a live web search versus cached results. The description is minimal and lacks critical operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words: 'Search Google for a query'. It is front-loaded and directly conveys the core action without unnecessary elaboration, making it highly concise and well-structured for its purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., search results, links, snippets), any limitations (e.g., number of results, pagination), or behavioral aspects like error handling. For a tool that likely involves external API calls or web interactions, more context is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'query' parameter documented as 'Search query'. The description adds no additional meaning beyond this, as it only repeats the concept of a 'query' without elaborating on syntax, examples, or constraints. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search Google for a query' clearly states the verb ('Search') and resource ('Google'), making the purpose understandable. However, it lacks specificity about what kind of search this is (e.g., web search, image search, news search) and doesn't distinguish it from potential sibling tools like 'visit_page', which might also involve Google. The description is functional but vague in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'take_screenshot' or 'visit_page', nor does it specify contexts where this search is appropriate (e.g., for general information retrieval vs. navigating to a specific page). Without any usage context or exclusions, the agent must infer when to apply it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

take_screenshotB

Take a screenshot of the current page

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('take a screenshot') but doesn't explain what happens—e.g., whether it saves the screenshot, returns it as data, requires permissions, or has side effects. This leaves significant gaps in understanding the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words, making it highly efficient and easy to parse. It's front-loaded with the core action, which is ideal for quick understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a tool that performs an action like taking a screenshot. It doesn't cover what the tool returns, how the screenshot is handled, or any behavioral nuances, leaving the agent with insufficient context to use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter details, which is appropriate here, as there are no parameters to describe, aligning with the baseline for zero parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('take') and target resource ('screenshot of the current page'), making the tool's purpose immediately understandable. It doesn't explicitly differentiate from sibling tools like 'visit_page' or 'search_google', which serve different functions, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives or in what context it should be applied. It lacks any mention of prerequisites, such as needing a page to be loaded first, or exclusions, leaving usage entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

visit_pageC

Visit a webpage and extract its content

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL to visit
takeScreenshotNoWhether to take a screenshot

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions visiting and extracting content but fails to describe important traits: what 'extract content' means (HTML, text, metadata?), whether authentication is needed, rate limits, timeouts, or what happens with invalid URLs. This leaves significant gaps for a tool that interacts with external resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with just one sentence containing no wasted words. It's front-loaded with the core purpose and efficiently communicates the essential function without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema that performs external web interactions, the description is insufficient. It doesn't explain what 'extract its content' returns, doesn't mention error conditions or limitations, and provides minimal behavioral context. Given the complexity of web scraping/visiting operations, this leaves too many unknowns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters adequately. The description adds no additional parameter semantics beyond what's in the schema descriptions. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('visit' and 'extract') and resource ('webpage content'). It distinguishes from sibling 'take_screenshot' by mentioning content extraction, though it doesn't explicitly differentiate from 'search_google' which likely has different functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_google' or 'take_screenshot'. It doesn't mention prerequisites, constraints, or appropriate contexts for usage, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedsearch_google
    • First observedtake_screenshot
    • First observedvisit_page

TDQS

B3.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: search_google finds web pages, visit_page loads and extracts content from a specific URL, and take_screenshot captures visual data from the current page. An agent can easily differentiate these functions without confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: search_google, take_screenshot, and visit_page. This uniformity makes the set predictable and easy to understand at a glance.

Tool Count3/5

With only 3 tools, the server feels thin for a 'Web Research Server' scope, as it lacks operations like navigating pages, interacting with elements, or managing browser sessions. While the tools cover basic functions, the count is borderline low for comprehensive web research tasks.

Completeness2/5

There are significant gaps in the tool surface for web research: no navigation tools (e.g., go_back, click_element), no interaction capabilities (e.g., fill_form, scroll), and no session management. This incomplete coverage will likely cause agent failures in complex research workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers