scopus-mcp
An MCP server for the Elsevier Scopus API. Runs over stdio with npx and keeps
the API's parameter names and JSON responses.
Quick start
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.
Configuration
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.
Tools
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.
Responses and errors
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.
API documentation
Development
See Contributing for local setup and changes, and Releases for publishing.
License
MIT © 2026 Andrii Baran. Independent project, not affiliated with Elsevier.