Skip to main content
Glama
diplococcus94

Scopus MCP Server

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

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):

$env:SCOPUS_API_KEY = "your-key-here"

Windows (persistent, current user):

setx SCOPUS_API_KEY "your-key-here"

(Open a new terminal afterward for setx to take effect.)

Optional institutional token:

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):

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.