← Back to directory
O

OpenAlex MCP Server

Community
Access the OpenAlex academic research catalog - 270M+ publications through MCP. STDIO & Streamable HTTP.
Category
Other
Stars
★ 16 Popular
Transport
stdio (local process) · Streamable HTTP
Runtime
Node.js · Bun 1.3.0+ · Docker · Hosted (no local runtime)
Credentials
Optional API key
License
Apache-2.0
Last commit
Tools
5
63FMRS · C

The OpenAlex MCP Server provides structured access to a large scholarly knowledge base for discovery, trend analysis, and citation graph traversal. It is useful for integrating academic data into AI assistant workflows.

Strongest · Documentation 15/20 Weakest · Reliability 10/20

Reliability
10/20
Security and permissions
14/20
Maintenance
10/20
Documentation
15/20
Setup experience
14/20
Why each score
Reliability 10/20
README describes 5 tools, explicit HTTP-to-MCP error mapping (400→InvalidParams, 429→RateLimited), timeout-aware retries and AbortSignal cancellation, with careful behavioral edge-case notes; however this static review has no execution evidence, no visible CI workflows or committed test contents to verify handshake and tool behavior, so capped at 10.
Security and permissions 14/20
No red-line risks: no malware, no hardcoded secrets, optional API key via env vars, HTTP binds to 127.0.0.1 by default, Origin allow-list exists. Deducted for auth defaulting to 'none', default outbound calls to api.openalex.org, MCP_ALLOWED_ORIGINS wildcard option, and incomplete confirmation/data-flow disclosure; scored 14.
Maintenance 10/20
Active versioning (manifest 0.7.10 ahead of README badge 0.7.8 implies recent releases), Apache-2.0 license, not archived, 6 open issues; but no security-response channel, no governance signals, and maintainer identity/release cadence only inferred from the manifest; scored 10.
Documentation 15/20
Well-layered README: tool tables, parameter semantics, config variable table, Docker/local run instructions, cost/budget disclosure and limitations (nullable display_name, sparse related_to results). Deducted for missing troubleshooting section and unverifiable claims like budget tracking; scored 15.
Setup experience 14/20
Public hosted instance, npm package, one-line npx config, one-click install badges for Claude Desktop/Cursor/VS Code, sane defaults; minor friction from runtime prerequisites and a version mismatch between manifest (0.7.10) and README (0.7.8); scored 14.

Static review · not runListed 2026-09-08

Read the FMRS scoring method →

Fit and risk

What it can accessUses the network

Best for

  • Researchers, librarians, and academic writing assistants.
  • Developers needing up-to-date scholarly metadata.
  • Those building AI tools on top of a large academic knowledge base.

Not for

  • Access to full-text PDFs—the server provides metadata only.
  • Users seeking everyday non-academic search.
  • Applications requiring extremely low latency for massive concurrent requests without rate limit handling.

Required permissions

  • Requires access to the OpenAlex API, either anonymous or with an API key.
  • For HTTP transport, needs to open a port locally or configure a public endpoint.
  • May read or parse input data containing names or identifiers.

Risks and side effects

  • API rate limits may be more restrictive with anonymous access; without a mailto identifier, requests may be throttled.
  • OpenAlex data is updated regularly but may not be real-time, and some records may be missing.
  • If exposed over the internet, the server could be a target for abuse; protect the endpoint if public.
  • Tools returning large data sets may cause high network traffic and memory usage.

Setup

Before you start

Runtime:Node.js · Bun 1.3.0+ · Docker · Hosted (no local runtime)

OPENALEX_API_KEY optionalsecret Optional OpenAlex account API key, free from https://openalex.org/settings/api; without it anonymous rate limits apply.
Other optional settings (11)
OPENALEX_MAILTO optional Optional email sent as mailto= to identify yourself to OpenAlex (the polite pool), separate from the API key.
OPENALEX_BASE_URL optional OpenAlex API base URL; defaults to https://api.openalex.org and rarely needs changing.
MCP_TRANSPORT_TYPE optional Transport to use, stdio or http; defaults to stdio.
MCP_HTTP_HOST optional Hostname for the HTTP server; defaults to 127.0.0.1.
MCP_HTTP_PORT optional Port for the HTTP server; defaults to 3010.
MCP_HTTP_ENDPOINT_PATH optional Endpoint path for the MCP server over HTTP; defaults to /mcp.
MCP_AUTH_MODE optional HTTP authentication mode: none, jwt, or oauth; defaults to none.
MCP_ALLOWED_ORIGINS optional Comma-separated allow-list of browser Origin headers for HTTP transport; unset means loopback only.
MCP_LOG_LEVEL optional Minimum log level (e.g., debug, info, warn); defaults to info.
LOGS_DIR optional Directory for log files (Node.js only); defaults to <project-root>/logs.
OTEL_ENABLED optional Enables OpenTelemetry instrumentation (spans, metrics); defaults to false.
  1. Ensure Node.js is installed (and Bun for development).
  2. Add the server to your MCP client config, e.g., in Claude Desktop using stdio transport:
{
  "mcpServers": {
    "openalex-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@cyanheads/openalex-mcp-server"],
      "env": {
        "OPENALEX_API_KEY": "your-openalex-api-key"
      }
    }
  }
}
  1. Alternatively, use the public hosted endpoint: https://openalex.caseyjhand.com/mcp (configured as streamable HTTP).
  2. Optionally set environment variables OPENALEX_API_KEY (free from OpenAlex) and OPENALEX_MAILTO (for the polite pool).
claude_desktop_config.json
{
  "mcpServers": {
    "openalex-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/openalex-mcp-server"
      ],
      "env": {
        "OPENALEX_API_KEY": "your-openalex-api-key"
      }
    }
  }
}

Shown for Claude Desktop. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "openalex-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/openalex-mcp-server"
      ],
      "env": {
        "OPENALEX_API_KEY": "your-openalex-api-key"
      }
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add openalex-mcp-server -e OPENALEX_API_KEY=your-openalex-api-key -- npx -y @cyanheads/openalex-mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After connecting, the client's tool list should show the five openalex_* tools; running openalex_describe_fields for an entity type such as 'works' and getting a field list back proves the OpenAlex API connection works.

Troubleshooting

  1. If queries fail with invalid field errors, call `openalex_describe_fields` first to validate field names.
  2. If you get 429 rate limit errors, wait or set `OPENALEX_API_KEY` and `OPENALEX_MAILTO` to raise limits.
  3. If HTTP connections fail, check the host and port configuration, and ensure the auth mode matches.
  4. If you see invalid auth errors, check that `OPENALEX_API_KEY` is correct.

Things to try

Once connected, you can ask your AI assistant things like:

  • Find recent works on CRISPR gene editing published between 2022 and 2024, showing title, publication year, and DOI.
  • Show publication trends by year for open access works in immunology.
  • Resolve the DOI 10.1038/s41586-020-2649-2 to its OpenAlex ID and then list works that cite it.
  • What are the valid filter field names for the authors entity type?

Tools 5

openalex_search_entities read-only
Search, filter, sort, or retrieve by ID across all 8 entity types (works, authors, sources, institutions, topics, keywords, publishers, funders).
openalex_analyze_trends read-only
Group-by aggregation for trend and distribution analysis, e.g., count publications by publication year or OA status.
openalex_resolve_name read-only
Resolve a name or an identifier (DOI, ORCID, ROR, PMID, PMCID, ISSN, OpenAlex ID) to an OpenAlex ID.
openalex_get_citation_graph read-only
Walk the citation graph one hop from a seed work: cites, cited_by, or related_to.
openalex_describe_fields read-only
List valid filter, group_by, and select field names for an entity type — call before building a query to avoid invalid-field errors.

Use cases

Have AI assistants conduct academic literature searches and answer questions on specific topics.
Automate systematic literature reviews, including query building, filtering, and citation network analysis.
Analyze the research landscape of a field, including volume trends, top authors and institutions.
Integrate scholarly metadata and citation data into applications.

Supported clients

Claude Desktop
Cursor
VS Code

Listed from the project's documentation, not tested by this site.

Overview

The OpenAlex MCP Server is a community-developed server that enables AI assistants to query the OpenAlex scholarly catalog, which contains over 270 million publications. It offers five tools for searching, filtering, and aggregating scholarly data, plus two prompts for literature review and research landscape analysis. It can run as a local stdio server or as an HTTP server, and is deployable via Docker.

Similar servers

Telegram MCP server powered by Telethon to let MCP clients read chats, manage groups, and send/modify messages, media, contacts, and settings.

★ 1.8k · Tools 76 Compare with this →

Source revision c2b8d35df795 Data synced 2026-10-19 Read the FMRS scoring method