MCP Web Research Server
MCP 网络研究服务器
用于网络研究的模型上下文协议 (MCP) 服务器。
将实时信息带入 Claude 并轻松研究任何主题。
特征
Google 搜索集成
网页内容提取
研究会话跟踪(访问过的页面列表、搜索查询等)
屏幕截图
Related MCP server: MCP Web Research Server
先决条件
安装
首先,确保您已经下载并安装了Claude Desktop 应用程序,并且已经安装了 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 在需要时自动启动网络研究 MCP 服务器。
用法
只需与 Claude 开始聊天,并发送一个有助于进行网络研究的提示即可。如果您想要一个预先构建的、针对更深入的网络研究而定制的提示,您可以使用我们通过此软件包提供的agentic-research提示。在 Claude Desktop 中,点击聊天输入框中的回形针图标,然后选择Choose an integration → webresearch研究”→ agentic-research即可访问该提示。
工具
search_google执行 Google 搜索并提取结果
参数:
{ query: string }
visit_page访问网页并提取其内容
参数:
{ url: string, takeScreenshot?: boolean }
take_screenshot截取当前页面的屏幕截图
无需任何参数
提示
agentic-research
引导式研究提示,帮助 Claude 进行深入的网络研究。该提示指导 Claude 执行以下操作:
从广泛的搜索开始,了解主题概况
优先考虑高质量、权威的来源
根据研究结果反复完善研究方向
让您随时了解情况,并让您以交互方式指导研究
始终引用带有 URL 的来源
资源
我们将两件事作为 MCP 资源公开:(1)捕获的网页截图,以及(2)研究会话。
截图
截取的屏幕截图会被保存为 MCP 资源。您可以通过 Claude Desktop 中的回形针图标访问截取的屏幕截图。
研究会议
服务器维护一个研究会话,其中包括:
搜索查询
访问过的页面
提取的内容
截图
时间戳
建议
为了获得最佳效果,如果您选择在研究时不使用agentic-research提示,建议 Claude 在研究一般主题时使用高质量的来源可能会有所帮助。例如,您可以提示news today from reuters or AP ,而不是news today 。
问题
这基本上是 pre-alpha 代码。而且它也是 AIGC,所以可能会有 bug。
如果您遇到问题,检查 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
Linux
执照
麻省理工学院
作者
Available Tools
3 toolssearch_googleC
Search Google for a query
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to visit | |
| takeScreenshot | No | Whether to take a screenshot |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
- First observed
search_google - First observed
take_screenshot - First observed
visit_page
TDQS
Scored across 3 tools
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.
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.
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.
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
Related MCP Connectors
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Real-time web search, reasoning, and research through Perplexity's API
Related MCP Servers
- AlicenseBqualityFmaintenanceA server facilitating web search functionality by utilizing Perplexity AI's API, designed to integrate with the Claude desktop client for enhanced search queries.1307MIT
- AlicenseBqualityDmaintenanceThe MCP Web Research Server enables real-time web research with Claude by integrating Google search, capturing webpage content and screenshots, and tracking research sessions.35 npm86MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables Claude to perform web research by integrating Google search, extracting webpage content, and capturing screenshots.3999 npm20MIT
- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables Claude to perform web research by integrating Google search, extracting webpage content, and capturing screenshots in real-time.4999 npm9MIT