openalex-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENALEX_EMAIL | No | Your email address for the OpenAlex polite pool. | |
| MCP_RECEIPT_LOG | No | Path to a JSONL file for query receipts. If set, logs each query. | |
| OPENALEX_API_KEY | No | Optional OpenAlex API key. | |
| MCP_RECEIPT_STRICT | No | If set to '1', makes logging failure raise an error. Otherwise swallowed. | |
| MCP_RECEIPT_SESSION | No | A session identifier for the receipt log (e.g., project or article slug). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| oa_search_worksA | Search OpenAlex for scholarly works (articles, books, datasets, theses). Returns the unified envelope. OpenAlex matches title, abstract and indexed full text with stemming, so result.total is a loose count (matching_mode full_text_stemmed) and a high breadth is expected. Titles are typed by OpenAlex's own language field; where that is absent, a CJK title is kept only in extra.title rather than guessed into ja or ko. Filters by year, author, institution, source and open-access status narrow the set exactly. |
| oa_get_workA | Look up one work by OpenAlex ID, DOI, or PMID. Returns the unified envelope with a single item, or NOT_FOUND. |
| oa_search_authorsA | Search OpenAlex for authors by name. Returns the unified envelope; each item is an author record (record_type author) with affiliations, work and citation counts, and h-index in extra. |
| oa_get_authorA | Look up one author by OpenAlex ID or ORCID. Returns the unified envelope with a single author item, or NOT_FOUND. |
| oa_search_sourcesA | Search OpenAlex for sources: journals, repositories, conferences. Returns the unified envelope (record_type source). |
| oa_search_institutionsA | Search OpenAlex for institutions. Returns the unified envelope (record_type institution); useful for finding institution IDs to filter work searches. |
| oa_cited_byA | Works that cite a given work, most-cited first. Returns the unified envelope. This is a filter on an identifier, not a term search, so no searched_for headline is set. |
| oa_author_worksA | Works by one author, with optional year filter and sort. Returns the unified envelope. A filter on an identifier, not a term search. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct entity or relationship: get vs search for authors/works, plus dedicated searches for sources and institutions, and two relationship-specific work queries (cited_by, author_works). The only slight overlap is that oa_search_works, oa_cited_by, and oa_author_works all return works, but their purposes are clearly separated by identifier filters versus term search.
All tools share the oa_ prefix and use a readable snake_case pattern: get_<entity> for lookups and search_<entity> for searches. oa_cited_by and oa_author_works break the simple verb_noun pattern but are still intuitive and consistent with the relationship-focused actions.
Eight tools is a well-scoped set for a read-only scholarly API wrapper. Each tool covers a meaningful query type without redundancy or bloat.
The core OpenAlex surface is well covered: works and authors have both exact lookup and search, with sources and institutions searchable as supporting entities. Minor gaps exist such as no get-by-ID for sources/institutions and no coverage of concepts, publishers, or funders, but the primary scholarly workflows are complete.