Deep Research MCP Server

Deep Research MCP Server

An advanced scholarly research MCP server that enables AI assistants to discover, fetch, process, and manage academic papers across multiple sources like arXiv, PubMed, and Semantic Scholar, with capabilities for summarization, citation analysis, and concept relationship extraction.

Category
访问服务器

README

Deep Research MCP Server

An advanced scholarly research MCP server that provides a uniform set of tools for discovering, fetching, processing, and managing scholarly content across multiple sources.

Overview

Deep Research is a Model Context Protocol (MCP) server that enables AI assistants like Claude to access and process scholarly literature from multiple sources, generate summaries, analyze citation networks, extract relationships between concepts, and more.

Scholarly Sources

The server integrates with multiple academic repositories:

  • arXiv
  • PubMed
  • Semantic Scholar
  • Google Scholar
  • Google Drive (for document storage) (wip, annoying to setup)

Core Capabilities

  • Cross-source paper search: Find papers across multiple repositories with a single query
  • Full-text retrieval: Download and process complete academic papers
  • AI-powered analysis: Generate structured summaries, highlight key information, and extract relationships
  • Citation network analysis: Build and explore citation graphs
  • Document management: Store research papers and notes to Google Drive

MCP Tools

Paper Search and Retrieval

search_papers

Search multiple scholarly sources for papers matching a query.

  • Required: query - Search query text
  • Optional: sources - List of sources to search (default: all)
  • Optional: max_results - Maximum number of results (default: 20)
  • Optional: sort_by - Sorting criteria (default: relevance)

fetch_paper_metadata

Fetch detailed metadata for a given paper ID.

  • Required: paper_id - Paper identifier (e.g., 'arxiv:2104.08935')

download_fulltext

Retrieve or download the PDF full text for a given paper ID.

  • Required: paper_id - Paper identifier

Content Processing

summarize_document

Generate a structured summary (background, methods, results, conclusions).

  • Required: document - Document text or base64-encoded PDF content
  • Optional: content_type - Type of content provided (default: text)
  • Optional: paper_id - Paper ID for additional context

annotate_highlights

Highlight key sentences and extract keywords from a document.

  • Required: document - Document text or base64-encoded PDF content
  • Optional: content_type - Type of content provided (default: text)
  • Optional: paper_id - Paper ID for additional context

extract_relations

Extract relationships between concepts in a scholarly paper.

  • Required: paper_id - Paper identifier

summarize_section

Generate a focused summary of a specific section in a scholarly paper.

  • Required: document - Document content (text or base64-encoded PDF)
  • Required: section_name - Name of the section to summarize
  • Optional: content_type - Type of content provided (default: text)
  • Optional: paper_id - Paper ID for additional context

compare_papers

Compare multiple scholarly papers to highlight similarities and differences.

  • Required: paper_ids - List of paper identifiers to compare
  • Optional: abstracts_only - Whether to use only abstracts (default: false)

Citation Analysis

get_citation_graph

Return citation relationships for a given paper or set of papers.

  • Required: paper_ids - List of paper identifiers
  • Optional: depth - Depth of citation graph (default: 1)
  • Optional: max_citations - Maximum number of citations to return (default: 20)
  • Optional: direction - Direction of citation relationships (default: both)

analyze_trends

Analyze publication trends over time, identify emerging topics, and plot term frequencies.

  • Required: query - Search query to find papers for trend analysis
  • Optional: max_papers - Maximum number of papers to analyze (default: 100)

Storage

store_to_drive

Save fetched PDFs and summaries to Google Drive.

  • Required: document - Base64-encoded PDF content
  • Optional: folder_id - Google Drive folder ID to store in
  • Optional: paper_id - Paper ID for better organization

API Testing Tools

search_apis

Search across multiple scholarly API sources with a single query.

  • Required: query - The search query text
  • Optional: sources - List of sources to search
  • Optional: max_results - Maximum number of results to return per source

test_api_connector

Test a specific API connector and return diagnostics.

  • Required: connector - The connector to test
  • Optional: query - Search query to use for testing
  • Optional: max_results - Maximum number of results to return

download_paper

Download a paper by its ID from the appropriate source.

  • Required: paper_id - The ID of the paper
  • Optional: save_directory - Directory to save the PDF

Specialized MCP Prompts

research_assistant

Ask a research assistant to help with scholarly papers.

  • Required: topic - Research topic or query
  • Optional: detail_level - Level of detail (basic/comprehensive)

citation_analyzer

Analyze the citation graph and relationships of papers.

  • Required: paper_ids - Paper IDs to analyze, comma-separated
  • Optional: analysis_focus - Focus of the analysis (influence, trends, gaps)

Advanced Features

Concept Relationship Extraction

Extract explicit relationships between concepts mentioned in scientific papers:

  • Causal relationships (X causes Y, X inhibits Y)
  • Comparative relationships (Algorithm A outperforms B)
  • Correlative relationships (X is associated with Y)
  • Compositional relationships (X consists of Y)

Section-Specific Paper Summarization

Generate focused summaries of specific sections in a scholarly paper:

  • Target individual sections (Introduction, Methods, Results, Discussion)
  • Get detailed summaries that focus on the specific content of that section

Paper Comparison Tool

Compare multiple papers to highlight similarities and differences across:

  • Research questions and goals
  • Methodologies and approaches
  • Key findings and results
  • Limitations of each study
  • Future directions suggested by the authors

Publication Trend Analysis

Analyze research trends across the literature:

  • Track publication volume over time
  • Identify emerging topics via n-gram frequency analysis
  • Find frequent authors in the research area
  • Analyze distribution of papers across sources
  • Discover term frequencies to understand key concepts

Installation & Setup

Installation

First, clone this repository and install the package:

# Clone the repository
git clone https://github.com/yourusername/mcp-deepresearch.git
cd mcp-deepresearch

# Install the package in development mode
pip install -e .

Configuration

The server requires configuration for API keys and credentials:

  1. For Google Drive integration:

    • Create a deepresearch_credentials.json file with your Google API credentials
    • The first time you use Drive features, it will prompt for authentication
  2. For API rate limits:

    • Some sources (especially Google Scholar) may require proxies for high-volume usage

Starting the Server

You can run the server in two ways:

  1. Using the Python module:
python -m deepresearch
  1. Using the start_server script:
python start_server.py

Connecting to Claude Desktop

To use the server with Claude Desktop:

  1. Edit the Claude Desktop configuration file (located at ~/Library/Application Support/Claude/claude_desktop_config.json):
{
    "mcpServers": {
        "deepresearch": {
            "command": "/path/to/python3",
            "args": [
                "-m",
                "deepresearch"
            ],
            "workingDir": "/path/to/mcp-deepresearch"
        }
    }
}
  1. Replace /path/to/python3 with the path to your Python executable
  2. Replace /path/to/mcp-deepresearch with the absolute path to your project
  3. Restart Claude Desktop
  4. Select "deepresearch" from the MCP server dropdown in Claude Desktop

Example Usage

Here's how you might use this MCP server with Claude:

  1. Search for papers on a topic:

    @deepresearch search_papers(query="Transformer protein folding")
    
  2. Fetch metadata and download a paper:

    @deepresearch fetch_paper_metadata(paper_id="arxiv:2106.14843")
    @deepresearch download_fulltext(paper_id="arxiv:2106.14843")
    
  3. Generate a summary:

    @deepresearch summarize_document(document=<pdf content>, content_type="pdf")
    
  4. Extract relationships:

    @deepresearch extract_relations(paper_id="arxiv:2106.14843")
    
  5. Analyze citation network:

    @deepresearch get_citation_graph(paper_ids=["arxiv:2106.14843"], depth=2)
    
  6. Compare papers:

    @deepresearch compare_papers(paper_ids=["arxiv:2106.14843", "arxiv:2103.12116"])
    
  7. Save to Google Drive:

    @deepresearch store_to_drive(document=<pdf content>, paper_id="arxiv:2106.14843")
    

Debugging

You can debug the server using the Model Context Protocol Inspector:

npx @anthropic-ai/mcp-inspector@latest

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

Connector Testing

The project includes several test scripts for validating the functionality of connectors:

  1. test_connectors.py: Basic validation for all connectors
  2. test_connectors_download.py: Enhanced version for the full search-to-download pipeline
  3. test_google_scholar_fix.py: Specialized test for the Google Scholar connector
  4. test_semantic_scholar_direct.py: Direct test for Semantic Scholar API

Common Issues and Solutions

  1. Google Scholar:

    • PDF download limitations are addressed by extracting ArXiv IDs for papers also hosted on ArXiv
  2. Semantic Scholar:

    • Rate limiting issues are handled with API keys and retry logic
  3. General Connectivity:

    • Use --connector parameter to test specific connectors
    • For detailed debugging, use specialized test scripts

Contributing

For contributions, please follow these guidelines:

  1. Create a feature branch for new development
  2. Add unit tests for new functionality
  3. Ensure existing tests pass
  4. Submit a pull request with detailed description

License

This project is released under the MIT License. See the LICENSE file for details.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选