Scopus search, author and affiliation profiles, citation data, and PlumX metrics via Elsevier APIs.
An MCP server for the Elsevier Scopus API. Runs over stdio with npx and keeps
the API's parameter names and JSON responses.
Requires Node.js 22.22.0 or newer, npm, and an MCP client with stdio support. Get an API key from the Elsevier Developer Portal and add this server to your client's configuration:
{
"mcpServers": {
"scopus": {
"command": "npx",
"args": ["-y", "scopus-mcp"],
"env": {
"ELSEVIER_API_KEY": "your-elsevier-api-key"
}
}
}
}
Reload the client to connect. To pin a release, use scopus-mcp@<version> in args.
| Environment variable | Description |
|---|---|
ELSEVIER_API_KEY | Required for all tools except subject_classifications. |
ELSEVIER_INST_TOKEN | Institutional token, if provided by your institution. |
Set credentials in the client's env object. The server does not load .env
files. Access to data and views depends on your Elsevier subscription and
institutional access.
The server reports its version in MCP serverInfo and the startup log on stderr.
| Tool | Description |
|---|---|
| scopus_search | Find publications. |
| author_search | Find authors and co-authors. |
| affiliation_search | Find institutions. |
| author_retrieval | Get author profiles by ID, EID, or ORCID. |
| affiliation_retrieval | Get an institution profile by ID or EID. |
| citation_overview | Get yearly citation counts and summaries. |
| plumx_metrics | Get publication metrics by identifier. |
| subject_classifications | Look up subject codes; no API key needed. |
Each call makes one API request. For additional pages, use the tool's pagination parameters. Requests support cancellation and a 30-second timeout; retries and redirects are not automatic.
Results follow each tool's outputSchema. The original API JSON is returned in
both structuredContent and a text content block, without reshaping fields or
converting values.
Available quota headers are returned as strings in _meta["scopus-mcp/headers"]:
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and Retry-After.
API failures return isError: true and a JSON text error with code, message,
and, when available, an HTTP status. Credentials are redacted. Invalid arguments
are rejected before an API request.
| Error | What to check |
|---|---|
MISSING_API_KEY | Set ELSEVIER_API_KEY in the server's environment. |
| HTTP 401 or 403 | Check your key, subscription, institutional network, and token. |
| HTTP 429 | Check quota headers and Retry-After before retrying. |
TIMEOUT or NETWORK_ERROR | Check connectivity to api.elsevier.com. |
INVALID_RESPONSE | Elsevier returned invalid JSON or an unexpected response shape. |
See Contributing for local setup and changes, and Releases for publishing.
MIT © 2026 Andrii Baran. Independent project, not affiliated with Elsevier.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y scopus-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-anddrrew-scopus-mcp": {
"command": "npx",
"args": [
"-y",
"scopus-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencescopus-mcpnpmScopus works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.