Semantic Scholar MCP Server
A comprehensive Model Context Protocol server that provides AI assistants with direct access to Semantic Scholar's academic database, enabling advanced paper discovery, citation analysis, author research, and AI-powered recommendations.
README
📚 Semantic Scholar MCP Server
A comprehensive Model Context Protocol (MCP) server for seamless integration with Semantic Scholar's academic database
Maintainer: @alperenkocyigit
This powerful MCP server bridges the gap between AI assistants and academic research by providing direct access to Semantic Scholar's comprehensive database. Whether you're conducting literature reviews, exploring citation networks, or seeking academic insights, this server offers a streamlined interface to millions of research papers.
🌟 What Can You Do?
🔍 Advanced Paper Discovery
- Smart Search: Find papers using natural language queries
- Bulk Operations: Process multiple papers simultaneously
- Autocomplete: Get intelligent title suggestions as you type
- Precise Matching: Find exact papers using title-based search
🎯 AI-Powered Recommendations
- Smart Paper Recommendations: Get personalized paper suggestions based on your interests
- Multi-Example Learning: Use multiple positive and negative examples to fine-tune recommendations
- Single Paper Similarity: Find papers similar to a specific research work
- Relevance Scoring: AI-powered relevance scores for better paper discovery
👥 Author Research
- Author Profiles: Comprehensive author information and metrics
- Bulk Author Data: Fetch multiple author profiles at once
- Author Search: Discover researchers by name or affiliation
📊 Citation Analysis
- Citation Networks: Explore forward and backward citations
- Reference Mapping: Understand paper relationships
- Impact Metrics: Access citation counts and paper influence
💡 Content Discovery
- Text Snippets: Search within paper content
- Contextual Results: Find relevant passages and quotes
- Full-Text Access: When available through Semantic Scholar
🛠️ Quick Setup
System Requirements
- Python: 3.10 or higher
- Dependencies:
requests,mcp,bs4 - Network: Stable internet connection for API access
🚀 Installation Options
⚡ One-Click Install with Smithery
For Claude Desktop:
npx -y @smithery/cli@latest install @alperenkocyigit/semantic-scholar-graph-api --client claude --config "{}"
For Cursor IDE:
Navigate to Settings → Cursor Settings → MCP → Add new server and paste:
npx -y @smithery/cli@latest run @alperenkocyigit/semantic-scholar-graph-api --client cursor --config "{}"
For Windsurf:
npx -y @smithery/cli@latest install @alperenkocyigit/semantic-scholar-graph-api --client windsurf --config "{}"
For Cline:
npx -y @smithery/cli@latest install @alperenkocyigit/semantic-scholar-graph-api --client cline --config "{}"
🔧 Manual Installation
-
Clone the repository:
git clone https://github.com/alperenkocyigit/semantic-scholar-graph-api.git cd semantic-scholar-graph-api -
Install dependencies:
pip install -r requirements.txt -
Run the server:
python semantic_scholar_server.py
🔧 Configuration Guide
Local Setups
Claude Desktop Setup
macOS/Linux Configuration:
Add to your claude_desktop_config.json:
{
"mcpServers": {
"semanticscholar": {
"command": "python",
"args": ["/path/to/your/semantic_scholar_server.py"]
}
}
}
Windows Configuration:
{
"mcpServers": {
"semanticscholar": {
"command": "C:\\Users\\YOUR_USERNAME\\miniconda3\\envs\\mcp_server\\python.exe",
"args": ["D:\\path\\to\\your\\semantic_scholar_server.py"],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Cline Integration
{
"mcpServers": {
"semanticscholar": {
"command": "bash",
"args": [
"-c",
"source /path/to/your/.venv/bin/activate && python /path/to/your/semantic_scholar_server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Remote Setups
Auto Configuration
npx -y @smithery/cli@latest install @alperenkocyigit/semantic-scholar-graph-api --client <valid-client-name> --key <your-smithery-api-key>
Valid client names: [claude,cursor,vscode,boltai]
Json Configuration
macOS/Linux Configuration:
{
"mcpServers": {
"semantic-scholar-graph-api": {
"command": "npx",
"args": [
"-y",
"@smithery/cli@latest",
"run",
"@alperenkocyigit/semantic-scholar-graph-api",
"--key",
"your-smithery-api-key"
]
}
}
}
Windows Configuration:
{
"mcpServers": {
"semantic-scholar-graph-api": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@alperenkocyigit/semantic-scholar-graph-api",
"--key",
"your-smithery-api-key"
]
}
}
}
WSL Configuration:
{
"mcpServers": {
"semantic-scholar-graph-api": {
"command": "wsl",
"args": [
"npx",
"-y",
"@smithery/cli@latest",
"run",
"@alperenkocyigit/semantic-scholar-graph-api",
"--key",
"your-smithery-api-key"
]
}
}
}
🎯 Available Tools
| Tool | Description | Use Case |
|---|---|---|
search_semantic_scholar |
Search papers by query | Literature discovery |
search_semantic_scholar_authors |
Find authors by name | Researcher identification |
get_semantic_scholar_paper_details |
Get comprehensive paper info | Detailed analysis |
get_semantic_scholar_author_details |
Get author profiles | Author research |
get_semantic_scholar_citations_and_references |
Fetch citation network | Impact analysis |
get_semantic_scholar_paper_match |
Find exact paper matches | Precise searching |
get_semantic_scholar_paper_autocomplete |
Get title suggestions | Smart completion |
get_semantic_scholar_papers_batch |
Bulk paper retrieval | Batch processing |
get_semantic_scholar_authors_batch |
Bulk author data | Mass analysis |
search_semantic_scholar_snippets |
Search text content | Content discovery |
get_semantic_scholar_paper_recommendations_from_lists |
Get recommendations from positive/negative examples | AI-powered discovery |
get_semantic_scholar_paper_recommendations |
Get recommendations from single paper | Similar paper finding |
💡 Usage Examples
Basic Paper Search
# Search for papers on machine learning
results = await search_semantic_scholar("machine learning", num_results=5)
Author Research
# Find authors working on natural language processing
authors = await search_semantic_scholar_authors("natural language processing")
Citation Analysis
# Get citation network for a specific paper
citations = await get_semantic_scholar_citations_and_references("paper_id_here")
🆕 AI-Powered Paper Recommendations
Multi-Example Recommendations
# Get recommendations based on multiple positive and negative examples
positive_papers = ["paper_id_1", "paper_id_2", "paper_id_3"]
negative_papers = ["bad_paper_id_1", "bad_paper_id_2"]
recommendations = await get_semantic_scholar_paper_recommendations_from_lists(
positive_paper_ids=positive_papers,
negative_paper_ids=negative_papers,
limit=20
)
Single Paper Similarity
# Find papers similar to a specific research work
similar_papers = await get_semantic_scholar_paper_recommendations(
paper_id="target_paper_id",
limit=15
)
Content Discovery
# Search for specific text content within papers
snippets = await search_semantic_scholar_snippets(
query="neural network optimization",
limit=10
)
📂 Project Architecture
semantic-scholar-graph-api/
├── 📄 README.md # Project documentation
├── 📋 requirements.txt # Python dependencies
├── 🔍 search.py # Core API interaction module
├── 🖥️ server.py # MCP server implementation
└── 🗂️ __pycache__/ # Compiled Python files
Core Components
search.py: Handles all interactions with the Semantic Scholar API, including rate limiting, error handling, and data processingserver.py: Implements the MCP server protocol and exposes tools for AI assistant integration
🤝 Contributing
We welcome contributions from the community! Here's how you can help:
Ways to Contribute
- 🐛 Bug Reports: Found an issue? Let us know!
- 💡 Feature Requests: Have ideas for improvements?
- 🔧 Code Contributions: Submit pull requests
- 📖 Documentation: Help improve our docs
Development Setup
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and test thoroughly
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Semantic Scholar Team for providing the excellent API
- Model Context Protocol community for the framework
- Contributors who help improve this project
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Maintainer: @alperenkocyigit
<div align="center"> <strong>Made with ❤️ for the research community</strong> <br> <sub>Empowering AI agents with academic knowledge</sub> </div>
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.