OpenAlex Research MCP Server
The OpenAlex Research MCP Server provides AI assistants with comprehensive access to OpenAlex's scholarly database of 240+ million works through 18 specialized tools.
Core Capabilities:
Literature Search & Discovery: Advanced search with Boolean operators (AND, OR, NOT), filters for publication year/citation counts/open access status/work types, sort options, and fast autocomplete; retrieve complete paper details with full author lists, abstracts, topics, and funding; find related papers; explore literature by topic
Citation Analysis: Forward citation tracking (who cites a work), backward citation tracking (what a work cites), build citation networks with configurable depth, identify top-cited influential papers with customizable thresholds
Author & Researcher Analysis: Search researchers with filters for publications/citations/affiliations; analyze publication histories over time; map co-authorship networks; access complete profiles including positions, institutions, ORCID IDs, and corresponding author information
Institution Analysis: Search and filter academic institutions by name, type, country, research output metrics, and geographical location
Research Trends & Landscape: Track topic evolution over time with year-by-year data; compare activity across fields; discover emerging research areas based on recent growth; map global research distribution by geography
Publication Venues: Search journals and conferences with filters for type, open access policy, and volume; access venue metadata and impact metrics
Entity Lookup: Get detailed information for any OpenAlex entity (works, authors, sources, institutions, topics, publishers, funders) using multiple identifier formats (OpenAlex IDs, DOIs, ORCIDs, URLs)
Technical Features: In-memory caching with TTL for performance; retry logic with exponential backoff for resilience; input validation with Zod schemas; optimized response sizes (80-90% reduction for search results); two-tier response system with summarized search results and dedicated get_work tool for complete details
Provides access to scholarly papers through OpenAlex's catalog, which indexes arXiv preprints along with 240+ million other academic works, enabling literature search, citation analysis, and research trend tracking.
Supports DOI-based lookups for retrieving detailed metadata about scholarly works, including citations, authors, and publication information from the OpenAlex catalog.
Provides filtering and search capabilities for open access scholarly works, including access status, URLs, and the ability to filter searches specifically for open access publications.
Integrates ORCID identifiers for author identification and retrieval, enabling lookup of researchers and their publications using ORCID IDs through the OpenAlex database.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenAlex Research MCP Serverfind recent influential papers on quantum machine learning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenAlex MCP Server
A Model Context Protocol (MCP) server that provides access to OpenAlex, a comprehensive open catalog of scholarly papers, authors, institutions, and more. Designed to empower AI assistants to conduct literature reviews, analyze research trends, and map the scholarly landscape.
Quick Install
npx openalex-research-mcp setupThis auto-detects your Claude Desktop config, prompts for your email and optional API key, writes the config, and verifies connectivity — all in one step. Restart Claude Desktop when done.
Flags:
--print— print the config JSON without writing anything--config-path— print the detected config file path and exit--email you@example.com --api-key YOUR_KEY— non-interactive / scripted mode
Features:
⚡️ In-memory caching with TTL for fast repeated requests
🔄 Retry logic with exponential backoff for resilient API calls
✅ Input validation with Zod schemas
🏥 Health check tool for monitoring
📊 31 specialized tools for research
🎓 Curated journal presets — UTD24, FT50, AJG/ABS tiers, top AI conferences, and more
🏛️ Institution group presets — Ivy League, Top US, INSEAD+London, and more
Related MCP server: OpenAlex MCP Server
Use as a Claude Skill (lightweight alternative)
The same OpenAlex access is also packaged as a Claude Skill under
skill/ — a token-frugal alternative to the always-on MCP server.
A skill loads into the agent's context only when invoked and shells out to a
small zero-dependency CLI, so it costs nothing while idle. Use the MCP server
in MCP clients (Claude Desktop, TypingMind); use the skill in coding agents
(Claude Code, etc.) that already have shell access.
chmod +x skill/bin/openalex && export PATH="$PWD/skill/bin:$PATH"
export OPENALEX_EMAIL="you@example.com" # optional: faster polite pool
openalex works "supply chain network" -n 5See skill/README.md for install and the MCP-vs-skill
trade-off. (The industry is steadily shifting routine API access from always-on
MCP servers toward on-demand skills — this repo ships both.)
Features
Access 240+ million scholarly works through 31 specialized tools:
Literature Search & Discovery
search_works: Advanced search with Boolean operators, venue/journal filters, institution filters, citation thresholds, and sorting
get_work: Get complete metadata for a specific work (all authors, full abstract, references)
get_related_works: Find similar papers based on citations and topics
search_by_topic: Explore literature in specific research domains
autocomplete_search: Fast typeahead search for all entity types
Credibility-Gated Search (Journal & Conference Presets)
list_journal_presets: List all available named journal/conference and institution group presets
search_in_journal_list: Search within a named preset list (UTD24, FT50, AJG 4*/4/3, top AI conferences, etc.) with optional institution filtering
search_works_in_venue: Search within a specific venue by name, ISSN, or OpenAlex ID
get_top_venues_for_field: Discover top journals/conferences in a field ranked by h-index
check_venue_quality: Inspect h-index, impact, and indexing status of any venue
Citation Analysis
get_work_citations: Forward citation analysis (who cites this work)
get_work_references: Backward citation analysis (what this work cites)
get_citation_network: Build complete citation networks for visualization
get_top_cited_works: Find the most influential papers in a field
Author & Institution Analysis
search_authors: Find researchers with h-index, citation metrics, and affiliations
search_authors_by_expertise: Find leading experts in a topic ranked by h-index
get_author_profile: Full research profile: h-index, i10-index, top works, recent works
get_author_works: Analyze an author's publication history
get_author_collaborators: Map co-authorship networks
search_institutions: Find leading academic institutions
High-Value Citation Finding
find_review_articles: Find review papers and meta-analyses (high-value context citations)
find_seminal_papers: Find foundational "must-cite" papers (high citation count, published 5+ years ago)
find_open_access_version: Find freely available versions of papers with PDF links
batch_resolve_references: Validate up to 20 DOIs/IDs at once
Research Landscape & Trends
analyze_topic_trends: Track research evolution over time
compare_research_areas: Compare activity across different fields
get_trending_topics: Discover emerging research areas
analyze_geographic_distribution: Map global research activity
Entity Lookup
get_entity: Get detailed information for any OpenAlex entity
search_sources: Find journals, conferences, and publication venues (sorted by h-index)
Journal & Conference Presets
Presets let you restrict searches to credible, high-impact venues and institution groups without manually specifying ISSNs or names. Call list_journal_presets to see all available options at any time.
Available Journal/Conference Presets
Key | Name | Description |
| UT Dallas 24 | Official UTD journal list for business school rankings (34 journals) |
| FT50 Journals | Financial Times 50 journals for MBA/business school rankings |
| AJG/ABS 4* | World elite journals — the most prestigious tier in the ABS Guide |
| AJG/ABS 4 | Top international journals — excellent quality |
| AJG/ABS 3 | Internationally recognised journals — solid quality |
| MS + IS + Operations | Management Science, M&SOM, MIS Quarterly, ISR, JMIS, OR, POM |
| Top AI Conferences | NeurIPS, ICML, ICLR, AAAI, CVPR, ICCV, ACL, EMNLP, KDD, IJCAI |
| Top CS Conferences | SOSP, OSDI, SIGCOMM, CHI, VLDB, SIGMOD, PLDI |
| Nature & Science Family | Nature, Science, and branded sub-journals |
Available Institution Group Presets
Key | Name | Institutions |
| Harvard / Stanford / MIT | Harvard, Stanford, MIT |
| Ivy League | All 8 Ivy League universities |
| Top US Research Universities | Harvard, Stanford, MIT, Berkeley, Caltech, Chicago, Princeton, Yale, Columbia, Penn |
| Top US Business Schools | Harvard, Stanford, Wharton, Booth, Kellogg, Sloan, Columbia, Stern, Darden, Tuck |
| INSEAD + London Schools | INSEAD, LBS, Imperial, LSE, Oxford, Cambridge |
| Top Global Business Schools | Best of |
| Top Chinese Universities | Peking, Tsinghua, Fudan, SJTU, ZJU, CUHK, HKU |
Example Preset Queries
# AI papers in UTD24 journals
search_in_journal_list(query="artificial intelligence", journal_list="utd24")
# AI papers in Management Science + M&SOM
search_in_journal_list(query="artificial intelligence", journal_list="ms_misq_ops")
# AI papers in FT50 journals since 2020
search_in_journal_list(query="artificial intelligence", journal_list="ft50", from_year=2020)
# AI papers in top AI conferences
search_in_journal_list(query="artificial intelligence", journal_list="top_ai_conferences")
# AI papers in AJG 4* journals
search_in_journal_list(query="artificial intelligence", journal_list="abs4star")
# AI papers in UTD24 journals by Harvard/Stanford/MIT authors
search_in_journal_list(query="artificial intelligence", journal_list="utd24", institution_group="harvard_stanford_mit")
# AI papers by professors at INSEAD
search_works(query="artificial intelligence", author_institution="INSEAD")
# AI papers by anyone from Harvard, Stanford, or MIT
search_works(query="artificial intelligence", institution_group="harvard_stanford_mit")Requesting Additional Presets
📬 Want a new journal group added? The preset lists (UTD24, FT50, AJG tiers, etc.) are curated in the source code. If your field uses a different ranking system — ABDC, VHB-JQ, CNRS, Norwegian list, discipline-specific lists, or any custom journal group — open a GitHub issue and I will add it. Include the list name, a short description, and the ISSNs or venue names. Community contributions via pull requests are also very welcome.
Installation
Option 1: Install from npm (Recommended)
# Install globally
npm install -g openalex-research-mcp
# Or use directly with npx (no installation needed)
npx openalex-research-mcpOption 2: Install from source
# Clone the repository
git clone https://github.com/oksure/openalex-research-mcp.git
cd openalex-research-mcp
# Install dependencies
npm install
# Build the TypeScript code
npm run buildConfiguration
Environment Variables (Optional but Recommended)
Set your email to join the "polite pool" for better rate limits:
export OPENALEX_EMAIL="your.email@example.com"For premium users with an API key:
export OPENALEX_API_KEY="your-api-key"Claude Desktop Configuration
Add to your Claude Desktop config file:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %LOCALAPPDATA%\Packages\Claude_<id>\LocalCache\Roaming\Claude\claude_desktop_config.json
Tip: In Claude Desktop, go to File → Settings → Developer → Edit Config to open the correct config file directly. The
npx openalex-research-mcp setupcommand also auto-detects the path.
If you installed via npm/npx:
{
"mcpServers": {
"openalex": {
"command": "npx",
"args": ["-y", "openalex-research-mcp"],
"env": {
"OPENALEX_EMAIL": "your.email@example.com"
}
}
}
}If you installed from source:
{
"mcpServers": {
"openalex": {
"command": "node",
"args": ["/absolute/path/to/openalex-research-mcp/build/index.js"],
"env": {
"OPENALEX_EMAIL": "your.email@example.com"
}
}
}
}TypingMind and Other MCP Clients
The same configuration format works for TypingMind and other MCP-compatible clients.
⚠️ TypingMind Users: If you encounter "tool_use_id" errors, see TYPINGMIND.md for troubleshooting steps and best practices. TL;DR: Start a new chat, request fewer results (5-10), and use specific queries with filters.
Usage Examples
Example 1: Literature Review for AI Safety
Find the most influential papers on AI safety published since 2020The assistant will use get_top_cited_works with appropriate filters to find highly-cited papers in AI safety research. The tool automatically filters for papers with at least 50 citations by default, ensuring results focus on influential work. For the most impactful papers, you can specify a higher threshold like min_citations: 200.
Example 2: Citation Network Analysis
Get the citation network for the paper "Attention Is All You Need" (DOI: 10.48550/arXiv.1706.03762)The assistant will use get_citation_network to build a network of citing and referenced papers, enabling visualization of research impact.
Example 3: Research Trend Analysis
Show me how quantum computing research has evolved over the past 10 yearsThe assistant will use analyze_topic_trends to group publications by year and show growth patterns.
Example 4: Finding Collaborators
Who are the main collaborators of Geoffrey Hinton?The assistant will use get_author_collaborators to analyze co-authorship patterns.
Example 5: Comparative Research Analysis
Compare research activity in "deep learning", "reinforcement learning", and "federated learning" from 2018-2024The assistant will use compare_research_areas to show relative publication volumes.
Example 6: Geographic Research Mapping
Which countries are leading research in climate change mitigation?The assistant will use analyze_geographic_distribution to map research activity by country.
Example 7: Top-Journal Citation Search
Find influential papers on "large language models" published in UTD24 journals since 2020The assistant will use search_in_journal_list with journal_list="utd24" and from_year=2020.
Example 8: Institution-Filtered Search
Find papers on supply chain resilience published by researchers at Harvard, Stanford, or MITThe assistant will use search_works with institution_group="harvard_stanford_mit".
Example 9: Seminal Paper Discovery
What are the must-cite foundational papers in transformer models?The assistant will use find_seminal_papers with min_citations=500 to find highly-cited, older foundational works.
Example 10: Expert Discovery
Who are the top researchers in reinforcement learning, and where are they based?The assistant will use search_authors_by_expertise with topic="reinforcement learning", sorted by h-index.
Response Format
The MCP server uses a two-tier response system to balance performance and completeness:
Summarized Responses (Search Results)
For list operations (search_works, get_citations, get_author_works, etc.), responses include only essential information:
Included:
Core identifiers (ID, DOI, title)
Publication metadata (year, date, type)
Citation metrics (cited_by_count)
First 5 authors (with
authors_truncatedflag if more exist)Primary topic classification
Open access status and URLs
Source/journal name
Abstract preview (first 500 chars)
Excluded to reduce size:
Full author lists beyond 5 authors
All secondary topics/concepts
Complete affiliation details
Full reference lists
Detailed bibliographic data
This optimization reduces response sizes by ~80-90% (from ~10 KB to ~1.7 KB per work), making the server compatible with all MCP clients including TypingMind and Claude Desktop.
Full Details (get_work tool)
When you need complete information about a specific paper, use the get_work tool with a work ID or DOI. This returns:
Complete Author Information:
ALL authors (not just first 5)
Position indicators (first, middle, last author)
Institutions and affiliations
ORCID IDs
Corresponding author flags
Country information
Complete Content:
Full abstract (reconstructed from OpenAlex index)
All topics (not just primary)
Complete bibliographic data
Funding and grant information
Keywords
Complete reference and citation lists
Use Cases:
Identifying PIs (often last author in biomedical fields)
Finding corresponding authors
Getting complete author affiliations
Accessing full abstracts
Comprehensive paper analysis
Tool Reference
Search Parameters
Most search tools support these common parameters:
from_year / to_year: Filter by publication year range
min_citations: Minimum citation count (e.g.,
50for solid papers,200for highly influential)cited_by_count: Citation filter with operator (e.g.,
">100") — prefermin_citationsfor simplicitysource_name / source_issn / source_id: Filter by journal or conference
author_institution: Filter by author institution name (pipe-separated for OR, e.g.,
"Harvard University|MIT")institution_group: Named institution group preset (e.g.,
harvard_stanford_mit)is_oa: Filter for open access works only
sort: Sort results (
relevance_score,cited_by_count:desc,publication_year:desc)page / per_page: Pagination (max 200 per page; default 10, use 20 for broader coverage)
Boolean Search
The search_works and related tools support Boolean operators:
"machine learning" AND (ethics OR fairness)
"climate change" NOT "climate denial"
(AI OR "artificial intelligence") AND safetyIdentifiers
OpenAlex accepts multiple identifier formats:
OpenAlex IDs: W2741809807, A5023888391
DOIs: 10.1371/journal.pone.0000000
ORCIDs: 0000-0001-2345-6789
URLs: Full OpenAlex URLs
API Rate Limits
Default: 100,000 requests/day, 10 requests/second
Polite Pool (with email): Better performance and reliability
Premium (with API key): Higher limits and exclusive filters
Development
# Watch mode for development
npm run watch
# Build
npm run build
# Run
npm startData Source
All data comes from OpenAlex, an open and comprehensive catalog of scholarly papers, authors, institutions, and more. OpenAlex indexes:
240+ million works (papers, books, datasets)
50,000+ new works added daily
Full citation network and metadata
Author affiliations and collaboration data
Publication venues and impact metrics
Use Cases
This MCP server is ideal for:
Literature Reviews: Systematically search and analyze research papers
Citation Analysis: Understand research impact and influence
Trend Analysis: Track how research topics evolve over time
Collaboration Mapping: Identify research networks and partnerships
Gap Analysis: Find understudied areas in research
Comparative Studies: Compare research activity across fields
Institution Benchmarking: Analyze research output by institution
Author Profiling: Study researcher publication patterns
License
MIT
Contributing
Contributions are welcome! Here's how to get involved:
Reporting bugs
Search existing issues before opening a new one.
Include a clear description of what you expected vs. what happened.
If the bug involves an API call, paste the relevant curl command or error message so it can be reproduced quickly (see the OpenAlex API docs for reference).
Requesting features
Open an issue with the
enhancementlabel.Describe the use case and, if possible, sketch the desired tool name, input parameters, and example output.
Submitting pull requests
Fork the repo and create a branch from
master(e.g.fix/my-bugorfeat/my-feature).Make your changes following the patterns in CLAUDE.md (two-layer architecture,
summarizeWorkfor list results,getFullWorkDetailsfor single-work lookups, etc.).Add tests — run
npm test(vitest) to make sure all 26+ existing tests still pass, and add new tests intests/for any new behaviour.Build with
npm run buildto confirm there are no TypeScript errors.Open a PR against
masterwith a clear description of the problem and fix, including any curl-level reproduction steps for API-related bugs.
Note on API quirks: Before adding new filter logic, check the "OpenAlex API Quirks & Common Bugs" section in CLAUDE.md — several non-obvious behaviours (date filters, sort suffixes, DOI encoding) are documented there.
Resources
Available Tools
31 toolsanalyze_geographic_distributionB
Analyze the geographical distribution of research activity for a topic or query. Shows which countries and institutions are most active.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query or topic to analyze. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | Analyze up to this year | |
| from_year | No | Analyze from this year onwards | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. While it states the output (countries and institutions), it does not explain whether results are aggregated, limited by data source, or if there are restrictions on query scope. Key behavioral details like caching, pagination, or API limits are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. Efficient but could be slightly more concise by merging the second sentence. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the return value structure (e.g., list of countries with counts). It only vaguely mentions 'shows which countries and institutions are most active'. With 5 parameters and no annotations, the description lacks completeness for an analysis tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a clear description. The description adds no new parameter information beyond what the schema provides. A baseline of 3 is appropriate since the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function ('analyze the geographical distribution of research activity') and specifies what it shows ('which countries and institutions are most active'). This effectively identifies the tool's purpose and distinguishes it from siblings like 'analyze_topic_trends'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use this tool vs. alternatives (e.g., 'analyze_topic_trends'). The description implies usage for geographical analysis but lacks context about when it is appropriate or not, and does not mention prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_topic_trendsA
Analyze publication trends over time for specific topics or queries. Returns works grouped by year to show research evolution and growth.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query or topic to analyze. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | End year for trend analysis | |
| from_year | No | Start year for trend analysis | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It states that the tool analyzes trends and returns grouped works, which is transparent for the basic operation. However, it does not disclose any additional behavioral traits such as rate limits, resource consumption, or response limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and contains no extraneous words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 well-documented parameters and no output schema. The description explains the output (works grouped by year) adequately but lacks details on pagination, response structure, or edge cases. Given the absence of annotations, it is minimally sufficient but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters have 100% schema coverage with detailed descriptions, especially for 'exact_phrase' and 'search_field'. The tool description does not add any new meaning beyond what the schema already provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'analyze' and the resource 'publication trends over time' with a specific output 'returns works grouped by year'. This distinguishes it from sibling tools like 'get_trending_topics' (current trends) and 'analyze_geographic_distribution' (geographic focus).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it. While the purpose is clear, there are no usage conditions or exclusions, forcing the agent to infer from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
autocomplete_searchA
Fast autocomplete/typeahead search for works, authors, institutions, or other entities. Returns quick suggestions for partial queries.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Partial search query | |
| entity_type | Yes | Type of entity to search: works, authors, institutions, sources, topics, publishers, funders |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes the output as 'suggestions' but does not disclose details such as result limits, permissions, or side effects. The description is not misleading but could be more transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are front-loaded with purpose and concise, with no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two parameters and no output schema, the description is fairly complete. It explains what it does and the nature of the output. However, lacking details like result count or limitations keeps it from a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds context about partial queries for query and lists entity types, slightly enhancing understanding but not significantly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Fast autocomplete/typeahead search' and specifies it returns 'quick suggestions for partial queries'. The verb and resource are well-defined, and it implicitly distinguishes from sibling full-search tools by emphasizing speed and partial queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates use for partial queries needing quick suggestions, but lacks explicit guidance on when not to use or alternatives. The context from sibling tools (e.g., search_works) provides implicit differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_resolve_referencesA
Resolve a list of DOIs or work IDs to full work metadata in one call. Useful for checking reference lists: validate that a set of citations are real, credible, and appropriately cited.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of DOIs (e.g., "10.1038/nature12373") or OpenAlex IDs (e.g., "W2741809807"). Max 20 per call. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It does not mention read-only nature, error handling for invalid IDs, rate limits, or the structure of returned metadata. This leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the function and followed by a practical use case. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and no output schema, the description covers the basic operation but omits details about the return value (what 'full work metadata' includes) and any behavioral aspects. It is minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the 'ids' parameter with a clear format and limit. The description adds minimal value by restating the purpose and max of 20, which is already in the schema. With 100% schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool resolves DOIs or work IDs to full work metadata in one batch call, and explicitly mentions its use case for checking reference lists. This distinguishes it from single-work tools like get_work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a specific use case (checking reference lists) and implies when to use this batch approach versus individual lookups. However, it does not explicitly mention when not to use it or compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_venue_qualityA
Check the quality and prestige metrics of a journal or conference. Returns h-index, citation impact, and indexing status. Use before citing a paper to confirm the venue is reputable.
| Name | Required | Description | Default |
|---|---|---|---|
| venue_id | No | OpenAlex source ID | |
| venue_issn | No | ISSN for precise lookup | |
| venue_name | No | Journal or conference name to look up |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the outputs but does not mention potential errors (e.g., venue not found), rate limits, or authentication needs. The description implies a read-only query, but more detail on what happens with invalid input would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and outputs. Every sentence is informative and necessary, with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the return values (h-index, citation impact, indexing status) but lacks detail on format (e.g., whether citation impact is a percentile or number) and does not handle edge cases like missing venue. Given no output schema, this is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add additional parameter-level meaning beyond what the schema already provides (e.g., it doesn't clarify that at least one parameter should be provided or which combination is preferred).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: checking quality and prestige metrics of a journal or conference, listing specific outputs (h-index, citation impact, indexing status) and a concrete use case. This distinguishes it from sibling tools that focus on authors, works, or trends.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises when to use the tool ('Use before citing a paper to confirm the venue is reputable'), providing clear context. It lacks explicit exclusions or alternatives, but the guidance is direct and helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_research_areasA
Compare publication volume and citation metrics across different research topics or queries. Useful for understanding relative activity in different fields.
| Name | Required | Description | Default |
|---|---|---|---|
| topics | Yes | Array of topics/queries to compare (2-5 recommended). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | Compare up to this year | |
| from_year | No | Compare from this year onwards | |
| exact_phrase | No | Set to true for exact phrase matching on all topics in the array. Without this, search terms are matched independently. Applies uniformly to every topic — cannot selectively quote individual items. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states what the tool does without mentioning any side effects, rate limits, or read-only nature. Given the lack of annotations, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, the first stating the core action and the second providing a use case. It is efficient with no wasted words, though front-loading key terms could be slightly improved.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does not explain what the comparison results look like (e.g., metrics returned, format). Given four parameters and the comparative nature, the description misses critical contextual details for an agent to fully understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline parameter descriptions. The tool description adds some extra guidance for 'topics' (recommended count) and 'exact_phrase' (uniform application), but adds minimal value for date parameters. Overall, description does not substantially enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares publication volume and citation metrics across multiple research topics. It distinguishes from sibling tools like 'analyze_topic_trends' (single topic trends) and 'search_by_topic' (retrieving works), making its purpose specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes the tool is 'useful for understanding relative activity in different fields,' implying when to use it. However, it does not explicitly exclude cases or mention alternatives among siblings, though the context of sibling tools provides some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_open_access_versionA
Find freely available (open access) versions of papers, including preprints on arXiv, bioRxiv, and institutional repositories. Useful for accessing full text without a subscription.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Topic query to find OA papers on. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 50) | |
| from_year | No | From publication year | |
| source_name | No | Optional: restrict to a specific venue | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool finds OA versions but omits details like whether it checks multiple repositories, what happens if no version exists, or any rate limits or authentication needs. This leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, no redundant information, and front-loads the core purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 7 parameters and no output schema, the description is very brief. It does not explain what the tool returns (e.g., list of links, metadata), nor does it cover edge cases or response format. This leaves the agent without full context for reliable usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all parameters, so the description does not need to add per-parameter details. It adds overall context (e.g., mentioning preprint sources) but does not elaborate on parameter semantics beyond the schema, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool's function: finding freely available open access versions of papers, including preprints. It distinguishes itself from sibling tools like search_works by focusing specifically on OA full-text access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool is useful for accessing full text without a subscription, providing context for when to use it. However, it does not explicitly mention when not to use it or suggest alternatives, which would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_review_articlesA
Find review articles, systematic reviews, and meta-analyses on a topic. Reviews summarize the state-of-the-art and are high-value citations that establish context in top papers. Optionally restrict to specific high-impact journals.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Topic or research question. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | To year | |
| per_page | No | Results per page (default: 10, max: 50) | |
| from_year | No | From year | |
| source_name | No | Restrict to a specific journal (e.g., "Nature Reviews", "Annual Review") | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citations (default: 10; use 50+ for highly-cited reviews) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It states the tool finds reviews but does not disclose any behavioral traits like rate limits, authentication needs, or result limits. It is not misleading but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines the tool's core function, second adds context and an optional feature. No unnecessary words, and the key information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 8 parameters and no output schema, the description covers the overall purpose and a key configuration option (journal restriction). It lacks details on return format or pagination, but given the straightforward nature of search tools, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with detailed parameter descriptions. The tool description adds value by explaining the purpose of reviews and mentioning optional journal restriction, which complements the schema. The description does not repeat schema details but provides context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds review articles, systematic reviews, and meta-analyses, and explains their value as high-quality citations. This distinguishes it from sibling tools like 'search_works' (general works) and 'find_seminal_papers' (landmark papers).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool (to establish context in top papers) and hints at optional journal restriction. However, it does not explicitly mention when not to use it or compare directly with alternatives like 'search_works'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_seminal_papersA
Find seminal/foundational papers in a research area — those published more than 5 years ago with very high citations. These are the "must-cite" papers that establish the intellectual lineage of a field. Use to identify citations that reviewers expect to see.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Research topic or concept. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 50) | |
| source_name | No | Restrict to a specific venue (e.g., "Nature", "Science", "NeurIPS") | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count (default: 200 since these are foundational papers) | |
| published_before | No | Only papers published before this year (default: current year - 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description discloses defaults for min_citations and published_before and clarifies the 'seminal' concept, but does not detail sorting, pagination behavior, or output structure beyond per_page max.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences plus a usage statement; each sentence adds value without redundancy, front-loaded with key purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately complete given 7 params and no output schema: explains defaults, semantics, and use case. Could detail output format but not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with good parameter descriptions; the main description does not add meaning beyond what's already in the schema, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds seminal/foundational papers with constraints (older than 5 years, high citations) and distinguishes itself by emphasizing 'must-cite' papers, differentiating from generic search tools like search_works.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage context ('Use to identify citations that reviewers expect to see') but lacks explicit when-not-to-use or alternatives, though the context is clear enough for agents to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_author_collaboratorsB
Analyze an author's co-authorship network. Returns frequent collaborators and collaboration statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| author_id | Yes | Author identifier (OpenAlex ID, ORCID, or URL) | |
| min_collaborations | No | Minimum number of co-authored papers to include (default: 1) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It does not disclose behavioral traits such as whether it is read-only, if authentication is needed, or how invalid input is handled. Only the basic function is described, missing critical context for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with purpose. However, it could be slightly more efficient by combining the two sentences without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description is minimal. It does not specify the output structure (e.g., what fields are returned for collaborators and statistics). Adequate for a simple tool but lacks completeness for an agent to fully understand what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so baseline is 3. Description adds no additional meaning beyond 'frequent collaborators' and does not clarify parameter formats (e.g., author_id format, default value for min_collaborations).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Analyze', the resource 'author's co-authorship network', and the outcome 'returns frequent collaborators and collaboration statistics'. It distinguishes itself from sibling tools like 'get_author_profile' or 'get_author_works' by focusing specifically on co-authorship network analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing co-authorship but does not explicitly state when to use this tool versus alternatives like 'get_author_works'. No guidance on when not to use it or prerequisites (e.g., valid author_id).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_author_profileA
Get a comprehensive research profile for an author: h-index, i10-index, total citations, top-cited works, recent works, and main research topics. Use this to identify key researchers, potential reviewers, or to study an expert's body of work.
| Name | Required | Description | Default |
|---|---|---|---|
| author_id | Yes | Author identifier: OpenAlex ID (A1234), ORCID (0000-0001-2345-6789), or full URL | |
| top_works_count | No | Number of top-cited works to return (default: 5) | |
| recent_works_count | No | Number of recent works to return (default: 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes what data is returned but does not disclose additional behavioral traits beyond a read operation. With no annotations, the description 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states functionality, second gives usage context. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description lists key return fields (h-index, citations, etc.), making it fairly complete. Could mention limits on counts or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. Description mentions top-cited and recent works, which aligns with parameters, but adds no new semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves a comprehensive research profile including h-index, i10-index, citations, top-cited works, recent works, and topics. Differentiates from siblings like get_author_works or get_top_cited_works by being comprehensive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states use cases: identify key researchers, potential reviewers, or study an expert's body of work. Lacks explicit comparison to alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_author_worksB
Get all publications by a specific author over time. Useful for analyzing an author's research trajectory and productivity.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by: publication_year, cited_by_count | |
| to_year | No | Get works up to this year | |
| per_page | No | Works per page (default: 10, max: 200) | |
| author_id | Yes | Author identifier (OpenAlex ID, ORCID, or URL) | |
| from_year | No | Get works from this year onwards |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states 'Get all publications', but the schema includes pagination (`per_page`), meaning it does not actually return all works without paging. The description fails to mention pagination, response format, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise, front-loaded sentences. The first sentence delivers the primary action, and the second adds context. There is no wasted or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks an explanation of the return value (no output schema provided). It also does not provide enough context for a tool with 5 parameters, such as pagination behavior or sorting options, leaving agents underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for all 5 parameters, so the baseline is 3. The description does not add any additional meaning beyond the schema; it does not elaborate on how the year range or sorting parameters affect results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves publications by a specific author over time, using a specific verb ('Get') and resource. It distinguishes itself from sibling tools like 'search_works' by focusing on a single author's trajectory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is useful for analyzing research trajectory and productivity, implying when to use it. However, it does not provide explicit guidance on when not to use it or contrast with alternatives such as 'get_author_profile' or 'get_author_collaborators'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_citation_networkA
Get a citation network for a work including both citing works (forward) and referenced works (backward). Returns immediate connections only. Citing works are returned as summaries; referenced works as IDs (use batch_resolve_references to hydrate).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Work identifier (OpenAlex ID, DOI, or URL) | |
| max_citing | No | Maximum number of citing works to include (default: 50, max: 200) | |
| max_references | No | Maximum number of referenced works to include (default: 50, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavior. It discloses that only immediate connections are returned and details the asymmetric output (citing as summaries, references as IDs), which adequately informs the agent of key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. The most critical information is front-loaded, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
In the absence of an output schema, the description explains the return format (citing summaries, reference IDs) and references a sibling tool for hydration. It could mention pagination or default limits in the description itself, but overall it is sufficiently complete for an experienced agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description does not add new information about parameters beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves a citation network including both forward (citing) and backward (referenced) works, distinguishing it from separate forward-only or backward-only sibling tools like get_work_citations and get_work_references.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises using batch_resolve_references for full reference details, providing some usage guidance. However, it does not explicitly contrast with sibling tools for directional-only requests, missing an opportunity to guide when not to use this combined tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_entityA
Get detailed information about any OpenAlex entity by ID. Supports works, authors, sources, institutions, topics, publishers, and funders.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Entity identifier (OpenAlex ID, DOI, ORCID, or other supported ID) | |
| entity_type | Yes | Type of entity |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only states the tool returns 'detailed information' without specifying what that includes, whether it's read-only, or any rate limits or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that efficiently communicates purpose and supported types with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimally adequate given the simple parameter set and full schema coverage, but it does not clarify what 'detailed information' entails or how this tool compares to specific entity getters, leaving some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing baseline 3. The description adds the list of supported entity types, which is already in the schema's enum, and emphasizes 'by ID', which is already clear from the schema's id description. Minimal added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Get detailed information' and specifies the resource 'any OpenAlex entity by ID', clearly distinguishing it from sibling tools that focus on specific entity types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists supported entity types, allowing an agent to infer appropriate usage, but it lacks explicit guidance on when to use this generic tool vs. more specific siblings like get_work or get_author_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_cited_worksA
Find the most highly cited works in a research area or matching specific criteria. Identifies influential and seminal papers. Automatically filters for papers with significant citations. Combine with source_name or source_issn to find the most-cited papers in a specific top journal/conference.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query to filter works (optional). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| topic | No | Filter by research topic. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | Consider works up to this year | |
| per_page | No | Number of top works to return (default: 10, use 20 for broader coverage, max: 200) | |
| from_year | No | Consider works from this year onwards | |
| source_issn | No | Restrict to a specific journal/conference by ISSN (most precise) | |
| source_name | No | Restrict to a specific journal or conference by name (e.g., "Nature", "NeurIPS", "ICML") | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count threshold (default: 50). Use higher values (e.g., 200) for only the most influential papers. | |
| institution_group | No | Named institution group: harvard_stanford_mit, ivy_league, top_us, insead_london, top_global_business, top_china | |
| author_institution | No | Filter by author institution. Use | for OR. E.g., "Harvard University|MIT" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently states 'Automatically filters for papers with significant citations', which is a key behavior. However, it omits details like rate limits, authentication needs, or what happens when no results are found. Overall clear for a read-only query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the core purpose, and each sentence adds unique value. No redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and key behaviors well, but lacks information about the output format (no schema provided). Given 12 parameters and no output schema, a brief note on return fields (e.g., citation count, title) would enhance completeness, but it is still largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explaining automatic filtering, providing examples (e.g., exact phrase usage), and suggesting parameter combinations (e.g., source_issn). This guidance exceeds what the schema alone offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds 'most highly cited works' and identifies 'influential and seminal papers'. It uses a specific verb ('Find') and resource, distinguishing it from sibling tools like search_works or find_seminal_papers by its focus on citation count and automatic filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on usage, e.g., 'Combine with source_name or source_issn to find the most-cited papers in a specific top journal/conference'. However, it lacks explicit guidance on when not to use this tool versus alternatives (e.g., find_seminal_papers) or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_top_venues_for_fieldA
Get the top journals and conferences for a specific research field ranked by h-index. Essential first step before searching for citations — use this to identify credible venues, then use search_works_in_venue to restrict searches to them.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Venue type: journal, conference, repository (default: journal) | |
| query | Yes | Field or topic name (e.g., "machine learning", "climate science", "genetics"). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| per_page | No | Number of venues to return (default: 10, max: 50) | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description implies a read-only operation by stating it 'gets' venues and ranks them. It does not mention side effects, permissions, or limitations, but for a straightforward read tool, it offers sufficient insight into its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. First sentence states purpose, second and third provide usage guidance. Information is front-loaded and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple nature of the tool, full schema coverage, and no output schema, the description adequately covers purpose, workflow, and usage context. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with good descriptions. The description adds no additional parameter meaning beyond the schema, achieving the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves top journals and conferences for a research field ranked by h-index, using specific verbs and naming the resource. It distinguishes itself from sibling tools like search_works_in_venue by positioning itself as a prerequisite step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes when to use the tool ('Essential first step before searching for citations') and directs users to the next tool ('use search_works_in_venue to restrict searches to them'), providing clear context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_trending_topicsC
Discover emerging and trending research topics based on recent publication activity. Identifies fast-growing research areas.
| Name | Required | Description | Default |
|---|---|---|---|
| per_page | No | Number of trending topics to return (default: 10, max: 200) | |
| min_works | No | Minimum number of recent works for a topic to be considered trending (default: 100) | |
| time_period_years | No | Consider works from the last N years (default: 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'recent publication activity' but doesn't explain the underlying algorithm, how 'trending' is determined, or any behavioral nuances like data freshness or potential biases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences pack the core purpose efficiently without redundancy. Could be slightly more structured but is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should provide more context about return format, pagination, or error conditions. It does not address what the agent can expect from the output, leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it doesn't explain how parameters interact (e.g., min_works and time_period_years) or how they influence the results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it discovers emerging/trending topics based on recent publication activity, which is specific and distinguishes it from sibling tools like 'analyze_topic_trends' that may focus on deeper analysis. However, it could be more explicit about the differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description doesn't provide context about prerequisites, scope, or limitations that would help an agent decide between this and other topic-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workA
Get COMPLETE details about a specific work by OpenAlex ID or DOI. Unlike search results which are summarized, this returns ALL information including: complete author list (first, middle, and last authors with positions, institutions, ORCID, corresponding author flags), full abstract (reconstructed), all topics, complete bibliographic data, funding/grants, keywords, and reference lists. Use this when you need detailed information about a specific paper, especially for identifying PIs (often last author) or corresponding authors.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Work identifier. Can be OpenAlex ID (W2741809807), DOI (10.1371/journal.pone.0000000), or full URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It fully discloses that the tool returns all information, including complete author lists, abstract, topics, bibliographic data, etc. It does not mention error handling or performance, but the behavioral transparency is high for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main action. It uses four sentences efficiently, listing key details without redundancy. Slightly verbose in enumerating fields, but still appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the complexity of a work object, the description thoroughly explains what will be returned, including all critical fields. This is sufficient for an agent to understand the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and already explains the parameter format (OpenAlex ID, DOI, or URL). The description repeats this without adding significant new meaning, so value added is limited.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves complete details of a specific work by ID or DOI, contrasting with summarized search results. It specifies verb (get), resource (work), and distinguishes from sibling tools like search_works.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using this tool for detailed information about a specific paper, especially for identifying PIs or corresponding authors. It implies when not to use (when summary is enough) but doesn't name alternative tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_citationsB
Get all works that cite a given work. Essential for forward citation analysis and understanding research impact.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Work identifier (OpenAlex ID, DOI, or URL) | |
| page | No | Page number for pagination | |
| sort | No | Sort by: publication_year, cited_by_count | |
| per_page | No | Citations per page (default: 10, max: 200) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as pagination limits (though max is in schema), rate limits, response format, or any side effects. It only states the purpose without additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one sentence) and clearly states the tool's purpose. It could benefit from a second sentence about pagination or sorting, but it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain return format or key fields. It does not. The 4 parameters are well-documented in the schema, but missing outcome details make it moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all parameters described. The description adds no extra meaning beyond what the schema already provides (e.g., 'id' as OpenAlex ID, DOI, or URL is already in schema). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('works that cite a given work'). It clearly distinguishes from siblings like 'get_work_references' (which retrieves references) and provides context for forward citation analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'essential for forward citation analysis and understanding research impact,' which implies when to use it. However, it does not explicitly compare to alternative tools like 'get_citation_network' or 'search_works,' nor does it mention when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_referencesB
Get all works referenced/cited by a given work. Essential for backward citation analysis and finding foundational papers.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Work identifier (OpenAlex ID, DOI, or URL) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the action without disclosing behavioral traits such as authentication needs, rate limits, or error handling (e.g., invalid ID). Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the action front-loaded; no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool with one parameter; description covers purpose and use case but lacks information about return format or pagination. Could be more complete given the absence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter, so baseline is 3. The description adds no extra meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves works referenced by a given work, with a specific use case for backward citation analysis. However, it does not differentiate from sibling tools like get_work_citations or get_related_works.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for backward citation analysis but does not explicitly state when not to use it or mention alternative tools for forward citations or related works.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
health_checkA
Check the health status of the OpenAlex MCP server and API connectivity. Returns cache status and configuration information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. It specifies what is returned (cache status, configuration) and implies a non-destructive read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with purpose, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully adequate for a parameterless tool with no output schema; provides all necessary context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters to document; schema coverage is 100%. Description adds minimal value beyond schema, but baseline for zero params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it checks health status and API connectivity, with specific resources mentioned (cache status, configuration). No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly suggests use for verifying server health, but no explicit when-not or alternatives. Given no sibling health tools, this is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_journal_presetsA
List all available named journal/conference presets and institution group presets. Call this first to discover which preset keys to pass to search_in_journal_list or the institution_group parameter. Presets include: UTD24, FT50, AJG/ABS 4*/4/3 tiers, top AI conferences, Management Science group, Nature/Science family, and institution groups (Ivy League, Top US, INSEAD+London, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Filter by category: venues (journals/conferences) or institutions. Omit for all. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adequately discloses that it is a read-only listing tool that returns preset names and keys. It does not mention any destructive behavior, auth needs, or rate limits, but those are not applicable here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that are well-structured and front-loaded. The first sentence states the purpose, and the second provides usage guidance and examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter, no output schema needed), the description is complete. It explains what the tool does, what it returns, and how to use the results. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the optional 'category' parameter; the schema already fully describes it (100% coverage, with enum and description). The description adds no extra semantic value beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all available named journal/conference presets and institution group presets, with specific examples like UTD24, FT50, AJG/ABS tiers, and top AI conferences. It sets proper expectations for 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this first to discover which preset keys to pass to search_in_journal_list or the institution_group parameter,' providing clear when-to-use guidance and hinting at when not to use (when keys are already known). Could be improved with explicit when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_authorsA
Search for authors/researchers. Returns h-index, citation count, and affiliation data. Best for finding experts when you know the name. Use search_authors_by_expertise to find experts by research area.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort results: cited_by_count:desc (default), works_count:desc, publication_year:desc | |
| query | No | Author name or search query. For exact phrase matching of a full name (e.g., 'Sarah Jane Williams') or a concept (e.g., 'deep reinforcement learning'), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 200) | |
| institution | No | Filter by institution name or ID | |
| works_count | No | Filter by number of works. Use >X or <X. Example: ">50" | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, name/query tokens are matched independently. Use this when the query is a full name (e.g., 'Anna Maria Bianchi') or a specific multi-word concept. | |
| cited_by_count | No | Filter by total citation count. Use >X or <X. Example: ">1000" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description clarifies read-only nature (returns data) and behavior (name-based search). Could be more explicit about sorting and pagination defaults, but schema covers those. No side effects or auth issues mentioned, but likely unnecessary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three succinct sentences: purpose, return data, usage context, alternative. No fluff. Front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but description mentions key return fields (h-index, citation count, affiliation). Lacks mention of other typical fields like author ID, but adequate for a search tool. Pagination implied via schema per_page.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. Description does not add parameter-specific details beyond schema, but it summarizes return data relevant to parameters. No need for higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states action (Search) and resource (authors/researchers), specifies return data (h-index, citation count, affiliation), and distinguishes from sibling tool 'search_authors_by_expertise' by noting when to use each.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance: 'Best for finding experts when you know the name. Use search_authors_by_expertise to find experts by research area.' Clearly states usage context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_authors_by_expertiseA
Find leading researchers/experts in a specific topic or research area, ranked by h-index or citation count. More useful than search_authors when you do not know names but need to identify key figures in a field.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Research topic or field (e.g., "transformer models", "CRISPR gene editing"). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 50) | |
| institution | No | Filter by institution | |
| min_h_index | No | Minimum h-index to filter senior researchers (e.g., 20 for established researchers) | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| min_cited_by_count | No | Minimum total citations (alternative to min_h_index) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It mentions ranking by h-index or citation count and suggests parameter usage, but lacks details on pagination, sorting behavior, output structure, or request limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with purpose, and contains no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters all documented in schema and no output schema, the description adequately covers the functionality and usage context. Some organizational details (e.g., data freshness, rate limits) are absent, but not critical for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents each parameter with descriptions. The tool description adds no additional meaning beyond what the schema provides, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds leading researchers/experts in a specific topic, ranked by h-index or citation count. It distinguishes itself from search_authors by targeting name-unknown scenarios.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'More useful than search_authors when you do not know names but need to identify key figures in a field.' This provides clear when-to-use guidance, though alternatives beyond the one sibling are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_by_topicA
Search for works within specific research topics or domains. Use this to explore literature in a particular field or subfield. Supports venue filtering to restrict results to top journals/conferences.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort by: cited_by_count:desc, publication_year:desc, relevance_score (default) | |
| topic | Yes | Topic name or keywords to search for (e.g., "artificial intelligence", "climate change", "quantum computing"). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | Filter works up to this year | |
| per_page | No | Results per page (default: 10, use 20 for broader coverage, max 200) | |
| from_year | No | Filter works from this year onwards | |
| source_issn | No | Restrict to a specific journal/conference by ISSN (most precise) | |
| source_name | No | Restrict to a specific journal or conference by name (e.g., "Nature", "ICML", "PNAS") | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count threshold to filter low-impact papers | |
| institution_group | No | Named institution group preset. Options: harvard_stanford_mit, ivy_league, top_us, top_us_business, insead_london, top_global_business, top_china. Use list_journal_presets to see all. | |
| author_institution | No | Filter by author institution (exact OpenAlex display_name). Use | for OR, e.g., "Harvard University|Stanford University" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses basic functionality and venue filtering but omits details like pagination behavior, default sorting, rate limits, or what the return format looks like. The description 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: first states purpose, second adds a key capability. Every sentence earns its place, and the information is front-loaded with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 12 parameters and no output schema, the description is too brief. It covers the main purpose and one extra feature but lacks details on return behavior, pagination, or sorting defaults. Not fully complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds marginal context (e.g., exact phrase matching, venue filtering) but does not significantly enhance understanding beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Search for works within specific research topics or domains' using a specific verb and resource. It distinguishes from siblings like 'search_works' and 'search_works_in_venue' by emphasizing topic-based search and venue filtering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description advises 'Use this to explore literature in a particular field or subfield' and mentions venue filtering. However, it does not explicitly state when to use alternatives like 'search_works' or when not to use this tool, leaving room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_in_journal_listA
Search for papers in a named list of top journals or conferences (preset) rather than specifying individual venues. This is the main tool for credibility-gated searches. Examples: search in UTD24 journals, FT50, AJG 4*, top AI conferences. Combine with author_institution or institution_group to answer questions like "AI papers in top AI conferences by Harvard/Stanford/MIT authors".
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort: cited_by_count:desc (default), publication_year:desc, relevance_score | |
| query | No | Topic or keyword query (e.g., "artificial intelligence", "LLMs", "supply chain"). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | To publication year | |
| per_page | No | Results per page (default: 10, use 20 for broader coverage, max: 200) | |
| from_year | No | From publication year | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| journal_list | Yes | Preset journal list key. Use list_journal_presets to see all options. Common values: utd24, ft50, abs4star, abs4, abs3, top_ai_conferences, ms_misq_ops, nature_science, top_cs_conferences | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count (default: 0 = no filter) | |
| institution_group | No | Named institution group: harvard_stanford_mit, ivy_league, top_us, top_us_business, insead_london, top_global_business, top_china | |
| author_institution | No | Only papers by authors at this institution. Single name or pipe-separated OR list. E.g., "INSEAD" or "Harvard University|Stanford University" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It implies a read-only search but does not mention data source, result limits beyond schema, or any side effects. The focus is on usage context rather than behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, role, and examples. Front-loaded with the core idea, no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description effectively orients the user with a clear use case and examples. It could mention the data source or result format for full completeness, but it covers the essential context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds value by illustrating combinations (e.g., with author_institution) but does not explain parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches papers in preset journal/conference lists, distinguishing it from tools that search individual venues or general topics. Examples like 'UTD24 journals, FT50, AJG 4*' reinforce the specific resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly calls this 'the main tool for credibility-gated searches' and demonstrates combining with other parameters via examples. However, it does not list alternatives or when not to use it, leaving some ambiguity among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_institutionsB
Search for academic institutions with filters for research output, citations, and geographical location. Find leading institutions in specific areas.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Institution type: education, healthcare, company, archive, nonprofit, government, facility, other | |
| query | No | Institution name or search query. For exact phrase matching of a multi-word institution name (e.g., 'London School of Economics', 'Seoul National University'), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 200) | |
| works_count | No | Filter by number of works. Use >X or <X | |
| country_code | No | Filter by ISO 3166-1 alpha-2 country code (e.g., "US", "GB", "CN") | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, name tokens are matched independently (may return partial matches). Use this when the query is a specific multi-word institution name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions filters but does not discuss side effects, result structure, pagination behavior, or data freshness. The description is too brief for a tool without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff, front-loading the core purpose and key filters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the six parameters and no output schema, the description covers the main purpose but lacks details on result ordering, return format, or behavioral constraints. It is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage and each parameter is well-documented, including the exact_phrase parameter. The tool description adds minimal additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for academic institutions with filters for research output, citations, and geographical location. It distinguishes from sibling tools by its focus on institutions, but does not explicitly differentiate from other search tools like search_authors.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding leading institutions but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusion cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_sourcesA
Search for journals, conferences, and other publication sources. Results are sorted by h-index descending by default, making it easy to identify top-tier venues. Returns h-index, impact metrics, and open access status. Use check_venue_quality for detailed metrics on a specific venue, or get_top_venues_for_field to discover the best venues in a research area.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Source type: journal, conference, repository, ebook platform, book series | |
| is_oa | No | Filter for open access sources only | |
| query | No | Source/journal name or search query. For exact phrase matching of a multi-word journal name (e.g., 'Journal of Financial Economics', 'Management Information Systems Quarterly'), set exact_phrase to true. | |
| per_page | No | Results per page (default: 10, max: 200) | |
| works_count | No | Filter by number of works published. Use >X or <X | |
| exact_phrase | No | Set to true for exact phrase matching of the source name. Without this, name tokens are matched independently. Use when the journal/conference name is a specific multi-word phrase. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes sorting by h-index descending and return fields (h-index, impact metrics, OA status). Does not mention any side effects, but as a search tool, destructive behavior is unlikely. Could be improved by noting no side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise and well-structured. Front-loaded with main purpose, then adds key details about sorting and returns, and ends with usage guidelines. Each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with full schema coverage and no output schema, the description adequately explains return values and sorting. No gaps in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds context about sorting and return values but does not significantly enhance parameter understanding beyond what schema descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Search for journals, conferences, and other publication sources' with specific verb and resource. Distinguishes from sibling tools like check_venue_quality and get_top_venues_for_field by noting differences in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use alternatives: 'Use check_venue_quality for detailed metrics on a specific venue, or get_top_venues_for_field to discover the best venues in a research area.' Provides clear context for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_worksA
Search scholarly works with advanced filtering. Supports Boolean operators, year ranges, citation thresholds, venue/journal filtering (source_name, source_issn, source_id), and institution filtering (author_institution, institution_group). The most flexible search tool. Use search_in_journal_list for preset journal lists like UTD24 or FT50.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination (default: 1) | |
| sort | No | Sort: relevance_score (default), cited_by_count:desc, publication_year:desc | |
| type | No | Filter by work type: article, review, book-chapter, dataset, etc. | |
| is_oa | No | Filter for open access works only | |
| query | No | Search query. Supports Boolean operators (AND, OR, NOT). Example: "machine learning AND (neural networks OR deep learning)". For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | Filter works published up to this year | |
| per_page | No | Results per page, max 200 (default: 10; use 20 for broader coverage) | |
| from_year | No | Filter works published from this year onwards | |
| source_id | No | Filter by exact OpenAlex source ID (most reliable for conferences). | |
| source_issn | No | Filter by journal ISSN. E.g., "0025-1909" for Management Science. | |
| source_name | No | Filter by journal/conference name (partial match). E.g., "Nature", "NeurIPS", "Management Science". | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count. E.g., 50 for solid papers, 200 for highly influential. | |
| cited_by_count | No | Citation filter with operator: ">100", "<50". Prefer min_citations for simplicity. | |
| institution_group | No | Named institution group preset. Use list_journal_presets to see all. E.g., harvard_stanford_mit, ivy_league, top_us, insead_london, top_global_business. | |
| author_institution | No | Filter by author institution (OpenAlex display_name). Use | for OR. E.g., "Harvard University|Stanford University|MIT". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations were provided, so the description carries the full burden. It discloses advanced filtering capabilities (Boolean operators, exact phrase, field restriction, etc.) and gives examples. However, it does not mention what the response contains (e.g., list of works with metadata) or any limits like pagination maximum beyond per_page max 200.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The two-sentence description is concise and front-loaded: the first sentence states the purpose, and the second provides usage guidance with a specific sibling tool reference. Every sentence serves a purpose without extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (17 parameters, no output schema, no annotations), the description covers the essential aspects: purpose, filtering capabilities, and alternative tool usage. It lacks details about the output structure but is otherwise sufficient for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing a baseline of 3. The description adds value beyond the schema by explaining Boolean operator support, recommending min_citations over cited_by_count, and giving examples for institution filtering. This extra context justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search scholarly works with advanced filtering.' It lists many filter types (Boolean operators, year ranges, citation thresholds, venue, institution) and explicitly distinguishes itself from sibling tool 'search_in_journal_list' by noting that the latter is for preset journal lists like UTD24 or FT50.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs. alternatives: 'The most flexible search tool. Use search_in_journal_list for preset journal lists like UTD24 or FT50.' Also includes recommendations like 'Prefer min_citations for simplicity' for parameter usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_works_in_venueA
Search for papers published in a specific journal or conference. This is the primary tool for restricting citations to credible, high-impact venues. Identify the venue first via check_venue_quality or search_sources, then use its name, ISSN, or ID here.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort: cited_by_count:desc (default for credibility), publication_year:desc, relevance_score | |
| query | No | Topic or keyword query to search within the venue. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true. | |
| to_year | No | To publication year | |
| per_page | No | Results per page (default: 10, use 20 for broader coverage, max 200) | |
| venue_id | No | OpenAlex source ID for precise identification | |
| from_year | No | From publication year | |
| venue_issn | No | Journal ISSN for precise identification (e.g., "0028-0836" for Nature) | |
| venue_name | No | Journal/conference name (partial match). E.g., "Nature", "NeurIPS", "ICML", "PNAS", "AAAI" | |
| exact_phrase | No | Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience'). | |
| search_field | No | Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase. | |
| min_citations | No | Minimum citation count |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes the search action and parameter roles but does not disclose behaviors like pagination limits, response format, or rate limits. Since the schema covers parameters well, and the description adds the venue identification workflow, a score of 3 is appropriate for minimally adequate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first defines the action, the second provides usage guidance. Every sentence adds value, and the structure is front-loaded. No redundant or vague phrasing; ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, no output schema) and numerous siblings, the description covers the core purpose and usage guidance well. It lacks hints about the output format or field selections, which would make it fully complete for an agent relying solely on this description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the baseline is 3. The description adds value by contextualizing venue parameters ('identify the venue first') but does not enhance understanding of other parameters beyond what the schema provides. Thus, it meets the baseline without exceeding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for papers in a specific journal or conference, and positions it as the primary tool for restricting to credible venues. It uses a specific verb ('search') and resource ('works in a venue'), effectively distinguishing it from sibling tools like search_authors or search_sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: identify the venue first via check_venue_quality or search_sources, then use name, ISSN, or ID. This sets clear context for appropriate use. However, it lacks explicit 'when not to use' statements, which would strengthen guidance against using this tool for unverified or non-venue queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
26 tool updates
v0.4.0- Changed
analyze_geographic_distribution3 fields changed- added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience').", + "type": "boolean" +} - changed
Input schema / properties / query / descriptionPrevious value: -"Search query or topic to analyze"New value: +"Search query or topic to analyze. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true." - added
Input schema / properties / search_fieldAdded value: +{ + "description": "Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase.", + "enum": [ + "title", + "abstract", + "fulltext" + ], + "type": "string" +}
- Changed
analyze_topic_trends3 fields changed- added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience').", + "type": "boolean" +} - changed
Input schema / properties / query / descriptionPrevious value: -"Search query or topic to analyze"New value: +"Search query or topic to analyze. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true." - added
Input schema / properties / search_fieldAdded value: +{ + "description": "Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase.", + "enum": [ + "title", + "abstract", + "fulltext" + ], + "type": "string" +}
- Added
batch_resolve_references - Added
check_venue_quality - Changed
compare_research_areas2 fields changed- added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching on all topics in the array. Without this, search terms are matched independently. Applies uniformly to every topic — cannot selectively quote individual items.", + "type": "boolean" +} - changed
Input schema / properties / topics / descriptionPrevious value: -"Array of topics/queries to compare (2-5 recommended)"New value: +"Array of topics/queries to compare (2-5 recommended). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true."
- Added
find_open_access_version - Added
find_review_articles - Added
find_seminal_papers - Added
get_author_profile - Changed
get_author_works1 field changed- added
Input schema / properties / per_page / maximumAdded value: +200
- Changed
get_citation_network5 fields changed- removed
Input schema / properties / depthRemoved value: -{ - "description": "Network depth: 1 = immediate citations/references only, 2 = second-order connections (default: 1)", - "type": "number" -} - changed
Input schema / properties / max_citing / descriptionPrevious value: -"Maximum number of citing works to include (default: 50)"New value: +"Maximum number of citing works to include (default: 50, max: 200)" - added
Input schema / properties / max_citing / maximumAdded value: +200 - changed
Input schema / properties / max_references / descriptionPrevious value: -"Maximum number of referenced works to include (default: 50)"New value: +"Maximum number of referenced works to include (default: 50, max: 200)" - added
Input schema / properties / max_references / maximumAdded value: +200
- Changed
get_related_works1 field changed- added
Input schema / properties / per_page / maximumAdded value: +200
- Changed
get_top_cited_works10 fields changed- added
Input schema / properties / author_institutionAdded value: +{ + "description": "Filter by author institution. Use | for OR. E.g., \"Harvard University|MIT\"", + "type": "string" +} - added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience').", + "type": "boolean" +} - added
Input schema / properties / institution_groupAdded value: +{ + "description": "Named institution group: harvard_stanford_mit, ivy_league, top_us, insead_london, top_global_business, top_china", + "enum": [ + "harvard_stanford_mit", + "ivy_league", + "top_us", + "top_us_business", + "insead_london", + "top_global_business", + "top_china" + ], + "type": "string" +} - changed
Input schema / properties / per_page / descriptionPrevious value: -"Number of top works to return (default: 10, max: 200)"New value: +"Number of top works to return (default: 10, use 20 for broader coverage, max: 200)" - added
Input schema / properties / per_page / maximumAdded value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"Search query to filter works (optional)"New value: +"Search query to filter works (optional). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true." - added
Input schema / properties / search_fieldAdded value: +{ + "description": "Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase.", + "enum": [ + "title", + "abstract", + "fulltext" + ], + "type": "string" +} - added
Input schema / properties / source_issnAdded value: +{ + "description": "Restrict to a specific journal/conference by ISSN (most precise)", + "type": "string" +} - added
Input schema / properties / source_nameAdded value: +{ + "description": "Restrict to a specific journal or conference by name (e.g., \"Nature\", \"NeurIPS\", \"ICML\")", + "type": "string" +} - changed
Input schema / properties / topic / descriptionPrevious value: -"Filter by research topic"New value: +"Filter by research topic. For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true."
- Added
get_top_venues_for_field - Changed
get_trending_topics2 fields changed- changed
Input schema / properties / per_page / descriptionPrevious value: -"Number of trending topics to return (default: 10)"New value: +"Number of trending topics to return (default: 10, max: 200)" - added
Input schema / properties / per_page / maximumAdded value: +200
- Changed
get_work_citations1 field changed- added
Input schema / properties / per_page / maximumAdded value: +200
- Added
health_check - Added
list_journal_presets - Changed
search_authors5 fields changed- changed
Input schema / properties / cited_by_count / descriptionPrevious value: -"Filter by citation count. Use >X or <X. Example: \">1000\""New value: +"Filter by total citation count. Use >X or <X. Example: \">1000\"" - added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, name/query tokens are matched independently. Use this when the query is a full name (e.g., 'Anna Maria Bianchi') or a specific multi-word concept.", + "type": "boolean" +} - added
Input schema / properties / per_page / maximumAdded value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"Author name or search query"New value: +"Author name or search query. For exact phrase matching of a full name (e.g., 'Sarah Jane Williams') or a concept (e.g., 'deep reinforcement learning'), set exact_phrase to true." - added
Input schema / properties / sortAdded value: +{ + "description": "Sort results: cited_by_count:desc (default), works_count:desc, publication_year:desc", + "type": "string" +}
- Added
search_authors_by_expertise - Changed
search_by_topic11 fields changed- added
Input schema / properties / author_institutionAdded value: +{ + "description": "Filter by author institution (exact OpenAlex display_name). Use | for OR, e.g., \"Harvard University|Stanford University\"", + "type": "string" +} - added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience').", + "type": "boolean" +} - added
Input schema / properties / institution_groupAdded value: +{ + "description": "Named institution group preset. Options: harvard_stanford_mit, ivy_league, top_us, top_us_business, insead_london, top_global_business, top_china. Use list_journal_presets to see all.", + "enum": [ + "harvard_stanford_mit", + "ivy_league", + "top_us", + "top_us_business", + "insead_london", + "top_global_business", + "top_china" + ], + "type": "string" +} - added
Input schema / properties / min_citationsAdded value: +{ + "description": "Minimum citation count threshold to filter low-impact papers", + "type": "number" +} - changed
Input schema / properties / per_page / descriptionPrevious value: -"Results per page (default: 10, max: 200)"New value: +"Results per page (default: 10, use 20 for broader coverage, max 200)" - added
Input schema / properties / per_page / maximumAdded value: +200 - added
Input schema / properties / search_fieldAdded value: +{ + "description": "Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase.", + "enum": [ + "title", + "abstract", + "fulltext" + ], + "type": "string" +} - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort by: cited_by_count, publication_year, relevance_score (default)"New value: +"Sort by: cited_by_count:desc, publication_year:desc, relevance_score (default)" - added
Input schema / properties / source_issnAdded value: +{ + "description": "Restrict to a specific journal/conference by ISSN (most precise)", + "type": "string" +} - added
Input schema / properties / source_nameAdded value: +{ + "description": "Restrict to a specific journal or conference by name (e.g., \"Nature\", \"ICML\", \"PNAS\")", + "type": "string" +} - changed
Input schema / properties / topic / descriptionPrevious value: -"Topic name or keywords to search for (e.g., \"artificial intelligence\", \"climate change\", \"quantum computing\")"New value: +"Topic name or keywords to search for (e.g., \"artificial intelligence\", \"climate change\", \"quantum computing\"). For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true."
- Added
search_in_journal_list - Changed
search_institutions3 fields changed- added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, name tokens are matched independently (may return partial matches). Use this when the query is a specific multi-word institution name.", + "type": "boolean" +} - added
Input schema / properties / per_page / maximumAdded value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"Institution name or search query"New value: +"Institution name or search query. For exact phrase matching of a multi-word institution name (e.g., 'London School of Economics', 'Seoul National University'), set exact_phrase to true."
- Changed
search_sources3 fields changed- added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching of the source name. Without this, name tokens are matched independently. Use when the journal/conference name is a specific multi-word phrase.", + "type": "boolean" +} - added
Input schema / properties / per_page / maximumAdded value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"Source name or search query"New value: +"Source/journal name or search query. For exact phrase matching of a multi-word journal name (e.g., 'Journal of Financial Economics', 'Management Information Systems Quarterly'), set exact_phrase to true."
- Changed
search_works18 fields changed- added
Input schema / properties / author_institutionAdded value: +{ + "description": "Filter by author institution (OpenAlex display_name). Use | for OR. E.g., \"Harvard University|Stanford University|MIT\".", + "type": "string" +} - changed
Input schema / properties / cited_by_count / descriptionPrevious value: -"Filter by citation count. Use >X for more than X citations, <X for less than X. Example: \">100\""New value: +"Citation filter with operator: \">100\", \"<50\". Prefer min_citations for simplicity." - added
Input schema / properties / exact_phraseAdded value: +{ + "default": false, + "description": "Set to true for exact phrase matching. Without this, search terms are matched independently. Use this when searching for a specific concept or multi-word term (e.g., 'privacy paradox', 'supply chain resilience').", + "type": "boolean" +} - removed
Input schema / properties / from_publication_yearRemoved value: -{ - "description": "Filter works published from this year onwards", - "type": "number" -} - added
Input schema / properties / from_yearAdded value: +{ + "description": "Filter works published from this year onwards", + "type": "number" +} - added
Input schema / properties / institution_groupAdded value: +{ + "description": "Named institution group preset. Use list_journal_presets to see all. E.g., harvard_stanford_mit, ivy_league, top_us, insead_london, top_global_business.", + "enum": [ + "harvard_stanford_mit", + "ivy_league", + "top_us", + "top_us_business", + "insead_london", + "top_global_business", + "top_china" + ], + "type": "string" +} - added
Input schema / properties / min_citationsAdded value: +{ + "description": "Minimum citation count. E.g., 50 for solid papers, 200 for highly influential.", + "type": "number" +} - changed
Input schema / properties / per_page / descriptionPrevious value: -"Results per page, max 200 (default: 10)"New value: +"Results per page, max 200 (default: 10; use 20 for broader coverage)" - added
Input schema / properties / per_page / maximumAdded value: +200 - changed
Input schema / properties / query / descriptionPrevious value: -"Search query. Supports Boolean operators in uppercase (AND, OR, NOT). Example: \"machine learning AND (neural networks OR deep learning)\""New value: +"Search query. Supports Boolean operators (AND, OR, NOT). Example: \"machine learning AND (neural networks OR deep learning)\". For exact phrase matching (e.g., 'privacy paradox' as a specific concept), set exact_phrase to true." - added
Input schema / properties / search_fieldAdded value: +{ + "description": "Restrict search to a specific field: 'title' (paper titles only), 'abstract' (abstracts only), or 'fulltext' (full text only). By default, searches across all fields. Cannot be combined with exact_phrase.", + "enum": [ + "title", + "abstract", + "fulltext" + ], + "type": "string" +} - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort results. Options: relevance_score (default), cited_by_count, publication_year"New value: +"Sort: relevance_score (default), cited_by_count:desc, publication_year:desc" - added
Input schema / properties / source_idAdded value: +{ + "description": "Filter by exact OpenAlex source ID (most reliable for conferences).", + "type": "string" +} - added
Input schema / properties / source_issnAdded value: +{ + "description": "Filter by journal ISSN. E.g., \"0025-1909\" for Management Science.", + "type": "string" +} - added
Input schema / properties / source_nameAdded value: +{ + "description": "Filter by journal/conference name (partial match). E.g., \"Nature\", \"NeurIPS\", \"Management Science\".", + "type": "string" +} - removed
Input schema / properties / to_publication_yearRemoved value: -{ - "description": "Filter works published up to this year", - "type": "number" -} - added
Input schema / properties / to_yearAdded value: +{ + "description": "Filter works published up to this year", + "type": "number" +} - changed
Input schema / properties / type / descriptionPrevious value: -"Filter by work type: article, book, dataset, etc."New value: +"Filter by work type: article, review, book-chapter, dataset, etc."
- Added
search_works_in_venue
19 tool updates
v1.0.0- First observed
analyze_geographic_distribution - First observed
analyze_topic_trends - First observed
autocomplete_search - First observed
compare_research_areas - First observed
get_author_collaborators - First observed
get_author_works - First observed
get_citation_network - First observed
get_entity - First observed
get_related_works - First observed
get_top_cited_works - First observed
get_trending_topics - First observed
get_work - First observed
get_work_citations - First observed
get_work_references - First observed
search_authors - First observed
search_by_topic - First observed
search_institutions - First observed
search_sources - First observed
search_works
TDQS
Scored across 31 tools
Most tools have clearly distinct purposes (e.g., search_works vs. search_in_journal_list vs. get_work). A few pairs like get_work_citations and get_citation_network have slight overlap but descriptions clarify differences. Overall, agents can reliably select the right tool.
Tool names follow a verb_noun pattern with consistent snake_case. Some verbs vary (search_, get_, find_, analyze_, check_, list_, batch_) but each name is descriptive and the pattern is predictable. Minor inconsistency: 'find_' vs 'get_' for similar actions.
31 tools is on the high side for a single server. While the domain is broad (research analytics, author profiling, citation networks, venue quality), some tools could be merged (e.g., multiple search variants). The count feels heavy but not excessive given the scope.
The tool set covers the full research lifecycle: author discovery, work search, citation analysis, venue quality checks, trend analysis, and entity details. Key operations like CRUD are not applicable, but for analysis, it provides comprehensive coverage with no obvious gaps.
Maintenance
Related MCP Connectors
Access the OpenAlex academic research catalog — 270M+ publications.
Academic literature search, retrieval, and private library management on top of OpenAlex.
OpenAlex MCP — wraps the OpenAlex API (scholarly works, free, no auth)
Scholarly search: OpenAlex, Crossref, arXiv, OpenCitations and PubMed in one endpoint.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables academic research through the OpenAlex API, allowing users to search for papers, authors, and institutions, retrieve citations, and fetch full-text content when available. Perfect for building intelligent research assistants that can explore academic literature and related works.87MIT
- AlicenseBqualityFmaintenanceProvides access to OpenAlex's catalog of 240M+ scholarly works, enabling search and retrieval of research papers, authors, institutions, journals, concepts, and funders with advanced filtering and classification capabilities.1142 npm5MIT
- FlicenseNot gradedqualityDmaintenanceProvides academic research tools via the OpenAlex API, enabling searches for papers, authors, concepts, institutions, and citation analysis.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search and analyze OpenAlex scholarly database for OSINT research, including works, authors, institutions, funding, citations, and collaboration networks.MIT