openalex-mcp
Server Quality Checklist
Latest release: v2.1.1
- Disambiguation4/5
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.
Naming Consistency4/5All 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.
Tool Count5/5Eight tools is a well-scoped set for a read-only scholarly API wrapper. Each tool covers a meaningful query type without redundancy or bloat.
Completeness4/5The 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.
Average 4.1/5 across 8 of 8 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 26 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation as read-only, open-world, and idempotent. The description adds a return-shape detail ('unified envelope (record_type institution)') that annotations don't carry, but this phrase is jargon and no behavior like pagination defaults or rate limits is disclosed. It adds some value but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core action front-loaded. The second sentence gives a concrete use case, though 'unified envelope' is cryptic and slightly weakens clarity. Overall there is no redundant text and the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only search endpoint with rich annotations and an output schema, the description supplies the key missing 'why' (finding institution IDs) and identifies the record type. It doesn't need to explain return values because an output schema exists; the only notable gap is lack of explicit sibling routing, which is partly covered by the stated use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no parameter-level guidance: it doesn't mention country_code, page, per_page, or the query string semantics beyond what is already in the schema. Since schema description coverage is effectively low and the description does not compensate for page/per_page, an agent must rely entirely on field names and the sparse schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Search') and resource ('OpenAlex institutions'), and the phrase 'useful for finding institution IDs to filter work searches' distinguishes it from sibling search tools like oa_search_works, oa_search_authors, and oa_search_sources. The agent can clearly identify what this tool does and when it is relevant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear context: use this tool to find institution IDs for filtering work searches. It does not explicitly list alternatives or when-not-to-use cases, but the intended scenario is unambiguous and practical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful extra context by disclosing the unified envelope return shape and the record_type of 'source', which are not visible in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the verb, resource, and scoping entity types appear in the first sentence, and the return-envelope note is a single efficient second sentence with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and rich annotations, the description is mostly adequate for a simple search tool. However, it omits guidance on query behavior and pagination, and it only indirectly documents the 'type' filter, leaving some ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate for undocumented parameters. It only hints at the 'type' filter by listing journal/repository/conference; it does not explain the required 'query' parameter semantics or the 'page' pagination parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Search'), a specific resource ('OpenAlex sources'), and clarifies the entity types covered: journals, repositories, conferences. This clearly distinguishes it from sibling tools like oa_search_works and oa_search_authors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended domain is clear: use this tool when searching OpenAlex source entities. However, the description does not explicitly say when to prefer this tool over alternatives or provide any exclusion guidance, so usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the operation as read-only, idempotent, and non-destructive. The description adds useful behavioral detail about the unified envelope and per-author fields such as affiliations, work/citation counts, and h-index in extra. This goes beyond annotations and helps set expectations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no waste. It front-loads the core purpose and then provides the key output detail. Every sentence contributes value without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the annotations cover safety and idempotency, the input schema documents parameters, and an output schema exists, the description provides enough high-level context. The mention of the unified envelope and extra fields helps the agent interpret results. It falls just short of perfect completeness by not steering toward sibling tools, but that gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage reported at 0%, the description must compensate by explaining parameters. It only clarifies the query is an author name; it does not address page, per_page, or institution_id filtering. The nested schema contains some property descriptions, but the description itself adds minimal parameter meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific verb 'Search' with the resource 'OpenAlex' and the scope 'authors by name', clearly distinguishing it from sibling search tools for works, sources, and institutions. It adds that results are author records with affiliations, counts, and h-index, leaving no ambiguity about what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when an agent needs to find authors by name, but it does not explicitly state when to prefer this over alternatives like oa_get_author for known IDs or oa_author_works for an author's works. Context is present, but no exclusions or routing guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful behavior beyond that—identifier filtering rather than term search and a unified envelope return—but it does not describe pagination behavior, empty-result behavior, or any special handling. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information: scope, optional filters/sort, return envelope, and the important contrast with term search. No filler or schema repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list-by-author tool whose safety profile is covered by annotations and whose return stucture is covered by the output schema, the description is nearly complete. It could be slightly stronger by naming pagination defaults or explicitly directing term queries to oa_search_works, but nothing essential to invoking the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The visible input schema already documents author_id (OpenAlex ID or ORCID), sort_by, year_from, and year_to with descriptions; the tool description only summarizes these as 'identifier', 'optional year filter', and 'sort'. That adds useful high-level grouping but not extra per-parameter meaning, so a baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear retrieval action—works by one author—and narrows it with optional year filtering and sorting. The closing clause, 'A filter on an identifier, not a term search,' differentiates it from oa_search_works, so an agent can tell this tool from its siblings without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly signals the intended context: use when an author identifier is known and works by that author are wanted. 'Not a term search' is an explicit exclusion, but the description could have named the sibling search tools as alternatives, so it stops short of full when-to-use/when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation safe, read-only, idempotent, and non-destructive. The description adds useful behavioral details beyond those: results are ordered most-cited first, the response uses the unified envelope, and no searched_for headline is set. These additions give the agent practical expectations without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each contributing distinct information: the result set and ordering, the return envelope, and the identifier-filter caveat. There is no filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and safety annotations covering read-only and idempotent behavior, the description covers the essential remaining details: ordering, envelope, and headline behavior. The only minor gap is not explicitly pointing to a search tool to use when no identifier is available, but that is a small omission given the sibling set and clear identifier framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description clarifies that the key input is an identifier rather than a search term, which complements the schema's 'OpenAlex work ID or DOI' note. However, it does little to explain page or per_page behavior beyond what the schema defaults already convey. The added semantic value is modest but real.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: return works that cite a given work, ordered most-cited first. It explicitly distinguishes itself from term search by framing the tool as a filter on an identifier, which separates it from the search siblings. The purpose is specific, actionable, and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use this tool: when you already have a work identifier and need the works citing it. It also warns that this is not a term search and that no searched_for headline is set, which helps prevent misuse. It does not explicitly name alternative tools, but the identifier-vs-term contrast is strong enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation safe, read-only, and idempotent. The description adds useful behavior beyond that: it returns the unified envelope with a single author item or NOT_FOUND, which helps an agent anticipate the response shape and failure mode.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler. The action, identifier types, and expected outcome (single item or NOT_FOUND) are all front-loaded and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup tool with rich annotations and an output schema present, the description is complete. It covers what the tool takes, what it returns, and the main edge case (NOT_FOUND), with nothing critical missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single author_id parameter is already documented in the schema with an explicit format and example. The tool description restates that OpenAlex IDs or ORCIDs are accepted but adds no new constraints or format details, so it is adequate but not enhancing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('look up'), a specific resource ('one author'), and the accepted identifier types (OpenAlex ID or ORCID). The singular 'one author' plus the NOT_FOUND outcome clearly distinguishes this from the search-oriented sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The exact-lookup wording makes it clear this tool is for retrieving a single known author rather than searching, and the return of NOT_FOUND reinforces that it is a direct fetch. It does not explicitly name alternatives like oa_search_authors as the fallback for unknown identifiers, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses concrete behavioral traits: stemming and full-text matching, a loose count (matching_mode full_text_stemmed), and the conservative CJK-title handling that avoids guessing a language. It also warns that high breadth is expected and that filters narrow the set exactly. This materially informs how an agent should interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense, front-loaded paragraphs deliver purpose, scope, and behavioral caveats with no filler. The first sentence alone gives enough to route the call; each subsequent sentence adds unique context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With safety covered by annotations and returns covered by an output schema, the description provides the remaining operational knowledge: matching semantics, count looseness, and exactness of filters. For a search tool of this complexity, nothing essential to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions filters for year, author, institution, source, and open-access status and states they narrow results exactly, which adds a little beyond bare parameter names. However, query, pagination, sort, and ID format details are left to the schema (which already documents them). The description doesn't fully compensate for any schema-description gap, but the addition of the exact filtering behavior warrants a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Search OpenAlex for scholarly works') and enumerates the covered document types (articles, books, datasets, theses). This clearly differentiates it from sibling tools like oa_get_work (single-work lookup) and oa_search_authors/oa_search_sources, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for query-based scholarly search and explains the effect of filters, but it never explicitly contrasts itself with alternatives. It does not state when to prefer oa_author_works or oa_cited_by instead, nor provide when-not-to-use guidance. This leaves usage routing to inference rather than explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, open-world, and non-destructive. The description adds useful runtime behavior beyond annotations: it returns the unified envelope with a single item, or NOT_FOUND. This helps the agent anticipate the response shape and missing-record handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler: the first states the action and accepted inputs, the second states the response behavior. The most important information is front-loaded and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter lookup tool with rich annotations and an output schema, the description is complete. It covers what the tool does, what inputs are accepted, what the response envelope looks like, and the not-found behavior. No critical operational information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage reported at 0%, the tool description compensates by explicitly naming all three accepted forms for work_id: OpenAlex ID, DOI, and PMID. This fully specifies the parameter's core semantics, though it does not elaborate on formatting rules such as required DOI URL structure.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Look up'), a specific resource ('one work'), and enumerates the accepted identifier types (OpenAlex ID, DOI, PMID). It clearly distinguishes this tool from search-oriented siblings like oa_search_works and from oa_get_author by focusing on a single work lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool should be used when the agent already has a known work identifier. It does not explicitly name alternatives or state when-not-to-use conditions, so it stops short of full routing guidance, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: