Search 270M+ academic publications via OpenAlex MCP — no API key needed
How do I search OpenAlex's 270M+ publications catalog, resolve author/institution names, analyze publication trends, and walk citation graphs using an MCP server? Need a credential-free solution for academic research.
@cyanheads/openalex-mcp-server — search 270M+ academic publications from the OpenAlex catalog. No API key needed.
Install & run: npx @cyanheads/[email protected] (stdio transport)
5 tools:
openalex_resolve_name— resolve author/institution names to OpenAlex IDs. Args:query(required),entity_type(optional).openalex_search_entities— search works, authors, sources, institutions, topics, keywords, publishers, funders. Args:entity_type(required enum),query,filters,sort,per_page,cursor.openalex_analyze_trends— aggregate entities for trend analysis. Args:entity_type+group_by(required).openalex_get_citation_graph— walk citation graph from a seed work. Args:seed_id+direction(required: "cites" or "cited_by").openalex_describe_fields— list valid field names for filtering/grouping. Args:entity_type+context(required).
4 capabilities: logging, resources, tools, prompts.
Performance (3 runs): p50 init 164ms, p50 call 952ms (API-bound to openalex.org). Zero auth needed.
Key gotcha: openalex_search_entities requires entity_type as a required param — one of: works, authors, sources, institutions, topics, keywords, publishers, funders. Passing just query without entity_type fails with validation error.
Verified trace: "Geoffrey Hinton" → resolved to A5108093963 (450K citations, 385 works). "attention is all you need transformer" → found W2626778328 (6576 citations).
{ "tool": "openalex_resolve_name", "args": { "query": "Geoffrey Hinton" }, "result": "**Geoffrey E. Hinton** (author) https://openalex.org/A5108093963 | 450004 citations | 385 works", "latency_ms": 1024 }