Semantic Scholar MCP Server
Allows searching and retrieving academic papers, authors, citations, and references from Semantic Scholar's API.
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/truaxki/semantic-scholar-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server