ResearchMCP is an AI-powered research assistant that provides access to OpenAlex's database of 250M+ academic papers without requiring an API key. It offers:
Search & Retrieval: Search papers by topic/keywords with optional filters for publication year and result limits, and retrieve full abstracts and metadata using OpenAlex IDs.
Analysis Tools: Extract key claims, findings, research questions, methodology, and conclusions from paper abstracts in structured format.
Comparative Analysis: Compare 2-5 papers simultaneously to identify agreements, contradictions, and consensus across research findings.
Citation Networks: Explore citation relationships to see what papers cite a work and what it references.
Research Gap Finder: Identify unanswered questions, methodological limitations, understudied areas, and emerging research opportunities by analyzing multiple papers.
Key advantages: Live access to up-to-date research, no infrastructure costs (no vector databases or embeddings needed), and cost-effective exploration through Claude Desktop integration.
ResearchMCP - AI-Powered Research Paper Assistant
An MCP (Model Context Protocol) server that helps analyze academic papers by fetching research from OpenAlex's database of 250M+ papers.
Features
Search Papers: Search for academic papers by topic/keywords with advanced filtering
Extract Claims: Automatically extract key findings and research claims from papers
Compare Papers: Identify contradictions and consensus across multiple papers
Citation Analysis: Explore citation networks to discover related research
Research Gap Finder: Analyze multiple papers to identify gaps and future research opportunities
Powered by OpenAlex API (millions of papers, no API key needed!)
Tools
search_papers
Search for academic papers on OpenAlex.
Parameters:
query(string, required): Research topic or keywordsmax_results(int, optional): Maximum papers to return (default: 5)year_from(int, optional): Only papers from this year onwards
Example: "Search for papers on transformer models in NLP"
get_paper_abstract
Get the full abstract for a specific paper.
Parameters:
paper_id(string, required): OpenAlex paper ID from search results
Example: "Get abstract for paper W2964027837"
extract_claims
Extract key claims and findings from a paper's abstract.
Parameters:
paper_id(string, required): OpenAlex paper ID
Returns: Structured extraction of research questions, methodology, findings, and conclusions
Example: "Extract claims from paper W2964027837"
compare_papers
Compare claims across multiple papers to find contradictions and consensus.
Parameters:
paper_ids(string, required): Comma-separated list of paper IDs (2-5 papers)
Returns: Comparative analysis showing agreements, contradictions, and research gaps
Example: "Compare these papers: W2964027837, W3177828909, W2123456789"
get_citations
Get citation network for a paper - see what cites it and what it references.
Parameters:
paper_id(string, required): OpenAlex paper IDdirection(string, optional): "cited_by", "references", or "both" (default: "both")max_results(int, optional): Maximum citations per direction (default: 10)
Returns: Lists of papers that cite this work and papers it references
Example: "Show me the citation network for W2964027837"
find_research_gaps
Analyze multiple papers on a topic to identify research gaps and unanswered questions.
Parameters:
query(string, required): Research topic to analyzenum_papers(int, optional): Number of papers to analyze (default: 5, max: 10)
Returns: Comprehensive gap analysis including:
Unanswered research questions
Methodological limitations
Understudied areas
Contradictions requiring further investigation
Emerging research opportunities
Example: "Find research gaps in transformer architecture optimization"
Installation
Option 1: Deploy to FastMCP Cloud (Recommended)
Clone the repository:
Deploy to FastMCP Cloud:
Set the entrypoint as:
src/server.pyConnect to Claude Desktop by adding to your MCP settings
Option 2: Run Locally
Usage with Claude Desktop
Once deployed or running locally, you can use natural language prompts in Claude Desktop:
Search for papers:
"Search for recent papers on quantum computing"
"Find papers about CRISPR gene editing from 2020 onwards"
Analyze specific papers:
"Extract the key claims from paper W2964027837"
"Get the abstract for paper W3177828909"
Compare research:
"Compare these papers: W2964027837, W3177828909"
"What do these papers agree and disagree on?"
Explore citations:
"Show me what papers cite W2964027837"
"What papers does W2964027837 reference?"
Find research gaps:
"Find research gaps in transformer architecture optimization"
"What are the unanswered questions in climate change modeling?"
Architecture
ResearchMCP uses a clean separation of concerns architecture:
server.py: MCP server that defines tools available to Claude Desktop
paper_fetcher.py: Worker class handling all OpenAlex API interactions
This design pattern ensures:
Clean code organization
Easy maintenance and testing
Separation between tool orchestration and API logic
Technology Stack
FastMCP: Python framework for building MCP servers
OpenAlex API: Access to 250M+ academic papers with no API key required
httpx: Modern async-capable HTTP client
Python 3.12+: Type hints and modern Python features
Why MCP over RAG?
Traditional RAG systems require:
Pre-indexing large document collections
Vector database setup and maintenance
Embedding generation costs
Limited to pre-indexed documents
ResearchMCP with MCP:
Live access to 250M+ papers without pre-indexing
No infrastructure - no vector databases needed
Always up-to-date - accesses latest published research
Cost-effective - no embedding generation costs
Tool orchestration - Claude intelligently chains multiple API calls
Contributing
Contributions are welcome! Feel free to submit issues or pull requests.
License
MIT License - feel free to use this project for your research needs!