Semantic Scholar MCP Server
Allows searching and retrieving academic papers, authors, citations, and references from Semantic Scholar's API.
Click on "Deploy 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., "@Semantic Scholar MCP Serversearch for recent papers on quantum computing"
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.
Semantic Scholar MCP Server
Remote MCP server with Streamable HTTP transport for Semantic Scholar API access.
Features
π Streamable HTTP Transport - Remote MCP server accessible anywhere
πΎ SQLite Caching - Persistent cache with TTL-based expiration
π¦ Rate Limiting - Token bucket algorithm to prevent API quota exhaustion
π Metrics - Prometheus-compatible metrics endpoint
π Structured Logging - JSON logs with request IDs
π Security - API key via environment variable only (no CLI exposure)
Related MCP server: semantic-scholar-mcp
Quick Start
Installation
# Clone the repository
git clone https://github.com/your-org/semantic-scholar-mcp.git
cd semantic-scholar-mcp
# Install dependencies
npm install
# Build TypeScript
npm run buildConfiguration
Set environment variables:
# Required: Semantic Scholar API key (get from https://www.semanticscholar.org/product/api)
export SEMANTIC_SCHOLAR_API_KEY="your-api-key"
# Optional: Server configuration
export PORT=3000
export HOST="0.0.0.0"
export LOG_LEVEL="info"
# Optional: Cache configuration
export CACHE_TTL_DAYS=7
export CACHE_MAX_SIZE=1073741824
# Optional: Rate limiting
export RATE_LIMIT_REQUESTS_PER_MINUTE=10
export RATE_LIMIT_BURST_SIZE=5Running
# Production
npm start
# Development (with hot reload)
npm run devAuthentication
Simple API Key (Default)
Uses environment variable for authentication. Good for personal use.
export SEMANTIC_SCHOLAR_API_KEY="your-api-key"OAuth 2.1 (Enterprise)
For production multi-user deployments, use the OAuth 2.1 pattern:
Reusable OAuth Pattern: https://github.com/truaxki/mcp-oauth-pattern
The OAuth pattern provides:
OAuth 2.1 authentication with Supabase
Bearer token middleware
Consent page for user authorization
Per-user rate limiting (optional)
To add OAuth to this server:
Copy
src/auth.ts,src/logger.tsfrom OAuth patternReplace API key auth with Bearer token middleware
Configure Supabase environment variables
Connect from Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"semantic-scholar": {
"type": "streamable-http",
"url": "http://your-server:3000"
}
}
}Endpoints
Endpoint | Description |
| MCP protocol handler |
| Health check |
| Prometheus metrics |
Available Tools
Tool | Description |
| Search for papers with filters |
| Get paper details by ID |
| Get authors for a paper |
| Get papers that cite a paper |
| Get papers referenced by a paper |
| Fetch multiple papers efficiently |
| View cache statistics |
| Clear cached data |
Deployment
Docker
# Build image
docker build -t semantic-scholar-mcp .
# Run container
docker run -d \
--name semantic-scholar-mcp \
-p 3000:3000 \
-e SEMANTIC_SCHOLAR_API_KEY="your-key" \
semantic-scholar-mcpRailway Deployment
One-click deploy:
Manual deployment:
Connect repository
Go to Railway and sign in
Click "New Project" β "Deploy from GitHub repo"
Select
truaxki/semantic-scholar-mcp
Configure environment variables
In Railway dashboard, go to your service's "Variables" tab
Add:
SEMANTIC_SCHOLAR_API_KEY=your-api-key-here LOG_LEVEL=info PORT=3000
Deploy
Railway automatically detects Node.js and builds
Deploys with Streamable HTTP on port 3000
Gets free HTTPS endpoint automatically
Connect from Claude Code
{ "mcpServers": { "semantic-scholar": { "type": "streamable-http", "url": "https://your-service.up.railway.app/mcp" } } }
Railway pricing: Free tier available, $5/month for dedicated resources.
Manual Server (srv1338041)
# SSH to server
ssh user@srv1338041
# Clone and build
git clone your-repo
cd semantic-scholar-mcp
npm install
npm run build
# Create systemd service (see deploy/semantic-scholar-mcp.service)
sudo cp deploy/semantic-scholar-mcp.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable semantic-scholar-mcp
sudo systemctl start semantic-scholar-mcpArchitecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Semantic Scholar MCP Server β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββ β
β β Express ββββΆβ MCP SDK ββββΆβ Tools β β
β β HTTP β β Server β β Registry β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββ β
β β β β
β βΌ βΌ β
β ββββββββββββββββ ββββββββββββββββ β
β β Logging β β Cache β β
β β (Pino) β β (SQLite) β β
β ββββββββββββββββ ββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β β
βΌ βΌ βΌ
HTTPS Endpoint Persistent Cache Rate Limited APIAPI Key
Get your free Semantic Scholar API key from: https://www.semanticscholar.org/product/api
Free tier: 100 requests/day
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Academic research MCP server for paper search, citation checks, graphs, and deep research.
Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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.16-
- FlicenseAqualityDmaintenanceAn MCP server that provides access to Semantic Scholar's academic paper database, enabling paper search, detailed retrieval, author info, and citation export.410-
- AlicenseBqualityDmaintenanceMCP server that provides Semantic Scholar academic search capabilities, including paper search, detail query, citation analysis, author search, and intelligent recommendations.959 npm7MIT
- FlicenseAqualityDmaintenanceEnables searching and retrieving academic papers, authors, citations, and recommendations from Semantic Scholar via MCP.9-