Home › Search & Research › openalex-mcp-server

openalex-mcp-server

Access the OpenAlex academic research catalog — 270M+ publications.

TypeScript Remote
★ 17 stars Last pushed 2026-11-11 License: Apache-2.0

Connect

Review any command before running it. Package names and URLs come from the server's own registry entry.

Remote (streamable-http)

https://openalex.caseyjhand.com/mcp Reachable (checked 2026-11-09)

Claude Code:

claude mcp add --transport http openalex-mcp-server https://openalex.caseyjhand.com/mcp

Or add to your MCP client config:

{
  "mcpServers": {
    "openalex-mcp-server": {
      "url": "https://openalex.caseyjhand.com/mcp"
    }
  }
}

Package (npm 0.11.1)

npx -y @cyanheads/[email protected]

Or add to your MCP client config:

{
  "mcpServers": {
    "openalex-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/[email protected]"
      ]
    }
  }
}
  • OPENALEX_CLAMP_PER_PAGE — Clamp oversized count inputs (per_page, semantic-search per_page, sample, slice.limit) to their caps with a notice. Set false to reject them instead.
  • OPENALEX_FILTER_STRING_INPUT — Accept unambiguous native filter strings on search_entities. Set false to require record objects.
  • OPENALEX_FILTER_RECORD_REPAIR — Accept boolean and number values, nested objects, and quoted keys in the filters record, with a notice. Set false to require string values under dotted keys.
  • OPENALEX_SELECT_STRING_INPUT — Accept a comma-separated select string on search_entities and get_citation_graph, with a notice. Set false to require an array.
  • OPENALEX_API_KEY — OpenAlex account API key, sent as api_key= - optional (free from https://openalex.org/settings/api). Without it, anonymous rate limits apply.
  • OPENALEX_MAILTO — Optional email sent as mailto= to identify yourself to OpenAlex (the polite pool). Separate from the API key.
  • OPENALEX_BASE_URL — OpenAlex API base URL.
  • MCP_LOG_LEVEL — Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

Package (npm 0.11.1)

Package: npm @cyanheads/openalex-mcp-server

  • OPENALEX_CLAMP_PER_PAGE — Clamp oversized count inputs (per_page, semantic-search per_page, sample, slice.limit) to their caps with a notice. Set false to reject them instead.
  • OPENALEX_FILTER_STRING_INPUT — Accept unambiguous native filter strings on search_entities. Set false to require record objects.
  • OPENALEX_FILTER_RECORD_REPAIR — Accept boolean and number values, nested objects, and quoted keys in the filters record, with a notice. Set false to require string values under dotted keys.
  • OPENALEX_SELECT_STRING_INPUT — Accept a comma-separated select string on search_entities and get_citation_graph, with a notice. Set false to require an array.
  • MCP_TRANSPORT_TYPE — Selects the HTTP transport.
  • OPENALEX_API_KEY — OpenAlex account API key, sent as api_key= - optional (free from https://openalex.org/settings/api). Without it, anonymous rate limits apply.
  • OPENALEX_MAILTO — Optional email sent as mailto= to identify yourself to OpenAlex (the polite pool). Separate from the API key.
  • OPENALEX_BASE_URL — OpenAlex API base URL.
  • MCP_HTTP_HOST — The hostname for the HTTP server.
  • MCP_HTTP_PORT — The port to run the HTTP server on.
  • MCP_HTTP_ENDPOINT_PATH — The endpoint path for the MCP server.
  • MCP_AUTH_MODE — Authentication mode to use: 'none', 'jwt', or 'oauth'.
  • MCP_LOG_LEVEL — Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

Related servers

Data from the Official MCP Registry