Labsco
MCP SERVER

OpenAlex Research Catalog

by cyanheads

Search OpenAlex's catalogue of publications, authors, institutions and funders, aggregate it into counted groups, and walk the citation graph — without leaving the conversation.

Academic Literature & CitationsVerified
Summary
Five tools that stay out of each other's way: resolve first, then search, aggregate or follow citations.

The discipline is what stands out for a catalogue this size. Names are ambiguous and IDs are not, so resolution is a deliberate first step; field names are discoverable, so a filter is built from real fields instead of a guess that errors; and a default field selection per entity type stops a search dumping full records into the context. The aggregation tool earns its place — grouped counts over a filtered population answer how a field has changed without retrieving the underlying works at all.

What it is

A server over the OpenAlex academic catalogue with five tools: resolve a name or identifier to an ID, search or fetch any entity type, group entities and count them, walk one hop of the citation graph, and list the field names a query may legally use before you build it.

What you get
  • openalex_resolve_name turns a name or an identifier — DOI, ORCID, ROR, PMID, PMCID, ISSN or an OpenAlex ID — into one unambiguous OpenAlex ID for the other tools to filter on
  • openalex_search_entities covers every entity type — works, authors, sources, institutions, topics, keywords, publishers and funders — by keyword with boolean operators, quoted phrases, wildcards and fuzzy matching, or straight by ID
  • Filter syntax with AND across fields, OR within a field, negation, ranges and comparisons, plus sorting on one or several keys and cursor pagination up to 100 results a page
  • A sensible default field selection per entity type keeps responses from ballooning; select narrows it further or asks for the whole record, and an invalid field name comes back with the valid ones listed
  • openalex_analyze_trends groups entities and counts them — works by publication year, by open-access status, by institution, country or topic — with filters applied first to scope the population, up to 200 groups a page
  • openalex_get_citation_graph walks one hop from a seed work in the direction you name: the works citing it, its own references, or OpenAlex's related works
  • openalex_describe_fields lists the valid filter, group_by and select fields for an entity type, so a query is built from real field names rather than plausible-looking ones
Requirements

Published as @cyanheads/openalex-mcp-server, runnable over stdio or as a Streamable HTTP server, which binds to 127.0.0.1 on port 3010 at /mcp by default. A public hosted instance exists at https://openalex.caseyjhand.com/mcp. No credentials are required: OPENALEX_API_KEY is optional and free, and anonymous rate limits apply without it, while OPENALEX_MAILTO sends an email address to join OpenAlex's polite pool and is separate from the key.

Setup effort

One command — npx -y @cyanheads/openalex-mcp-server