Skip to main content
Glama
google-research-mcp

google-research-mcp

by thejusdutt

Google Research MCP Server v2.0.0 - Multi-Agent Architecture

An MCP server that implements Anthropic's Multi-Agent Research Architecture with true subagent spawning, adaptive stopping, and citation processing.

npm version

Architecture Overview

This implementation is fully compliant with Anthropic's multi-agent research system:

┌─────────────────────────────────────────────────────────────────┐
│                    Multi-Agent Research System                   │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │              LEAD RESEARCHER (Orchestrator)               │   │
│  │                                                           │   │
│  │  • think(plan approach) - Decompose into aspects          │   │
│  │  • create subagents - Spawn parallel workers              │   │
│  │  • think(synthesize) - Combine findings                   │   │
│  │  • evaluate coverage - "More research needed?"            │   │
│  │  • complete_task - Return final report                    │   │
│  └──────────────────────────────────────────────────────────┘   │
│                              │                                   │
│              ┌───────────────┼───────────────┐                  │
│              ▼               ▼               ▼                  │
│  ┌────────────────┐ ┌────────────────┐ ┌────────────────┐      │
│  │  SUBAGENT 1    │ │  SUBAGENT 2    │ │  SUBAGENT N    │      │
│  │  (Aspect A)    │ │  (Aspect B)    │ │  (Aspect N)    │      │
│  │                │ │                │ │                │      │
│  │ • web_search   │ │ • web_search   │ │ • web_search   │      │
│  │ • think(eval)  │ │ • think(eval)  │ │ • think(eval)  │      │
│  │ • complete     │ │ • complete     │ │ • complete     │      │
│  └────────────────┘ └────────────────┘ └────────────────┘      │
│              │               │               │                  │
│              └───────────────┼───────────────┘                  │
│                              ▼                                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                    CITATION AGENT                         │   │
│  │  • Process documents                                      │   │
│  │  • Identify citation locations                            │   │
│  │  • Insert inline citations [1], [2], etc.                │   │
│  │  • Generate references section                            │   │
│  └──────────────────────────────────────────────────────────┘   │
│                              │                                   │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                    MEMORY MODULE                          │   │
│  │  • save plan                                              │   │
│  │  • retrieve context                                       │   │
│  │  • persist findings                                       │   │
│  │  • track gaps                                             │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Related MCP server: PapersFlow

Process Flow

Based on Anthropic's sequence diagram:

User                LeadResearcher        Subagent1         Subagent2         Memory          CitationAgent
 │                       │                    │                 │                │                  │
 │──send user query────▶│                    │                 │                │                  │
 │                       │                    │                 │                │                  │
 │                       │◀─────────────────────────────────────────────────────│                  │
 │                       │  think(plan approach)                                │                  │
 │                       │                    │                 │                │                  │
 │                       │──save plan────────────────────────────────────────▶│                  │
 │                       │                    │                 │                │                  │
 │                       │──retrieve context──────────────────────────────────▶│                  │
 │                       │                    │                 │                │                  │
 │                       │                    │                 │                │                  │
 │                       │══════════════════════════════════════════════════════│                  │
 │                       │                 ITERATIVE RESEARCH LOOP              │                  │
 │                       │══════════════════════════════════════════════════════│                  │
 │                       │                    │                 │                │                  │
 │                       │──create subagent──▶│                 │                │                  │
 │                       │──create subagent────────────────────▶│                │                  │
 │                       │                    │                 │                │                  │
 │                       │                    │──web_search────▶│                │                  │
 │                       │                    │◀───results──────│                │                  │
 │                       │                    │                 │                │                  │
 │                       │                    │  think(evaluate)│                │                  │
 │                       │                    │                 │                │                  │
 │                       │◀──complete_task────│                 │                │                  │
 │                       │                    │                 │                │                  │
 │                       │                    │                 │──web_search───▶│                  │
 │                       │                    │                 │◀──results──────│                  │
 │                       │                    │                 │                │                  │
 │                       │                    │                 │ think(evaluate)│                  │
 │                       │                    │                 │                │                  │
 │                       │◀─────────────────────complete_task───│                │                  │
 │                       │                    │                 │                │                  │
 │                       │  think(synthesize results)           │                │                  │
 │                       │                    │                 │                │                  │
 │                       │         ┌─────────────────────┐      │                │                  │
 │                       │         │ More research needed?│      │                │                  │
 │                       │         └─────────────────────┘      │                │                  │
 │                       │              │           │           │                │                  │
 │                       │         [Continue]   [Exit Loop]     │                │                  │
 │                       │              │           │           │                │                  │
 │                       │══════════════════════════════════════════════════════│                  │
 │                       │                    │                 │                │                  │
 │                       │──complete_task (research result)────────────────────▶│                  │
 │                       │                    │                 │                │                  │
 │                       │                    │                 │                │──────────────────▶│
 │                       │                    │                 │                │  Process docs +   │
 │                       │                    │                 │                │  insert citations │
 │                       │◀───────────────────────────────────────────────────────────────────────│
 │                       │                    │                 │                │  Report with      │
 │                       │                    │                 │                │  citations        │
 │                       │──persist results──────────────────────────────────▶│                  │
 │                       │                    │                 │                │                  │
 │◀──return research─────│                    │                 │                │                  │
 │   results with        │                    │                 │                │                  │
 │   citations           │                    │                 │                │                  │

Key Features

1. True Subagent Spawning

Each aspect gets its own subagent that runs independently:

  • Generates aspect-specific queries

  • Executes web searches

  • Fetches full page content

  • Evaluates findings

  • Reports back to Lead Researcher

2. Think/Evaluate Phases

Explicit reasoning phases between iterations:

  • think(plan approach) - Decompose topic into aspects

  • think(evaluate) - Each subagent evaluates its findings

  • think(synthesize) - Lead Researcher combines all findings

3. Adaptive Stopping

Dynamic "More research needed?" decision:

  • Coverage score calculation (0-100%)

  • Configurable thresholds per depth level

  • Gap identification and filling

  • Exits early when coverage is sufficient

4. Aspect-Based Decomposition

Topics are broken into researchable aspects:

  • Basic: 2 aspects (overview, mechanism)

  • Moderate: 5 aspects (+use cases, benefits, challenges)

  • Comprehensive: 11 aspects (+history, comparisons, implementation, future, research, case studies)

5. Memory Module

Persistent context across iterations:

  • Research plan storage

  • Findings per aspect

  • Gap tracking

  • Iteration history

6. Citation Agent

Dedicated citation processing:

  • Assigns citation IDs by quality

  • Inserts inline citations [1], [2]

  • Generates references section

  • Groups by quality tier

Tools

Tool

Description

google_research

Full multi-agent research with all components

deep_search

Search + fetch full content (single iteration)

deep_search_news

News-specific deep search

fetch_page

Fetch single page content

google_search

Simple search (snippets only)

web_search

Search with quality scoring

research_session

Manual session management

run_subagent

Manually spawn a subagent

evaluate_coverage

Check coverage and gaps

add_source

Add source to session

get_citations

Format citations

Installation

{
  "mcpServers": {
    "google-research": {
      "command": "npx",
      "args": ["google-research-mcp"],
      "env": {
        "GOOGLE_API_KEY": "your-api-key",
        "GOOGLE_CX": "your-search-engine-id"
      }
    }
  }
}

Prerequisites

1. Google API Key

  1. Go to Google Cloud Console

  2. Enable "Custom Search API"

  3. Create an API Key

2. Search Engine ID (CX)

  1. Go to Programmable Search Engine

  2. Create engine with "Search the entire web"

  3. Copy the Search Engine ID

Usage Examples

Full Multi-Agent Research

"Research quantum computing with comprehensive depth"

This triggers the full architecture:

  1. Lead Researcher plans 11 aspects

  2. Spawns 3-4 subagents per iteration

  3. Each subagent researches in parallel

  4. Evaluates coverage after each iteration

  5. Continues until 90% coverage or max iterations

  6. Citation Agent processes final report

Manual Subagent Control

// Create session
research_session({ action: "create", topic: "AI safety", depth: "moderate" })

// Spawn specific subagents
run_subagent({ sessionId: "rs_xxx", aspect: "AI alignment techniques" })
run_subagent({ sessionId: "rs_xxx", aspect: "AI safety research organizations" })

// Check coverage
evaluate_coverage({ sessionId: "rs_xxx" })

// Generate final report
research_session({ action: "complete", sessionId: "rs_xxx" })

Depth Levels

Depth

Iterations

Aspects

Coverage Threshold

Min Sources/Aspect

basic

2

2

60%

2

moderate

3

5

75%

3

comprehensive

4

11

90%

5

Source Quality Scoring

Based on Anthropic's source quality heuristics:

Score

Tier

Examples

10

Primary

.gov, .edu, arxiv, nature.com, PubMed, official docs

8-9

Authoritative

Wikipedia, Reuters, BBC, NYT, WSJ

7

Quality

Stack Overflow, TechCrunch, Wired

5-6

General

Medium, Dev.to, Substack

1-4

Low

Pinterest, Facebook, Twitter (deprioritized)

Changelog

v2.0.0 - Multi-Agent Architecture (Anthropic Compliant)

  • NEW: True subagent spawning - Parallel workers for different aspects

  • NEW: Think/Evaluate phases - Explicit reasoning between iterations

  • NEW: Adaptive stopping - Dynamic "More research needed?" decision

  • NEW: Aspect-based decomposition - Topics broken into researchable aspects

  • NEW: Memory module - Persistent context across iterations

  • NEW: Citation Agent - Dedicated citation processing with inline insertion

  • NEW: run_subagent tool - Manual subagent control

  • NEW: evaluate_coverage tool - Check coverage and gaps

  • NEW: deep_search_news tool - News-specific deep search

  • Improved report generation with subagent reports

  • Full iteration history tracking

v1.2.0 - Deep Research Edition

  • Full page content fetching

  • Readability-style extraction

  • Source quality scoring

v1.0.0

  • Initial release

License

MIT

Available Tools

11 tools
add_sourceC

Add a source to a research session after fetching its content.

Inputs: url (required), title (required), sessionId (required), fetchContent.

deep_search_newsA

Searches for recent news articles on a topic, fetches full article content, and returns consolidated results. Optimized for news and current events.

Inputs: query (required), num_results, max_content_per_page.

evaluate_coverageB

Evaluate the current research coverage and identify gaps. This implements the "More research needed?" decision point from Anthropic's architecture.

Inputs: sessionId (required).

fetch_pageA

Fetch and extract the full readable content from a single URL. Uses Readability-style extraction to get the main content, removing navigation, ads, etc.

Inputs: url (required), max_length.

get_citationsA

Get formatted citations from a research session. Supports markdown, numbered, and APA formats.

Inputs: sessionId (required), format.

google_researchA

Perform extensive DEEP research on a topic using Anthropic's Multi-Agent Research Architecture.

This tool implements the FULL multi-agent system:

  1. Lead Researcher (Orchestrator): Plans approach, coordinates subagents, synthesizes results

  2. Search Subagents: Parallel workers for different aspects (spawned dynamically)

  3. Citation Agent: Processes documents and inserts inline citations

  4. Memory Module: Persists context, findings, and gaps across iterations

Process Flow:

  1. Think (Plan Approach) - Decompose topic into aspects

  2. Create Subagents - Spawn parallel workers for each aspect

  3. Execute Research - Each subagent: web_search → think(evaluate) → complete_task

  4. Think (Synthesize) - Combine findings, calculate coverage

  5. Evaluate - "More research needed?" decision with adaptive stopping

  6. Citation Agent - Process report and insert citations

  7. Return Final Report

Depth Levels:

  • basic: 2 iterations max, 2 aspects, ~60% coverage threshold

  • moderate: 3 iterations max, 5 aspects, ~75% coverage threshold

  • comprehensive: 4 iterations max, 11 aspects, ~90% coverage threshold

Inputs: topic (required), depth, max_content_per_page.

research_sessionA

Create or manage a research session for multi-step research workflows.

Actions:

  • create: Start a new session with Lead Researcher planning

  • status: Check session progress, subagents, and coverage

  • complete: Generate final report with citations

Inputs: action (required), depth, topic, sessionId.

run_subagentA

Manually spawn and run a subagent for a specific research aspect. This allows fine-grained control over the multi-agent research process.

The subagent will:

  1. Generate queries for the aspect

  2. Execute web searches

  3. Fetch full page content

  4. Evaluate findings

  5. Return results

Inputs: aspect (required), sessionId (required), max_content_per_page.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 11 tools

    Disambiguation3/5

    Most tools are distinct, but google_search and web_search both provide simple search with subtle differences, and deep_search vs google_research overlap as deep research options. Descriptions help, but an agent might struggle to choose between them.

    Naming Consistency3/5

    All names are snake_case, but the pattern mixes noun-first names (google_search, web_search, research_session, deep_search) with verb-first names (fetch_page, add_source, get_citations, run_subagent, evaluate_coverage). This is readable but not fully consistent.

    Tool Count5/5

    With 11 tools covering search, full-content extraction, multi-agent research, session management, citations, and subagent coordination, the count is well-scoped for the server's purpose and each tool generally has a place.

    Completeness5/5

    The tool set covers the entire research workflow: simple search, deep search, news search, URL fetching, session lifecycle, source addition, citation generation, subagent execution, and coverage evaluation. No critical gaps are apparent.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      A multi-model research agent platform supporting Claude, Gemini, and OpenAI models with web search capabilities, thinking-enabled features, and citation support for advanced research workflows.
      6
      -
    • A
      license
      A
      quality
      D
      maintenance
      A multi-agent research system that decomposes complex queries into targeted sub-questions, searches the web in parallel, scores source credibility, and synthesizes findings into structured markdown reports.
      1
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Implements Anthropic's multi-agent research methodology with tools for iterative web search, source quality scoring, citation tracking, and quality-tiered report generation.
      2 npm
      2
      MIT