Deep Research MCP Server
Search, fetch metadata, and download full-text papers from arXiv.
Store downloaded PDFs and summaries to Google Drive.
Search for scholarly papers using Google Scholar.
Search and retrieve metadata from PubMed.
Search papers, fetch metadata, analyze citation networks and publication trends.
Click on "Install 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 Serverfind recent papers on transformer architectures"
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.
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.
Related MCP server: pubmed-search-mcp
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 textOptional:
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 contentOptional:
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 contentOptional:
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 summarizeOptional:
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 compareOptional:
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 identifiersOptional:
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 analysisOptional:
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 contentOptional:
folder_id- Google Drive folder ID to store inOptional:
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 textOptional:
sources- List of sources to searchOptional:
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 testOptional:
query- Search query to use for testingOptional:
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 paperOptional:
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 queryOptional:
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-separatedOptional:
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:
For Google Drive integration:
Create a
deepresearch_credentials.jsonfile with your Google API credentialsThe first time you use Drive features, it will prompt for authentication
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:
Using the Python module:
python -m deepresearchUsing the start_server script:
python start_server.pyConnecting to Claude Desktop
To use the server with Claude Desktop:
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"
}
}
}Replace
/path/to/python3with the path to your Python executableReplace
/path/to/mcp-deepresearchwith the absolute path to your projectRestart Claude Desktop
Select "deepresearch" from the MCP server dropdown in Claude Desktop
Example Usage
Here's how you might use this MCP server with Claude:
Search for papers on a topic:
@deepresearch search_papers(query="Transformer protein folding")Fetch metadata and download a paper:
@deepresearch fetch_paper_metadata(paper_id="arxiv:2106.14843") @deepresearch download_fulltext(paper_id="arxiv:2106.14843")Generate a summary:
@deepresearch summarize_document(document=<pdf content>, content_type="pdf")Extract relationships:
@deepresearch extract_relations(paper_id="arxiv:2106.14843")Analyze citation network:
@deepresearch get_citation_graph(paper_ids=["arxiv:2106.14843"], depth=2)Compare papers:
@deepresearch compare_papers(paper_ids=["arxiv:2106.14843", "arxiv:2103.12116"])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@latestUpon 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:
test_connectors.py: Basic validation for all connectorstest_connectors_download.py: Enhanced version for the full search-to-download pipelinetest_google_scholar_fix.py: Specialized test for the Google Scholar connectortest_semantic_scholar_direct.py: Direct test for Semantic Scholar API
Common Issues and Solutions
Google Scholar:
PDF download limitations are addressed by extracting ArXiv IDs for papers also hosted on ArXiv
Semantic Scholar:
Rate limiting issues are handled with API keys and retry logic
General Connectivity:
Use
--connectorparameter to test specific connectorsFor detailed debugging, use specialized test scripts
Contributing
For contributions, please follow these guidelines:
Create a feature branch for new development
Add unit tests for new functionality
Ensure existing tests pass
Submit a pull request with detailed description
License
This project is released under the MIT License. See the LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wlu03/mcp-deepresearch'
If you have feedback or need assistance with the MCP directory API, please join our Discord server