Scopus

io.github.Anddrrewv0.5.1Updated Oct 6, 2026

Scopus search, author and affiliation profiles, citation data, and PlumX metrics via Elsevier APIs.

VerifiedSTDIODesktop onlyData & AnalyticsKnowledge & Memory

Overview

AI-generated overview

Lets an assistant search Scopus publications, authors and affiliations, and pull citation and PlumX metrics through Elsevier APIs.

What it does
Wraps the Elsevier Scopus API as MCP tools: scopus_search for publications, author_search and affiliation_search for people and institutions, author_retrieval and affiliation_retrieval for profiles by ID, EID or ORCID, citation_overview for yearly citation counts, and plumx_metrics for publication metrics. subject_classifications looks up subject codes without an API key. Each call makes one API request and returns the original API JSON in structuredContent and a text block, with quota headers exposed in _meta.
When to use it
Useful when an assistant needs bibliometric or scholarly metadata: finding papers on a topic, checking an author's or institution's profile, or gathering citation counts and PlumX metrics for a set of publications.
Requirements
Local process run with npx, so Node.js 22.22.0 or newer, npm, and an MCP client with stdio support are needed. An ELSEVIER_API_KEY from the Elsevier Developer Portal is required for every tool except subject_classifications; ELSEVIER_INST_TOKEN is optional for institutional access. Credentials go in the client's env object; .env files are not loaded. Network access to api.elsevier.com is required.
Before you install
The server needs the secret ELSEVIER_API_KEY, and optionally ELSEVIER_INST_TOKEN, in its environment; it does not read .env files, so these are set in the client configuration. Data access depends on your Elsevier subscription and institutional access, and requests are subject to API quotas (HTTP 429 with Retry-After). Calls are read-only lookups; retries and redirects are not automatic, and a 30-second timeout applies.

Installation

In SourceWeft

  1. Open Scopus in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

scopus-mcp

[npm version] [Node.js] [License: MIT]

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:

json
{  "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

Environment variableDescription
ELSEVIER_API_KEYRequired for all tools except subject_classifications.
ELSEVIER_INST_TOKENInstitutional 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.

Tools

ToolDescription
scopus_searchFind publications.
author_searchFind authors and co-authors.
affiliation_searchFind institutions.
author_retrievalGet author profiles by ID, EID, or ORCID.
affiliation_retrievalGet an institution profile by ID or EID.
citation_overviewGet yearly citation counts and summaries.
plumx_metricsGet publication metrics by identifier.
subject_classificationsLook 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.

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.

ErrorWhat to check
MISSING_API_KEYSet ELSEVIER_API_KEY in the server's environment.
HTTP 401 or 403Check your key, subscription, institutional network, and token.
HTTP 429Check quota headers and Retry-After before retrying.
TIMEOUT or NETWORK_ERRORCheck connectivity to api.elsevier.com.
INVALID_RESPONSEElsevier returned invalid JSON or an unexpected response shape.

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.

Source: README.md at commit e089062

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.5.1LatestOct 6, 2026