This server connects Claude to Semantic Scholar's academic database via HTTP transport, exposing 12 tools for literature research. You get natural language paper search, exact title matching, author lookups, citation network traversal, and text snippet search across millions of papers. It also includes AI-powered recommendation endpoints that take positive and negative example papers to suggest relevant research. The batch operations let you fetch multiple papers or authors in one call. Reach for this when you need to automate literature reviews, map citation networks, or build research workflows that pull from academic databases. Built with FastMCP and includes one-click Smithery installation for Claude Desktop, Cursor, and other clients.
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, pydantic, uvicorn, httpx, anyioThis server now implements the MCP Streamable HTTP transport protocol, providing:
The server uses FastMCP for seamless MCP protocol compliance and optimal performance.
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 MCP Streamable HTTP server:
python 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-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.
hovecapital/read-only-local-postgres-mcp-server
cocaxcode/database-mcp
io.github.infoinlet-marketplace/mcp-mysql
io.github.cybeleri/database-admin
io.github.yash-0620/postgres-mcp-secured