
Semantic Scholar
STDIOAcademic research database access through Semantic Scholar API integration for AI assistants.
Academic research database access through Semantic Scholar API integration for AI assistants.
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.
requests
, mcp
, bs4
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 "{}"
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
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": [] } } }
{ "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": [] } } }
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]
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" ] } } }
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 |
# Search for papers on machine learning results = await search_semantic_scholar("machine learning", num_results=5)
# Find authors working on natural language processing authors = await search_semantic_scholar_authors("natural language processing")
# Get citation network for a specific paper citations = await get_semantic_scholar_citations_and_references("paper_id_here")
# 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 )
# Find papers similar to a specific research work similar_papers = await get_semantic_scholar_paper_recommendations( paper_id="target_paper_id", limit=15 )
# Search for specific text content within papers snippets = await search_semantic_scholar_snippets( query="neural network optimization", limit=10 )
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
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 integrationWe welcome contributions from the community! Here's how you can help:
git checkout -b feature/amazing-feature
git commit -m 'Add amazing feature'
git push origin feature/amazing-feature
This project is licensed under the MIT License - see the LICENSE file for details.