Scopus MCP Server
README.md
# Scopus MCP Server
A local MCP server that wraps the Elsevier Scopus APIs, giving Claude Code four tools:
- `scopus_search` — search Scopus documents by keyword, title, author, affiliation, etc.
- `scopus_get_abstract` — fetch a full abstract + metadata by Scopus ID / DOI / EID
- `scopus_search_authors` — find author profiles by name/affiliation
- `scopus_get_author_profile` — full author profile (h-index, affiliation, ORCID, etc.) by Scopus Author ID
- `scopus_get_citation_overview` — year-by-year citation counts for one or more documents
## 1. Get an API key
Register at https://dev.elsevier.com/apikey to get a Scopus/Elsevier API key. Some
endpoints (especially abstract/citation data) require your key to be used from an
IP range or network your institution has registered with Elsevier — if you get
403 errors, that's usually why.
If you also have an institutional token, note it too (optional).
## 2. Install dependencies
```bash
cd "scopus-mcp-server"
pip install -r requirements.txt
```
## 3. Set your API key
Set it as an environment variable — never hardcode it in the source or paste it into
chat. Pick one option:
**Windows PowerShell (current session only):**
```powershell
$env:SCOPUS_API_KEY = "your-key-here"
```
**Windows (persistent, current user):**
```powershell
setx SCOPUS_API_KEY "your-key-here"
```
(Open a new terminal afterward for `setx` to take effect.)
Optional institutional token:
```powershell
setx SCOPUS_INSTTOKEN "your-insttoken-here"
```
## 4. Register the server with Claude Code
From an interactive terminal (this step needs `claude mcp`, which isn't available in
a non-interactive session):
```bash
claude mcp add scopus -- python "C:\Users\Hype AMD\OneDrive\Desktop\Claude Cowork\scopus-mcp-server\server.py"
```
This registers it as a stdio MCP server that Claude Code will launch on demand. Verify
with `claude mcp list`, then restart/reload Claude Code so it picks up the new server.
## 5. Try it
Ask Claude something like:
- "Search Scopus for papers on CRISPR gene editing published after 2022"
- "Get the abstract for Scopus ID 85123456789"
- "Find the Scopus author profile for John Smith at MIT"
- "How has paper 85123456789 been cited over the last 5 years?"
## Notes
- All tools are read-only (no writes to Scopus).
- Responses default to Markdown; pass `response_format: "json"` for structured output.
- If you see `Error: SCOPUS_API_KEY environment variable is not set`, the server process
didn't inherit the env var — set it persistently (`setx`) and open a fresh terminal /
restart Claude Code.
- If you see 403 errors, your key likely isn't entitled for that endpoint or needs to be
called from your institution's registered network.
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues