Skip to main content
Glama
mcp-openalex

mcp-openalex

by ELumya

mcp-openalex

MCP server for the OpenAlex scholarly database. Gives AI agents tools to search and retrieve academic works, authors, and institutions.

Requirements

Related MCP server: academic-search-mcp

Installation

git clone https://github.com/ELumya/openalex-mcp.git
cd openalex-mcp
uv sync

Configuration

Copy the example env file and set your API key:

cp .env.example .env
# edit .env and set OPENALEX_API_KEY=your-key-here

Running

STDIO (default — for local MCP clients):

uv run fastmcp run src/server.py

HTTP transport:

MCP_TRANSPORT=http MCP_HOST=127.0.0.1 MCP_PORT=8000 uv run fastmcp run src/server.py

MCP Tools

Tool

Description

search_works

Search works with filters (institution, year, date range, type, peer-reviewed)

semantic_search_works

Find works similar to a text using AI semantic search (matches by meaning)

fetch_work

Fetch full work metadata by OpenAlex ID or DOI — optionally extract PDF or request an LLM summary

search_authors

Search author profiles by name or ORCID

fetch_author

Fetch full author profile by OpenAlex ID or ORCID

get_author_works

List all publications by a specific author

search_institutions

Search institutions by name, country, or type

fetch_institution

Fetch full institution profile by OpenAlex ID or ROR

Architecture

See ARCHITECTURE.md for system overview, module dependency graph, and tool flow diagrams.

TODOs

  • Add tests

  • Add CI/CD

  • Use cache for high rate requests

  • Scan code base for dead code

  • Add mermaid documentation

  • Unify concepts names (ie. Articles/Works)

  • Two levels of formating details in filter: low (current one), medium (for fetch_* tools)

Tools Evolutions

  • Test OpenAlex support of Elasticsearch: YES!

  • Update work search tools descriptions, add: "Elasticsearch syntax"

  • Update tools descriptions, do not explain how it works but what you need to pass.

  • Update Author search tool, remove IDs handling (use fetch_author for this)

in format_work_result add:

  • first 3 Authors

  • Primary topic classification

in _process_fulltext in fetch_work

  • Remove pure PDF handling, auto-detect format based on prompt presence (if prompt provided → LLM summary, else → markdown)

  • Use proper sampling parameters

  • Semantic search, added as a new tool but can easily be integrated to work_search, we perform modifications at filters build_works_query.

  • Search by topics

  • Search foundational works

Citation

  • graph_work_citations

Authors

  • get_author_works: parameter author replaced by author_id; accepts only OpenAlex ID or ORCID.

  • graph_collaborations

Institutions

  • graph_colaborations

Global analysis tools

  • OpenAlex Topic comparaison

  • Geographical Region comparaison

  • Institutions comparaison

  • Trend deep analysis

License

MIT

Available Tools

8 tools
fetch_authorA
Read-only

Fetch full author profile including topics and institutions.

Inputs: author_id (required). Returns: object

fetch_institutionA
Read-only

Fetch full institution profile.

Inputs: institution_id (required). Returns: object

fetch_workA
Read-only

Fetch complete metadata for one work. Set fulltext=True to retrieve the open-access PDF as markdown, or pass a prompt to get an LLM summary instead.

Inputs: work_id (required), include_abstract, fulltext, prompt. Returns: object

get_author_worksA
Read-only

List all works by a given author.

Inputs: author_id (required), limit, page, sort. Returns: object

search_authorsA
Read-only

Search author profiles by name, optionally filtered by institution.

Inputs: query_string (required), institution, limit, page, +2 more. Returns: object

search_institutionsA
Read-only

Search institutions by name, optionally filtered by country or type.

Inputs: query_string (required), country_code, institution_type, limit, +2 more. Returns: object

search_worksA
Read-only

Search works in OpenAlex by keyword, filtered by institution, date, type, and more.

Inputs: query_string (required), institution, publication_year, from_date, +7 more. Returns: object

semantic_search_worksA
Read-only

Find works similar to a given text using AI-powered semantic search. Searches by meaning rather than exact keyword match.

Inputs: query_string (required), institution, publication_year, from_date, +6 more. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 8 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose: fetching profiles, searching by name/keyword/semantic, and listing works. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case (e.g., fetch_author, search_works, semantic_search_works). Perfectly predictable.

    Tool Count5/5

    8 tools is well-scoped for a scholarly database API, covering fetching, searching, and listing without unnecessary bloat.

    Completeness4/5

    Core operations are covered: fetching authors, institutions, works; searching with filters; and semantic search. Minor gaps like missing get_institution_works or concept endpoints are acceptable given the scope.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    • OpenAlex MCP — wraps the OpenAlex API (scholarly works, free, no auth)

    • Hosted MCP server for live public-data APIs and Skills for AI agents.

      https://mcp.unifapi.com
    • One MCP server for all web data. Scrape, search, crawl, and AI research in one install.

      https://mcp.novada.com/mcp
    • Rivul is a free, read-only remote MCP server for searching scholarly literature. It runs semantic search over more than 300 million paper records from a dated OpenAlex snapshot, so an agent can find papers by meaning rather than exact keywords, then open the full record for any result. Tools: - search_papers: semantic search with optional filters for publication year range, minimum citation count, open access only, topic and field. Sort by relevance, most cited, newest or oldest. - get_paper_details: the full record for one work by its OpenAlex ID: title, every author, venue, work type, topic, field, publication date, citation count, DOI and open-access links. - usage_status: the workspace's MCP usage for the current day. Results come only from the index, never from a model. Each result carries a stable OpenAlex ID so the source can be checked, and every response states the snapshot date. Useful for literature reviews, scoping reviews, finding highly cited or open-access papers on a topic, citation chasing, and checking that a cited paper exists. Free for every account, with no plans or payment. Sign in with Google through OAuth 2.1 (PKCE, dynamic client registration), or use an MCP key from rivul.ai. Endpoint: https://rivul.ai/mcp (Streamable HTTP). Setup and docs: https://rivul.ai/features/atlas

      https://rivul.ai/mcp

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server for searching and exploring OpenAlex's index of 250M+ scholarly works, authors, institutions, journals, funders, and grants through Claude.
      92 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Unified MCP server for scientific literature search and extraction, integrating databases like Scopus, OpenAlex, Semantic Scholar, and Unpaywall to enable AI agents to discover papers, track citations, and analyze content.
      27
      MIT