Skip to main content
Glama
kemalabuteliyte

elsevier-mcp

elsevier-mcp

MCP server for the Elsevier Developer APIs. Gives Claude Code access to Scopus, ScienceDirect, and other Elsevier academic databases.

Quick Start

Get a free API key at dev.elsevier.com, then pick an install method below.

This repository is a Claude Code plugin marketplace. Add it, then install the plugin — no clone or npm install required:

/plugin marketplace add kemalabuteliyte/elsevier-mcp
/plugin install elsevier-mcp@elsevier-tools

The plugin ships a self-contained server bundle, so it just works once installed. Provide your API key through your environment before launching Claude Code:

export ELSEVIER_API_KEY=your_api_key_here
# optional — institutional access unlocks all 14 tools:
# export ELSEVIER_INST_TOKEN=your_institutional_token
# export ELSEVIER_ENABLE_ALL_TOOLS=true

Restart Claude Code. The elsevier tools are now available. Done.

Claude Desktop — one-click install

Download the latest .mcpb file from Releases, then open it with Claude Desktop. You'll be prompted to enter your API key during setup.

Manual install (from source)

git clone https://github.com/kemalabuteliyte/elsevier-mcp.git
cd elsevier-mcp
npm install
npm run build

Then add to your Claude Code settings:

{
  "mcpServers": {
    "elsevier": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/elsevier-mcp/dist/index.js"],
      "env": {
        "ELSEVIER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Or via CLI:

claude mcp add elsevier -e ELSEVIER_API_KEY=your_key -- node /absolute/path/to/elsevier-mcp/dist/index.js

Related MCP server: connect-claude

Available Tools

These 6 tools work with a free Elsevier API key:

Tool

Description

scopus_search

Search Scopus for scholarly documents by query

abstract_retrieval

Retrieve abstract/metadata by DOI, Scopus ID, EID, PII, or PubMed ID

article_retrieval

Retrieve ScienceDirect article by DOI, PII, or EID

serial_title_search

Search for journals by title, ISSN, publisher, or subject

serial_title_retrieval

Retrieve journal details by ISSN

subject_classifications

Look up Scopus/ScienceDirect subject area codes and descriptions

Enabling All Tools (Institutional Access)

8 additional tools require institutional network access, an institutional token, or additional API subscriptions. Enable with ELSEVIER_ENABLE_ALL_TOOLS=true:

{
  "mcpServers": {
    "elsevier": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/elsevier-mcp/dist/index.js"],
      "env": {
        "ELSEVIER_API_KEY": "your_api_key_here",
        "ELSEVIER_INST_TOKEN": "your_institutional_token",
        "ELSEVIER_ENABLE_ALL_TOOLS": "true"
      }
    }
  }
}

Tool

Description

Requires

author_search

Search for authors in Scopus

Institutional access

affiliation_search

Search for institutions and affiliations

Institutional access

author_retrieval

Retrieve author profile by ID, EID, or ORCID

Institutional access

affiliation_retrieval

Retrieve institution details by ID or EID

Institutional access

citation_count

Get citation counts (supports batch lookup)

API subscription

citations_overview

Detailed citation overview with yearly breakdowns

API subscription

plumx_metrics

PlumX altmetrics (usage, captures, social media)

Institutional access

fulltext_retrieval

Retrieve full text of a ScienceDirect article as plain text

Institutional access

To get institutional access:

  • Connect from a university/institutional network with a Scopus subscription

  • Or request an institutional token from apisupport@elsevier.com

  • The server automatically attempts IP-based authentication on 401 errors

Example Queries

Scopus search uses Boolean syntax with field codes:

  • TITLE(machine learning) AND PUBYEAR > 2020

  • AUTH(Einstein) AND TITLE(relativity)

  • AFFIL(MIT) AND KEY(quantum computing) AND PUBYEAR = 2024

  • DOI(10.1016/j.jclepro.2020.121092)

Environment Variables

Variable

Required

Description

ELSEVIER_API_KEY

Yes

API key from dev.elsevier.com

ELSEVIER_INST_TOKEN

No

Institutional token for expanded access

ELSEVIER_ENABLE_ALL_TOOLS

No

Set to true to enable all 13 tools

Troubleshooting

  • 401 error: Your API key lacks entitlements for this endpoint. You may need institutional access or an institutional token.

  • 403 error: Your API key doesn't have the required subscription for this resource.

  • 429 error: Rate limit exceeded. Elsevier quotas reset weekly.

  • No results: Try broadening your query or using different field codes.

License

MIT

Available Tools

6 tools
abstract_retrievalB

Retrieve detailed metadata and abstract for a specific Scopus document by its identifier. Supports lookup by Scopus ID, EID, DOI, PII, or PubMed ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoResponse detail level. META=metadata, META_ABS=metadata+abstract, FULL=all details, REF=references, ENTITLED=entitlement check.
fieldNoComma-separated list of specific fields to return.
id_typeYesType of identifier to use for retrieval.
id_valueYesThe identifier value. Examples: DOI '10.1016/j.jclepro.2020.121092', Scopus ID '85028623301', EID '2-s2.0-85028623301'.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. It only states a retrieval operation (implying read-only) and lists supported identifiers, but doesn't mention authentication requirements, rate limits, response format, or how the 'view' parameter affects output. This leaves the agent with limited insight into the tool's behavior beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action and resource, and includes a concise list of supported identifier types. Every word contributes value, with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a relatively simple retrieval operation with a rich parameter schema (view, field, id_type). The description covers the core purpose but does not explain return structures (no output schema), potential limitations, or typical use cases. It is adequate but not comprehensive, especially given the lack of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds a few examples for id_value (DOI and EID) that are replicated in the schema. Since the schema does the heavy lifting, the baseline of 3 is appropriate, and the description provides no extra semantic value beyond a restatement of supported identifier types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed metadata and abstract for a specific Scopus document by identifier, with a specific verb ('Retrieve') and resource. However, it doesn't explicitly distinguish from the sibling tool 'article_retrieval', which may have overlapping functionality, so it's clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (when you have a document identifier and need metadata/abstract) but offers no explicit guidance on when to use this tool versus alternatives like article_retrieval, and no exclusions or prerequisites are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

article_retrievalA

Retrieve full-text or metadata of a ScienceDirect article by DOI, PII, or EID. Access depends on your API key entitlements.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewNoResponse detail level. META=metadata, META_ABS=metadata+abstract, FULL=full text, ENTITLED=entitlement check.
fieldNoComma-separated list of specific fields to return.
id_typeYesType of identifier to use for article retrieval.
id_valueYesThe identifier value. Example DOI: '10.1016/j.jclepro.2020.121092'.

TDQS

A3.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions that access depends on API key entitlements, which is a useful caveat, but it does not explain response format, error behavior, or the practical difference between view levels beyond 'full-text or metadata.' This is insufficient for a read tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action and resource, and every word earns its place. It avoids redundancy and is highly scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the core purpose and identifier types, and the schema documents all parameters. However, with no output schema or annotations, the description leaves out details about return values and potential error scenarios, making it adequate but not fully complete for a tool with four parameters and multiple view options.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful context by listing the identifier types and implying that full-text access is subject to entitlements, which helps clarify the view parameter's real-world implications. This goes beyond the schema's enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Retrieve' and the resource 'ScienceDirect article', and specifies the identifier types (DOI, PII, EID). It distinguishes itself from siblings by explicitly mentioning ScienceDirect, which contrasts with Scopus-related tools like scopus_search and abstract_retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: it is used when you have a DOI, PII, or EID and need full-text or metadata. It does not explicitly mention alternatives or exclusions, but the context is unambiguous. The access entitlement note further guides usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

serial_title_retrievalA

Retrieve detailed information about a specific journal or serial publication by its ISSN. Includes publisher, subject areas, and CiteScore metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
issnYesISSN of the journal (e.g. '0140-6736' for The Lancet, '0028-0836' for Nature).
viewNoResponse detail level.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It states the output includes publisher, subject areas, and CiteScore metrics, which gives some transparency about the response content. However, it does not mention error handling, access requirements, or behavior when the ISSN is invalid, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that packs essential information without unnecessary words. It clearly states the resource, the key identifier, and the content of the response, demonstrating excellent conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with two parameters and no output schema, the description provides the core purpose and response contents. However, it lacks explanation of the 'view' parameter's effect on the response detail level, and it does not clarify the distinction from the sibling serial_title_search, leaving some context incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides descriptions for all parameters (100% coverage), so the baseline is 3. The description adds little beyond what the schema already states; it only reiterates the ISSN as the identifier and mentions CiteScore, which is already represented in the schema and enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Retrieve' and clearly identifies the resource: a specific journal or serial publication by its ISSN. It also lists what is included (publisher, subject areas, CiteScore metrics), distinguishing it from the sibling serial_title_search which likely focuses on searching by title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for when you have an ISSN and need detailed information, providing a clear usage context. However, it does not explicitly mention alternatives or when not to use it, though the sibling names suggest a search tool exists for lookups without an ISSN.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subject_classificationsA

Retrieve subject area classifications used in Scopus or ScienceDirect. Useful for finding subject codes to filter searches. Returns classification codes, abbreviations, and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoFilter by exact code. Scopus example: '1106', ScienceDirect example: '391'.
fieldNoSpecific fields to return (comma-delimited). Options: 'code', 'abbrev', 'detail', 'description'.
abbrevNoFilter by exact abbreviation. Examples: 'AGRI', 'COMP', 'MEDI'.
detailNoFilter by detail attribute (case-insensitive partial match).
sourceYesClassification source. 'scopus' for Scopus ASJC codes, 'scidir' for ScienceDirect subject areas.
descriptionNoFilter by description (case-insensitive partial match). Example: 'computer' to find Computer Science areas.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full burden. It states the return content ('classification codes, abbreviations, and descriptions') and implies read-only behavior through 'Retrieve.' However, it does not clarify output format, pagination, or any potential restrictions (e.g., whether all classifications are returned by default). The disclosure is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and immediately followed by a practical use case. Every word earns its place with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple lookup tool with six well-documented parameters, the description provides sufficient context: it states what the tool retrieves, why it is useful, and what it returns. There is no output schema, but the description compensates by naming the output fields. It lacks explicit mention of default behavior or result coverage, but the schema's parameter descriptions fill in most gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions cover 100% of the six parameters, so the baseline is 3. The tool description adds no additional parameter semantics beyond what the schema already provides, merely echoing 'codes, abbreviations, and descriptions' that correspond to the field options.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves subject area classifications from Scopus or ScienceDirect, a specific verb-resource pairing that distinguishes it from sibling tools like scopus_search or abstract_retrieval. The phrase 'Retrieve subject area classifications' is unambiguous and the tool is dedicated to this lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames when to use the tool: 'Useful for finding subject codes to filter searches.' This gives clear context for usage without explicitly naming alternatives, but it is distinct enough from siblings that no exclusion is necessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct resource and operation: document search, document abstract retrieval, full-text retrieval, serial search, serial metadata retrieval, and subject classifications. There is no overlap in purpose, making selection unambiguous.

Naming Consistency4/5

Most tools follow a noun_action pattern (scopus_search, abstract_retrieval, serial_title_search). The only deviation is subject_classifications, which is a noun without an explicit action, but it clearly implies retrieval. Overall, the naming is predictable and readable.

Tool Count5/5

Six tools is well-scoped for Elsevier's APIs, covering both Scopus and ScienceDirect search and retrieval needs. Each tool has a clear purpose without redundancy.

Completeness4/5

Core workflows are covered: searching publications, retrieving abstracts, fetching full-text, and managing serial metadata. Missing are author/affiliation search and citation lookup, but these are not essential for the primary document retrieval purpose.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kemalabuteliyte/elsevier-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server