Deep Research MCP Server
This server provides a suite of research and memory tools for gathering, analyzing, and storing web information.
search_web: Perform web searches via DuckDuckGo (no API key) with configurable result count (1–10) and time filter (all/day/week/month/year).
scrape_page: Fetch any URL and extract content as markdown, plain text, or full HTML, optionally focusing on the main content.
extract_insights: Analyze provided content to extract key entities, statistics, and notable points, guided by an optional goal.
deep_research: Run an orchestrated research workflow—search, parallel scrape, and synthesize—into a report, with depth (quick/standard/deep) and maxSources (1–10) controls.
compare_sources: Compare 2–5 URLs to identify consensus, unique information, and contradictions, optionally focused on a specific aspect.
fact_check_claim: Verify a factual claim by searching the web with adjustable search depth (2–8) and returning a verdict.
memory_save: Persist research findings (key-value) with optional tags and source attribution.
memory_search: Search previously saved memory entries by query, tags, and limit (1–20).
Provides web search functionality using DuckDuckGo, enabling the MCP server to search the web without an API key.
Click on "Deploy 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., "@Deep Research MCP Serverresearch the latest trends in renewable energy storage"
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.
Why not generic?
Generic MCP (boring) | This MCP (pro) |
| Orchestrated deep research |
Returns raw HTML | Cheerio + Turndown → clean markdown + headings, links, meta |
No memory | Persistent memory in |
One page at a time | Parallel 3-worker scraper, 10min cache |
No reasoning | Fact-check with stance scoring, contradiction detection |
Architecture
graph LR
A[User: deep_research topic] --> B[search_web DDG HTML]
B --> C[Parallel Scrape x3-8]
C --> D[cheerio clean + turndown md]
D --> E[extract_insights heuristic]
E --> F[Synthesize Report + Citations]
F --> G[memory_save + history]
F --> H[Return to Claude]
I[compare_sources] --> C
J[fact_check_claim] --> B
K[memory_search] --> GTools (8)
Tool | What it does | Params |
| DuckDuckGo HTML search, no API key, UDDG decode |
|
| Fetch + main-content heuristic + markdown | `url, format=markdown |
| Entities, stats regex, key-point scoring, reading time |
|
| Power tool — search → parallel scrape → synthesize report | `topic, depth=quick |
| 2-5 URLs → consensus vs unique vs contradictions |
|
| Searches support + |
|
| Save finding to JSON, survives restarts |
|
| Fuzzy search in persistent memory |
|
Resources:
research://memory— all saved findingsresearch://history— last 100 actionsresearch://stats— cache size, uptime
Prompts:
deep-dive-research— full research workflowfact-check— fact-checker squadcompare-narratives— bias & comparison table
Quickstart & Installation
⚡ 1-Click Auto Setup for Claude Desktop (Recommended)
Run this single command in your terminal:
npx mcp-deep-research-server --installThat's it! It automatically detects your OS, writes the config to your
claude_desktop_config.json, and configures the 8 research tools. Just restart Claude Desktop.
🛠️ Manual / Other Clients Setup
Run via npx:
npx mcp-deep-research-serverOr build from source:
git clone https://github.com/SECRET4422/mcp-deep-research-server.git
cd mcp-deep-research-server
npm install
npm run build🤖 Agent Skill (Claude Code / Antigravity / Agent Frameworks)
This repository includes an open-standard Agent Skill that teaches AI coding assistants when and how to autonomously run deep research workflows.
Import via skill directory:
skills/deep-research/Spec compliant with Claude Code, Cursor, and Google Antigravity agents.
Test (smoke)
npm run test:mcp
# or
npm run inspect # opens http://localhost:6274Manually tested:
[search] Dehradun → 3 results ✓
[deep_research] What is MCP → 3 sources in 2.1s ✓
tools/list → 8 tools ✓Add to Claude Desktop
Edit config:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"deep-research": {
"command": "node",
"args": ["/absolute/path/to/mcp-deep-research-server/build/index.js"]
}
}
}Restart Claude Desktop.
Add to Cursor / Windsurf / VS Code
.cursor/mcp.json or mcp.json:
{
"mcpServers": {
"deep-research": {
"command": "node",
"args": ["./build/index.js"],
"cwd": "/path/to/mcp-deep-research-server"
}
}
}Example Prompts
Deep Research:
Use deep_research to research "Best LLM fine-tuning in 2026, depth deep" then compare LoRA vs QLoRA
Fact Check:
Fact check claim: "Bun is faster than Node" using fact_check_claim
Compare:
Compare these 3 URLs about MCP architecture focusing on security: https://modelcontextprotocol.io/docs/getting-started/intro https://www.anthropic.com/news/model-context-protocol https://en.wikipedia.org/wiki/Model_Context_Protocol
See examples/claude-example.md for more.
Data Storage
All in ~/.mcp-deep-research/:
memory.json— persistent findingshistory.json— audit log (100 max)cache/— reserved
No DB, no external calls except search/scrape.
Pro Features in v1.1.0
✅ Logo + pro README + badges
✅ GitHub Actions CI (Node 18/20/22) + Release workflow
✅ Issue templates, PR template, CONTRIBUTING, SECURITY
✅
.editorconfig, smoke test script✅ Optimized
package.jsonfor npm publishing✅ CHANGELOG tracked
Roadmap
Tavily / Brave API fallback if keys present
PDF parsing via
pdf-parseYouTube transcript tool
Vector search on memory (embeddings)
SSRF protection — private/internal IP blocklist for
scrape_pageSmithery registry
Dev
npm run dev # tsx watch
npm run build
npm run lintGuidelines in CONTRIBUTING.md.
License
MIT © Prabhakar Pal — See LICENSE
Built with 🧠 for Dehradun → World. Not a generic MCP.
Available Tools
8 toolscompare_sourcesD
Compare 2-5 URLs
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| focus | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose any behavioral traits (e.g., whether it is read-only, requires authentication, or modifies data). The description does not add context beyond the bare action.
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?
Extremely short (6 words) but lacks essential information. It is under-specified rather than appropriately concise.
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 2 parameters, no output schema, and no annotations, the description fails to explain what the output is, how to use 'focus', or any expected behavior.
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 description does not explain the 'focus' parameter or provide meaning beyond the input schema. With 0% schema description coverage, the description must compensate but fails to do so.
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 'Compare 2-5 URLs' provides a verb and resource, but is vague about what aspect is compared (e.g., content, reliability). It does not distinguish from sibling tools like 'extract_insights' or 'fact_check_claim'.
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?
No guidance on when to use this tool versus alternatives. No when-not-to-use or exclusions provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_researchC
Orchestrated deep research: search + parallel scrape + synthesize
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | standard | |
| topic | Yes | ||
| maxSources | No | ||
| saveMemory | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool performs multiple operations (search, parallel scrape, synthesize), which is helpful. However, it does not mention potential side effects like saving to memory (implied by the saveMemory parameter) or behavioral traits such as longer execution time or cost implications. Without annotations, the description carries the burden for transparency, and it only partially meets it.
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 at 13 words. While brevity is valued, this description is underspecified and missing critical information. It is not front-loaded effectively because it does not immediately clarify what the tool does in a self-contained way (e.g., 'research' is vague without context). It earns a 3 because it is not verbose but is too short to be fully useful.
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 tool's complexity (orchestrated multi-step process, 4 parameters, no output schema), the description is severely incomplete. It does not explain what 'synthesize' means (e.g., returns a summary, a report, or structured data), the significance of saveMemory, the behavior of depth levels, or how maxSources interacts with scraped pages. A complete description would require at least a few sentences to cover these aspects.
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 four parameters with no descriptions (schema description coverage 0%). The description does not explain any of the parameters (topic, depth, maxSources, saveMemory) beyond what is obvious from their names. For example, it does not clarify what each depth level ('quick', 'standard', 'deep') entails or how maxSources affects the search and scrape process. The description adds no semantic value to the schema.
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 performs 'deep research' through orchestrated search, parallel scraping, and synthesis. This distinguishes it from sibling tools like search_web (search only) and scrape_page (scrape only), as it combines multiple steps into one call.
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 explicit guidance on when to use this tool versus alternatives. For example, it doesn't specify when deep_research is preferred over manually chaining search_web and scrape_page, or when not to use it (e.g., if only a single source is needed). The implied usage is for comprehensive research, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_insightsD
Extract insights
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | ||
| content | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any behavioral details beyond the tool name. It does not disclose side effects, output format, or any traits that an AI agent needs to know.
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 too short to be useful; two words constitute under-specification rather than conciseness. It fails to earn its place without meaningful content.
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 tool has 2 parameters, no output schema, and no annotations, the description is completely inadequate. It provides no context for successful invocation.
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 0%, and the description adds no meaning to the parameters (goal, content). The agent is left with no clue about their purpose or format.
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 'Extract insights' is a tautology of the tool name, providing no additional clarity about what insights are extracted or from what source. It fails to distinguish the tool from siblings like deep_research or fact_check_claim.
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?
No usage guidelines are provided. The description gives no indication of when to use this tool versus alternatives like compare_sources or search_web.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fact_check_claimD
Fact-check claim
| Name | Required | Description | Default |
|---|---|---|---|
| claim | Yes | ||
| searchDepth | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It says nothing about mutability, authentication, rate limits, or output format, leaving the agent blind to key usage constraints.
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?
While very short, the description is under-specified and fails to include essential information, making it inadequate rather than concise.
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 two parameters, no annotations, and no output schema, the description is starkly incomplete. It does not explain return values, parameter usage, or any contextual information needed for correct invocation.
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 0% and the tool description does not explain any parameters. The meaning of 'claim' and 'searchDepth' is left entirely to the agent's intuition.
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 'Fact-check claim' is a tautology of the tool name, repeating it without adding specificity or distinguishing it from sibling tools like compare_sources or deep_research.
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, nor does it mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_saveC
Save to persistent memory
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | ||
| tags | No | ||
| value | Yes | ||
| source | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavior. It only states 'Save to persistent memory' without mentioning whether saving overwrites, appends, or handles duplicates, nor any side effects like potential mutation of existing data.
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 single sentence is brief but under-specifies the tool's functionality. True conciseness would retain essential detail; here, the description is too terse to be adequately informative.
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 4 parameters, no output schema, and no annotations, the description is wholly inadequate. It fails to explain what 'persistent memory' is, how the tool relates to siblings, or what happens after saving.
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?
With 0% schema description coverage, the description must explain parameters. It does not clarify the purpose of 'key', 'tags', 'value', or 'source', leaving the agent to infer their meaning from names alone.
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 'Save to persistent memory' uses a specific verb (save) and resource (persistent memory), clearly indicating the action. However, it lacks differentiation from sibling tools like memory_search or compare_sources, though the verb itself implies a distinct operation.
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?
No guidance on when to use this tool versus alternatives (e.g., memory_search). The description provides no context for appropriate usage, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
memory_searchD
Search memory
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| limit | No | ||
| query | Yes |
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 disclosing behavioral traits like read/write nature, authentication needs, or rate limits. It says nothing beyond the literal operation, offering no transparency.
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?
While extremely concise at two words, the description is underspecified and lacks necessary information, making it inefficient for agent understanding. It prioritizes brevity over clarity.
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 3 parameters, no output schema, and no annotations, the description is woefully incomplete. It fails to convey return behavior, pagination, or any context needed for correct usage.
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 0% and the description fails to explain the meaning or usage of any of the three parameters (tags, limit, query). It does not add value beyond the raw schema.
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 memory' is a tautology that merely restates the tool name 'memory_search' without specifying the resource or scope. It fails to distinguish from sibling tools like search_web or memory_save.
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 such as deep_research or memory_save. No contexts, exclusions, or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape_pageC
Scrape URL to markdown
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | markdown | |
| extractMainOnly | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden but only states the core action. It does not disclose behavioral traits such as whether the scraping is destructive, network requirements, rate limits, or error handling, leaving much to assumption.
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?
While extremely concise (one sentence), it lacks structure such as bullet points or sections. The brevity results in under-specification for a tool with three parameters, making it more insufficient than appropriately concise.
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 output schema, no parameter explanations, and no annotations, the description is incomplete. It does not cover return values, error scenarios, or behavioral nuances needed for an AI agent to use the tool correctly.
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 0%, yet the description adds no meaning to the three parameters (url, format, extractMainOnly). It hints at output format via 'markdown' but does not explain any parameter semantics, failing to compensate for low coverage.
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 'Scrape URL to markdown' clearly states the verb (scrape) and resource (URL), and specifies the output format (markdown). It implicitly distinguishes from siblings like search_web and fact_check_claim, though no explicit differentiation is made.
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?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or scenarios where it should be avoided. The description is purely functional with no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_webC
Search web via DuckDuckGo HTML (no API key)
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | ||
| query | Yes | Search query | |
| timeFilter | No | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behaviors. It only mentions 'no API key,' omitting important traits like rate limits, result format, or limitations of scraping DuckDuckGo HTML. This is insufficient for an agent to understand behavioral implications.
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 very concise (one sentence) and front-loaded, but it sacrifices completeness. Every word earns its place, but the overall structure is minimal, lacking the substance needed for a 3-parameter tool.
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 3 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain return format, pagination, error handling, or limitations, leaving critical gaps for an AI agent to correctly invoke the tool.
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 only 33% (only 'query' has a description). The description adds no information about 'count' or 'timeFilter' parameters, failing to compensate for the schema's lack of detail. The agent must infer parameter usage from names alone.
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 (Search web) and the specific source (DuckDuckGo HTML) plus a key feature (no API key required). However, it does not differentiate from sibling tools like deep_research or fact_check_claim, missing explicit guidance on when this tool is appropriate.
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. There is no mention of context, prerequisites, or exclusions, leaving the agent without direction for tool selection.
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.
8 tool updates
v1.3.1- Changed
compare_sources2 fields changed- removed
Input schema / properties / focus / descriptionRemoved value: -"What aspect to focus comparison on? e.g. 'pricing', 'effectiveness'" - removed
Input schema / properties / urls / descriptionRemoved value: -"2-5 URLs to compare"
- Changed
deep_research4 fields changed- removed
Input schema / properties / depth / descriptionRemoved value: -"quick=3 sources, standard=5, deep=8" - removed
Input schema / properties / maxSources / descriptionRemoved value: -"Override number of sources (1-10)" - removed
Input schema / properties / saveMemory / descriptionRemoved value: -"Save key findings to memory" - removed
Input schema / properties / topic / descriptionRemoved value: -"Research topic/question"
- Changed
extract_insights2 fields changed- removed
Input schema / properties / content / descriptionRemoved value: -"Content to analyze (scraped page text, article, etc)" - removed
Input schema / properties / goal / descriptionRemoved value: -"What are you trying to extract? e.g. 'pricing for LLMs', 'side effects' - biases scoring"
- Changed
fact_check_claim2 fields changed- removed
Input schema / properties / claim / descriptionRemoved value: -"Claim to fact-check, e.g. 'Dehradun is the capital of Uttarakhand'" - removed
Input schema / properties / searchDepth / descriptionRemoved value: -"How many sources to check"
- Changed
memory_save4 fields changed- removed
Input schema / properties / key / descriptionRemoved value: -"Key/title, e.g. 'dehradun-capital-fact' or 'pricing-openai'" - removed
Input schema / properties / source / descriptionRemoved value: -"Source URL or description" - removed
Input schema / properties / tags / descriptionRemoved value: -"Tags for filtering" - removed
Input schema / properties / value / descriptionRemoved value: -"Value/content to save"
- Changed
memory_search3 fields changed- removed
Input schema / properties / limit / descriptionRemoved value: -"Max results" - removed
Input schema / properties / query / descriptionRemoved value: -"Search query in keys/values/tags" - removed
Input schema / properties / tags / descriptionRemoved value: -"Filter by tags (any match)"
- Changed
scrape_page3 fields changed- removed
Input schema / properties / extractMainOnly / descriptionRemoved value: -"Try to extract main article content only, removing nav/footer" - removed
Input schema / properties / format / descriptionRemoved value: -"Output format" - removed
Input schema / properties / url / descriptionRemoved value: -"URL to scrape"
- Changed
search_web3 fields changed- removed
Input schema / properties / count / descriptionRemoved value: -"Number of results (1-10)" - changed
Input schema / properties / query / descriptionPrevious value: -"Search query, be specific"New value: +"Search query" - removed
Input schema / properties / timeFilter / descriptionRemoved value: -"Time filter appended to query if needed"
8 tool updates
v1.2.0- First observed
compare_sources - First observed
deep_research - First observed
extract_insights - First observed
fact_check_claim - First observed
memory_save - First observed
memory_search - First observed
scrape_page - First observed
search_web
TDQS
Scored across 8 tools
Each tool has a clear, distinct purpose: compare_sources compares URLs, deep_research orchestrates multi-step research, extract_insights extracts insights, fact_check_claim verifies claims, memory_save/search handle persistent memory, scrape_page fetches web content, and search_web performs web searches. No overlap.
All tool names follow a consistent snake_case convention with a clear verb_noun pattern (e.g., compare_sources, memory_save, scrape_page). The naming is predictable and easy to understand.
8 tools are well-scoped for a deep research server. The count is sufficient to cover core capabilities (search, scrape, compare, fact-check, memory) without being overwhelming.
The tool set covers the full research lifecycle: searching, scraping, comparing sources, extracting insights, fact-checking, and saving/retrieving memory. There are no obvious gaps for the intended purpose.
Maintenance
Related MCP Connectors
An MCP server for deep research or task groups
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol (MCP) server for web research. Bring real-time info into Claude and easily research any topic.31,202300MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with Sonar API to provide Claude with real-time web search capabilities for comprehensive research.13MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that utilizes LangGraph and Google Gemini to conduct comprehensive research through multi-iteration deep searches and quick results. It provides high-quality analysis with automated citations and grounding metadata for thorough investigations.2MIT
- AlicenseAqualityBmaintenanceMCP server for AI-powered research using Gemini. Provides fast grounded web search, deep autonomous research, URL extraction, and session management.69MIT