Skip to main content
Glama

TwoSCI

TwoSCI is a literature research MCP server and plugin for Codex and Claude Code. It follows a researcher's actual workflow: start from a seed paper, define the research intent, search broadly, screen abstracts, read selected papers, trace citations, and export evidence-ready records.

It is designed for speed and stability rather than maximizing the number of search boxes. Web of Science and Scopus are the primary entitlement-backed sources; OpenAlex and Crossref provide fast discovery, metadata, abstracts, open-access links, and fallback coverage.

Core Workflow

  1. Research brief: resolve a seed paper by DOI, WoS UID, Scopus EID, OpenAlex ID, or exact title. Capture the user's research intent, metrics, scope, and exclusions.

  2. Discovery: run a deduplicated multi-source search in quick, balanced, or deep mode.

  3. Screening: split abstracts into batches and delegate semantic screening to subagents. Record include/exclude/maybe decisions with reasons.

  4. Evidence: hydrate selected records, follow references and citing papers, and keep per-source provenance.

  5. Export: write BibTeX, RIS, or JSON. Full-text acquisition and parsing remain a separate companion workflow.

Related MCP server: paper-search

MCP Tools

Tool

Purpose

create_research_brief

Resolve a seed paper and build a reusable research context

search_literature

Unified WoS/Scopus/OpenAlex/Crossref search with deduplication

get_literature_records

Hydrate stored records without repeating discovery; fetchReferences=true optionally fills references

expand_citation_graph

One-hop references, citing papers, or related works

save_screening

Persist subagent screening decisions and reasons

export_literature

Export BibTeX, RIS, or JSON

get_source_status

Inspect source configuration, product tier, quotas, and sessions

The original per-platform tools remain available for targeted lookups, PDF access, and legacy workflows.

Result Layers

search_literature separates response detail from upstream quota:

  • metadata: title, authors, year, venue, DOI, source IDs.

  • abstract: adds abstract, keywords, and per-source citation counts.

  • evidence: adds references, open-access links, and all identifiers.

For an Expanded WoS search, TwoSCI fetches the full record once and keeps it in the session. layer only controls how much is returned to the model; it does not trigger a second WoS lookup.

Search Modes

Mode

Results per source

Typical use

quick

10

Scope a topic and test query terms

balanced

25

Default formal screening pass

deep

50

After the query has converged

Web of Science Behavior

If WOS_EXPANDED_API_KEY is configured:

  • Discovery, detail, and citation lookups default to Expanded.

  • Expanded records default to Full Record, so abstracts are available without a second quota-consuming request.

  • Citation expansion uses /references, /citing, and /related.

If only WOS_API_KEY is configured, TwoSCI falls back to Starter v2 and warns that abstracts and citation relations are limited. Starter trials are not sufficient for a practical abstract-screening workflow; institutional WoS access or Expanded is recommended.

Installation

Codex

From a local checkout:

codex plugin marketplace add F:\path\to\TwoSCI
codex plugin add twosci@twosci-marketplace

From GitHub:

codex plugin marketplace add zzhzkx/TwoSCI
codex plugin add twosci@twosci-marketplace

Claude Code

/plugin marketplace add zzhzkx/TwoSCI
/plugin install twosci@twosci-marketplace

Build from Source

npm ci
npm run build:plugin

npm run build:plugin creates plugin/, a clean bundle containing the MCP server, the skill, and Codex/Claude manifests. The development repository and its node_modules are not copied into the plugin.

Configuration

Create .env from .env.example, or configure the same variables in the host application. Never commit real credentials.

WOS_EXPANDED_API_KEY=
WOS_API_KEY=
ELSEVIER_API_KEY=
SCOPUS_SEARCH_API_KEY=
OPENALEX_EMAIL=
CROSSREF_MAILTO=
  • WOS_EXPANDED_API_KEY: preferred WoS product.

  • WOS_API_KEY: Starter fallback.

  • ELSEVIER_API_KEY: Scopus detail/abstract entitlement.

  • SCOPUS_SEARCH_API_KEY: optional dedicated Scopus Search key.

  • OPENALEX_EMAIL: polite-pool contact email.

  • CROSSREF_MAILTO: Crossref polite-pool contact email.

Example: Seed Paper

User input:

This is my baseline paper: DOI 10.xxxx/xxxx. Use it to find background, indicators, and policy evaluation studies in this field.

Agent flow:

  1. Call create_research_brief with the DOI and the user's intent.

  2. Review the returned seed abstract, keywords, references, citing sample, and frequent terms.

  3. Compose two to four explicit queries; do not silently rewrite the research scope.

  4. Call search_literature with the returned brief_id.

  5. Screen abstracts in subagent batches and call save_screening.

  6. Call get_literature_records for selected record_ids.

  7. Call expand_citation_graph for the seed and key included papers.

  8. Export the final set with export_literature.

The bundled skills/literature-search skill defines the subagent batching protocol and the full evidence workflow.

Data and Compliance

  • WoS/Scopus full records are held in memory for the current research session.

  • No background disk cache is written for WoS/Scopus content.

  • User-initiated BibTeX/RIS/JSON export is the intended retention path.

  • Citation counts are kept per source and are not summed across databases.

  • OpenAlex/Crossref may use short-lived in-process caches.

  • Google Scholar scraping and Sci-Hub are not part of the default workflow.

Development

npm ci
npm run build
npm run lint
npm test -- --runInBand
npm run build:plugin

License

MIT. See LICENSE.

Available Tools

31 tools
check_scihub_mirrorsC

Check the health status of all Sci-Hub mirror sites

NameRequiredDescriptionDefault
forceCheckNoForce a fresh health check even if recent data exists

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool checks health status, implying a read-only operation, but doesn't specify what 'health status' entails (e.g., uptime, response time), whether it's cached or real-time, or any rate limits. For a tool with no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence: 'Check the health status of all Sci-Hub mirror sites.' It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's simplicity, making it highly efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what the health check returns (e.g., a list of mirrors with statuses), how results are formatted, or any behavioral nuances. For a tool that likely outputs structured data, this leaves the agent guessing about the tool's full functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the parameter 'forceCheck' well-documented in the schema. The description doesn't add any meaning beyond this, as it mentions no parameters. Given the high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but doesn't need to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check the health status of all Sci-Hub mirror sites.' It specifies the verb ('check') and resource ('Sci-Hub mirror sites'), distinguishing it from sibling tools focused on searching or downloading papers. However, it doesn't explicitly differentiate from 'get_platform_status,' which might be a related sibling, so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing, or comparisons with siblings like 'get_platform_status' or 'search_scihub,' leaving the agent to infer usage based on the name alone. This lack of explicit context reduces its helpfulness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_research_briefA

Create a research brief from a seed paper plus the user intent. Resolves the seed with WoS Expanded (when configured), Scopus, OpenAlex, and Crossref; returns its abstract, keywords, references, citing sample, and a brief_id for later searches.

NameRequiredDescriptionDefault
seedYes
focusNoOptional facets such as background, metrics, methods, mechanisms, or policy
scopeNo
intentYesWhat the user wants to learn from or around this seed paper, including the target field, indicators, methods, or policy context
includeCitationContextNoFetch a bounded references/citing sample for understanding the seed paper context

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does real work: it discloses the multi-source resolution order with a conditional ("WoS Expanded (when configured)") plus fallbacks to Scopus, OpenAlex, and Crossref, and it states the returned payload (abstract, keywords, references, citing sample, brief_id). Gaps remain around failure behavior when a seed cannot be resolved and around whether the brief_id implies persisted server-side state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero filler, with the purpose front-loaded and the return contract following. Every clause adds information an agent would otherwise lack.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 must describe returns, and it does so concretely for a 5-parameter nested-schema tool. The main shortfall is the undocumented nested scope object, which an agent could easily populate incorrectly given no field-level guidance anywhere.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, and the description adds little beyond it: the seed and intent parameters are only echoed, and focus, scope, and includeCitationContext are never explained in the description – the nested scope object (years, regions, discipline, exclusions) has no schema descriptions at all. The mention of "citing sample" loosely maps to includeCitationContext but gives no notion of the bound or cost of enabling it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Create a research brief") and immediately names the inputs (seed paper plus user intent), then enumerates the artifact returned. This clearly separates it from the search_* siblings, which only retrieve records rather than producing a persistent brief with a brief_id.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase "from a seed paper plus the user intent" and "a brief_id for later searches" tells the agent this is the entry point when a known paper anchors the investigation and downstream searches will follow. It does not explicitly say when to prefer search_papers or get_paper_by_doi instead (e.g., when no seed exists), so the exclusion side of the guidance is left implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

discover_paper_accessA

Discover a public publisher PDF candidate for one DOI without claiming open-license or complete download success

NameRequiredDescriptionDefault
doiYesA DOI, doi: prefix, or doi.org URL; arbitrary HTTP URLs are rejected
verifyPdfNoOptionally perform a bounded direct PDF prefix probe

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does disclose that results are candidates and that success is not guaranteed, which is valuable. However, it does not mention failure modes, output shape, or any rate/access limitations beyond that caveat, leaving some behavior unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is a single, tightly worded sentence. It front-loads the action and resource, then adds the key caveat without any filler. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description plus the 100% covered schema is largely sufficient. It explains the tool's purpose, scope, and key limitation. The only notable gap is the absence of any statement about what the tool returns, though the description's wording makes this reasonably inferable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both doi and verifyPdf clearly. The description echoes the DOI scope but adds no new meaning about parameter formats, defaults, or the bounded probe behavior described in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's specific action: discovering a public publisher PDF candidate for a single DOI. It also adds the important qualifier that it does not claim open-license or complete download success, which distinguishes it from download_paper and other access-oriented siblings without opening their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: when you need a PDF candidate for one DOI and are not expecting guaranteed open-license or download success. It implicitly separates this from search tools by scoping to a single DOI, though it does not explicitly name alternatives or state when not to use them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_paperC

Download PDF file of an academic paper

NameRequiredDescriptionDefault
paperIdYesPaper ID (e.g., arXiv ID, DOI for Sci-Hub)
platformYesPlatform where the paper is from
savePathNoDirectory to save the PDF file

TDQS

C2.9/5.0
Behavior2/5

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 states the action ('Download PDF file') but lacks critical behavioral details: whether this requires authentication, potential rate limits, file size considerations, or what happens on failure (e.g., if the paper isn't found). For a download operation with no annotation coverage, 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of downloading files across multiple platforms and no annotations or output schema, the description is incomplete. It doesn't address error handling, return values (e.g., success confirmation or file path), or platform-specific behaviors, which are crucial for a tool with 3 parameters and varied platforms.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds no additional meaning about parameters beyond implying they're needed for downloading. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Download') and resource ('PDF file of an academic paper'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_paper_by_doi' or 'search_arxiv', which might also retrieve papers but perhaps in different formats or contexts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools for searching and retrieving papers, it's unclear if this is the primary download method or if others like 'get_paper_by_doi' serve similar purposes. No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_public_paperC

Download a public paper from Publisher, Google Scholar, or Sci-Hub using bounded page fallback and local PDF validation

NameRequiredDescriptionDefault
paperIdYesDOI for Publisher/Sci-Hub, or a current-session Google Scholar reference
platformYesCanonical public-paper platform
savePathNoValidated download directory; the output filename is derived internally./downloads

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It adds real value by disclosing two mechanisms — bounded page fallback and local PDF validation — but omits the operation's most consequential traits: that it writes a file to disk (savePath default ./downloads), what happens when validation fails, whether Sci-Hub access is a legal/policy concern, and any auth or rate-limit behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no boilerplate or repetition. It is dense to the point of jargon ('bounded page fallback') but every clause carries information an agent would otherwise have to guess.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter read-then-write tool with no annotations and no output schema, the description covers the retrieval strategy but leaves gaps around the produced artifact (filename is derived internally, but what happens on failure or partial download is unstated) and around the platform/paperId pairing rule.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents paperId as DOI-or-session-reference and savePath as a validated directory. The description's platform list slightly reinforces the enum, but it adds no new meaning — no note that paperId format must match platform, which is the one semantic an agent could get wrong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (download) plus specific resource (public paper) and the three supported platforms, which map directly onto the platform enum. It is distinguishable from search_* siblings and from get_paper_by_doi, but it never states how it differs from the sibling download_paper, so sibling differentiation is only implied by the word 'public'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement: nothing explains when to pick this over download_paper, get_paper_by_doi, discover_paper_access, or get_paper_markdown. The only guidance is the implicit constraint that the paper must be publicly accessible, and even that is not spelled out as a precondition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

expand_citation_graphA

Expand one hop from seed papers through references, citing papers, or related records. Uses WoS Expanded first when the seed has a WoS UID, then OpenAlex, then Crossref. Returns graph nodes, typed edges, and a search_id for export or hydration.

NameRequiredDescriptionDefault
seedsYesrecord_id, DOI, WoS UID, or OpenAlex work ID
searchIdNoOptional session containing the seed record_ids
directionsNo
recordViewNofull
limitPerSeedNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden; it does add real value by naming the provider fallback order and the return payload (nodes, typed edges, search_id). It says nothing about failure handling for unresolvable seeds, whether results can be partial, latency/rate-limit behavior, or that the operation is purely read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core action, followed by the source cascade and then the return value. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, no-annotation, no-output-schema tool, the description covers the action and return shape but leaves two parameters undefined and omits any note on limitations of one-hop expansion or seed resolution. Adequate to call it, not fully sufficient to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 40%, so the description should compensate more. It does clarify that directions mean references/citing/related and that search_id enables export or hydration, but recordView ('short' vs 'full') and limitPerSeed are left entirely to the bare schema, and the relationship between searchId and seeds is not explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Expand one hop from seed papers') plus the three edge types traversed, which clearly separates it from single-source siblings like get_citations or get_webofscience_related_records. It does not explicitly name those siblings as alternatives, so the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The source cascade ('WoS Expanded first when the seed has a WoS UID, then OpenAlex, then Crossref') tells the agent how the tool behaves but not when to choose it over the many per-source search/citation siblings. There are no exclusions or prerequisites, so selection guidance is implied rather than prescribed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_literatureB

Export a search result set to BibTeX, RIS, or JSON. Export is user-initiated and is the intended way to retain WoS/Scopus records outside the process.

NameRequiredDescriptionDefault
formatYes
briefIdNo
searchIdNo
recordIdsNo
includeAbstractNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full behavioral burden. It does disclose that export is user-initiated rather than automatic and that it is the sanctioned path for keeping records, which is meaningful context, but it says nothing about how results are delivered (file vs inline), whether exports are persisted, permissions, or any size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action and supported formats. The phrase "outside the process" is slightly vague, but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter tool with no annotations, no output schema, and undocumented parameters, the description omits the information an agent most needs: how to choose between briefId, searchId, and recordIds, and what the export returns. What is present covers intent well but not invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across five parameters, so the description must compensate and does not. It echoes the format enum but leaves briefId, searchId, recordIds (and the 200-item cap) and includeAbstract entirely unexplained, forcing the agent to guess which selector to use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (exporting a search result set) and enumerates the three output formats, which is more than enough to understand what the tool does. It does not contrast itself with record-reading siblings such as get_literature_records or save_screening, so sibling differentiation is only implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Export is user-initiated and is the intended way to retain WoS/Scopus records outside the process" gives a real usage signal: call it when the user wants persistent copies of records. However, no alternative is named, no when-not guidance is offered, and it is unclear whether recordIds or a searchId should be supplied for different retention scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_citationsA

Retrieve citation data (citation count, references, venue) for a paper by DOI using Semantic Scholar

NameRequiredDescriptionDefault
doiYesDOI (Digital Object Identifier)
forceRefreshNoBypass the cache and fetch fresh data (default: false)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden. It confirms it is a read operation (no side effects), but it does not disclose caching behavior, rate limits, or error handling. The mention of Semantic Scholar implies an external dependency but no caveats. This is a modest gap given the simple nature of the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded with the core action and output, followed by the input method and source. No wasted words, length is appropriate for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 parameters, no output schema, and no annotations, the description provides sufficient context: it specifies what data is returned and that input is a DOI. The forceRefresh parameter is explained in the schema, and the description implies a single-paper lookup. Missing details like potential errors or rate limits are minor for this scope, making the description complete enough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (doi, forceRefresh) already documented in the schema. The description adds minimal extra meaning beyond confirming the DOI is for the paper and that data comes from Semantic Scholar. Since the schema fully covers parameters, the baseline of 3 is appropriate; the description does not enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (retrieve citation data), the specific resource (a paper by DOI), and the data fields returned (citation count, references, venue). It also names the external service (Semantic Scholar), which distinguishes it from siblings like get_paper_by_doi that likely return different metadata.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly conveys when to use it: when you have a DOI and need citation metrics. It does not explicitly mention when not to use it or alternatives, but the phrase 'citation data' differentiates it from general paper lookups. No exclusions are given, but the context is clear enough for an agent to choose it over search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_literature_recordsA

Hydrate stored search results by record_id, or resolve DOIs, without re-running discovery. By default returns the full abstract and references already held in the session. Set refresh=true only when fresh provider metadata is required.

NameRequiredDescriptionDefault
doisNo
refreshNo
searchIdNo
recordIdsNo
fetchReferencesNoFetch references for selected records when they are not already in the session; this may make one provider request per record
includeAbstractNo
includeReferencesNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose the key default behavior: cached abstract and references are returned from the session, and refresh is an opt-in escalation. It omits the cost dimension of refresh (extra provider calls/latency) and never says what happens when no identifiers are supplied, which matters because zero parameters are required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, both front-loaded with the operative fact: the first establishes what the tool does and its main advantage, the second establishes the default versus the refresh exception. Nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with no annotations and no output schema, the description covers the retrieval model well but leaves gaps: it does not say which parameter takes precedence when recordIds, dois and searchId are combined, nor what a response contains. Adequate but not sufficient for the tool's branching surface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 14%, but the description compensates for the most consequential parameters by explaining record_id hydration, DOI resolution, the session-cached default, and the refresh escalation path. searchId, includeAbstract, includeReferences and fetchReferences are left to the schema, so coverage is partial rather than complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Hydrate stored search results by record_id, or resolve DOIs, without re-running discovery" names a concrete verb and resource and clearly separates this from the search_* discovery siblings. The one ambiguity is the DOI-resolution path, which overlaps with sibling get_paper_by_doi without being distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a usable when-to-use rule for the refresh flag ("only when fresh provider metadata is required") and implies use after a search has already been run. But it never states when to pick this over get_paper_by_doi for DOI lookups, or over get_citations/expand_citation_graph for reference data, so the agent must infer the boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_by_doiC

Retrieve paper information using DOI from available platforms

NameRequiredDescriptionDefault
doiYesDOI (Digital Object Identifier)
platformNoPlatform to search

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. 'Retrieve' implies a read-only lookup, but the behavior across platforms is not disclosed: whether it returns the first match, merges results, or what happens when the DOI is not found on a selected platform. No error handling, fallback, or aggregation behavior is described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one concise, front-loaded sentence with no filler. It communicates the core action and input immediately, though 'available platforms' could be more explicit. It earns a high score for efficiency, but not top marks due to slight vagueness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 2-parameter tool with no output schema and no annotations, so the description must do more to orient the agent. It does not explain what information will be returned, how platform selection affects the lookup, or what distinguishes this from the many sibling search tools. The agent is left to guess expected behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are already described in the schema. The description mentions DOI but adds no new semantic detail beyond the parameter descriptions, such as format expectations or how 'platform' affects results. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Retrieve paper information') and the key identifier ('DOI'), which clearly distinguishes it from keyword-based sibling tools like search_papers or search_google_scholar. The phrase 'available platforms' is somewhat vague, but the core purpose is understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It does not mention that this tool is appropriate when a DOI is already known, nor does it suggest sibling tools for keyword or title-based lookup. The agent must infer usage from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_paper_markdownB

Explicitly retrieve bounded, untrusted ScrapingAnt Markdown for a Publisher, Scholar, or Sci-Hub paper reference

NameRequiredDescriptionDefault
paperIdYesDOI for Publisher/Sci-Hub, or a current-session Google Scholar reference
platformYesCanonical Markdown platform

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, but it does disclose that the content is 'untrusted' scraped Markdown from ScrapingAnt and is 'bounded.' That is meaningful behavioral context beyond the schema, but it does not explain permissions, failure behavior, rate limits, or what 'bounded' means in practice.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single front-loaded sentence with no wasted clauses. The only weakness is that 'Explicitly' and 'bounded, untrusted' are compressed in a way that may require interpretation rather than clarifying the action immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter retrieval tool with an enum and no output schema, the description covers the basic action and flags the untrusted scraped source. It is still incomplete because it does not explain when to choose this retrieval method, what 'bounded' means, or what the returned Markdown includes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including the platform enum and paperId formats. The description reinforces the platform scope by naming Publisher, Scholar, and Sci-Hub, but it adds no syntax or format details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific retrieval action and resource: fetching Markdown for a Publisher, Scholar, or Sci-Hub paper reference. It is distinguishable from the search_* siblings because it retrieves a known paper reference rather than searching. However, the phrasing 'bounded, untrusted ScrapingAnt Markdown' is jargon-heavy and does not clearly differentiate it from get_paper_by_doi or download_paper.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use guidance and never names alternatives such as get_paper_by_doi or download_paper. An agent must infer that this tool is for fetching Markdown content from a specific platform rather than for searching or downloading files.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_platform_statusC

Check the status and capabilities of available academic platforms

NameRequiredDescriptionDefault
validateNoWhether to validate configured API keys by making a real request (may trigger rate limits). Default: false.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Check' implies a read-only operation, it doesn't specify what 'status and capabilities' includes (uptime, rate limits, authentication requirements, available features). The description mentions capabilities but doesn't detail what information is returned or any behavioral constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately sized for a simple status-checking tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what 'status and capabilities' means in practice, what format the information is returned in, or how this differs from the many search-focused sibling tools. The agent would need to guess about the tool's behavior and output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage for the single parameter, the schema already fully documents the 'validate' parameter. The description adds no additional parameter information beyond what's in the schema, so it meets the baseline expectation but doesn't provide extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Check') and resource ('status and capabilities of available academic platforms'), making it immediately understandable. However, it doesn't explicitly distinguish this from sibling tools that focus on searching or downloading content rather than platform status checking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools focused on searching specific databases, there's no indication whether this should be used before attempting searches, when troubleshooting, or as a general health check. The lack of usage context is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_source_statusA

Report configured sources, WoS default product, quota/rate status, OpenAlex/Crossref cache state, and in-memory brief/search session counts. Set validate=true only when an actual key validation request is acceptable.

NameRequiredDescriptionDefault
validateNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose that validate=true triggers an actual key validation request rather than a cached read — useful cost/side-effect context. It does not say whether the call is read-only or stateful, whether validation is rate-limited or slow, or what happens to the reported session counts.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: the reported contents are front-loaded, and the parameter caveat follows. The enumeration is dense but every listed item is information the agent would otherwise have to call the tool to discover; nothing is padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotations mean the description must convey both behavior and returns; the enumeration of reported fields does effectively sketch the response. Gaps remain around the default path, side effects of validation, and its relationship to the similar get_platform_status sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter has 0% schema description coverage, so the description must supply its meaning — and it does, explaining that validate=true corresponds to a real key-validation request that should only be enabled when acceptable. It still does not spell out what validate=false returns versus true, leaving the default path implicit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb ("Report") and then enumerates the resources covered: configured sources, WoS default product, quota/rate status, OpenAlex/Crossref cache state, and in-memory session counts. An agent can tell this is a diagnostics/status tool rather than a search tool, though it never distinguishes itself from the sibling get_platform_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage guidance is limited to one conditional: "Set validate=true only when an actual key validation request is acceptable," which implies the flag has a real cost. There is no statement about when to call this tool at all versus get_platform_status, and no indication of what the default (validate=false) path returns.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_screeningB

Persist include/exclude/maybe decisions and reasons from abstract-screening subagents. The decision ledger is attached to the search_id and can be exported or reviewed later.

NameRequiredDescriptionDefault
notesNo
searchIdYes
decisionsYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It does disclose the useful post-condition that the ledger is attached to search_id and can later be exported or reviewed, but it is silent on the most important behavior for a persistence tool: whether repeated calls append, overwrite, or merge prior decisions, and whether it creates or updates the ledger. Permissions and error behavior are also unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no waste, front-loaded with the action, and the second sentence adds genuine lifecycle context rather than restating the first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with no annotations, no output schema, and a nested decisions array of five fields at 0% schema coverage. The description never says what a successful call returns (confirmation, counts, ledger id) or how the write behaves on repeat calls, which leaves meaningful gaps for an agent invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it only partially does: it names the verdict values (include/exclude/maybe), the presence of reasons, and the search_id linkage. It adds nothing about 'notes', the nested 'tags' and 'confidence' fields, or the schema's 1-100 item constraint on decisions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Persist') and resource ('include/exclude/maybe decisions and reasons'), and ties the write to a search_id. No sibling tool saves screening verdicts, so an agent can immediately distinguish this from the search/download siblings without inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'from abstract-screening subagents' implies the workflow position (after screening, before export/review), but there is no explicit when-to-use or when-not-to-use statement, and no alternative is named because none exists. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_arxivC

Search academic papers specifically from arXiv preprint server

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
sortByNoSort results by field
categoryNoarXiv category filter (e.g., cs.AI, physics.gen-ph)
sortOrderNoSort order: ascending or descending
maxResultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. While 'Search' implies a read-only operation, the description provides no information about rate limits, authentication requirements, result format, pagination, error conditions, or what happens when no results are found. This is a significant gap for a search tool with many parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point. There's no wasted language or unnecessary elaboration - it clearly communicates the core function without any fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what kind of results to expect, how results are structured, whether there are limitations or constraints, or how this tool differs from the many other search tools available. The context demands more guidance than what's provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage, so all parameters are well-documented in the structured schema. The description doesn't add any parameter-specific information beyond what's already in the schema, which is acceptable given the comprehensive schema coverage. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search') and resource ('academic papers from arXiv preprint server'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its many sibling search tools (like search_biorxiv, search_pubmed, etc.) beyond mentioning arXiv specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus the many alternative search tools available on the server. There's no mention of when arXiv search is preferable to other academic databases or what makes this tool distinct from its siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_biorxivB

Search bioRxiv preprint server for biology papers

NameRequiredDescriptionDefault
daysNoNumber of days to search back (default: 30)
queryYesSearch query string
categoryNoCategory filter (e.g., neuroscience, genomics)
maxResultsNoMaximum number of results to return

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action 'search' but doesn't describe what the search returns (e.g., list of papers, metadata), any rate limits, authentication needs, or error conditions. This is a significant gap for a search tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It is appropriately sized and front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 4 parameters, no annotations, and no output schema, the description is minimally adequate. It clarifies the domain (bioRxiv, biology papers) but lacks details on return values, behavioral traits, or usage context, which are important for effective tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with all parameters well-documented in the input schema (e.g., query string, maxResults range, days default, category examples). The description adds no additional parameter semantics beyond what the schema provides, so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'search' and the resource 'bioRxiv preprint server for biology papers', which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_medrxiv' or 'search_papers', which might have overlapping domains or purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'search_medrxiv' (for medical preprints) or 'search_pubmed' (for published papers). It lacks explicit context, exclusions, or prerequisites, leaving the agent to infer usage based on the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_crossrefC

Search academic papers from Crossref database. Free API with extensive scholarly metadata coverage across publishers.

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
sortByNoSort results by relevance, date, or citations
sortOrderNoSort order: ascending or descending
maxResultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the API is 'free' and has 'extensive coverage,' which adds some context about cost and scope, but it doesn't cover critical behaviors like rate limits, authentication needs, error handling, or response format. For a search tool with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two sentences that efficiently convey the core purpose and key features (free API, extensive coverage). There's no wasted text, and it avoids redundancy. However, it could be slightly more structured by explicitly separating purpose from behavioral context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (6 parameters, no output schema, no annotations), the description is somewhat complete but has gaps. It covers the purpose and high-level context but lacks details on behavioral traits and usage guidelines. Without an output schema, it doesn't explain return values, which is a missed opportunity to add value beyond structured fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, meaning all parameters are documented in the input schema. The description doesn't add any specific parameter semantics beyond what the schema provides (e.g., it doesn't explain query syntax or year format details). According to the rules, with high schema coverage (>80%), the baseline is 3 even without param info in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

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 academic papers from Crossref database.' It specifies the verb ('search'), resource ('academic papers'), and data source ('Crossref database'), making the intent unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'search_papers' or 'search_semantic_scholar' that might also search academic papers, which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. It mentions that the API is 'free' and has 'extensive scholarly metadata coverage,' which hints at when to use it (e.g., for broad, cost-effective searches), but it doesn't explicitly state when to choose this tool over alternatives like 'search_pubmed' or 'search_arxiv' from the sibling list. No exclusions or specific contexts are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_google_scholarC

Search Google Scholar for academic papers using web scraping

NameRequiredDescriptionDefault
queryYesSearch query string
authorNoAuthor name filter
yearLowNoEarliest publication year
yearHighNoLatest publication year
maxResultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only mentions 'web scraping' without detailing behavioral traits like rate limits, authentication needs, or potential risks (e.g., blocking). It lacks information on response format, error handling, or operational constraints, leaving 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste—it directly states the tool's function and method. It's appropriately sized and front-loaded, making it easy to grasp immediately without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a search tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain return values, error cases, or how results are structured, which is critical for an agent to use the tool effectively. The 'web scraping' hint is insufficient for full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all 5 parameters. The description adds no additional meaning beyond the schema, such as query syntax examples or interactions between parameters like yearLow and yearHigh. Baseline 3 is appropriate as the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('search') and resource ('Google Scholar for academic papers'), making the purpose understandable. However, it doesn't differentiate from sibling tools like search_arxiv or search_pubmed, which perform similar academic searches on different platforms, so it misses full distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as search_arxiv for physics papers or search_pubmed for medical literature. It mentions 'web scraping' but doesn't explain implications or exclusions, leaving usage context vague.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_iacrC

Search IACR ePrint Archive for cryptography papers

NameRequiredDescriptionDefault
queryYesSearch query string
maxResultsNoMaximum number of results to return
fetchDetailsNoFetch detailed information for each paper (slower)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'Search' but doesn't describe what the search returns (e.g., paper titles, abstracts, metadata), performance characteristics (e.g., speed implications of fetchDetails), error conditions, or authentication requirements. The phrase 'slower' in the schema hints at performance but isn't elaborated in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded with the core action and target, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the search returns (e.g., list of papers with basic info), how results are formatted, or any limitations (e.g., date ranges, sorting options). The lack of output schema means the description should compensate by detailing return values, which it doesn't.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (query, maxResults, fetchDetails) with their types and constraints. The description adds no additional parameter semantics beyond what's in the schema, maintaining the baseline score of 3 for adequate coverage through structured data alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search') and resource ('IACR ePrint Archive for cryptography papers'), making the purpose immediately understandable. It distinguishes from general search tools by specifying the IACR ePrint Archive, though it doesn't explicitly differentiate from sibling tools like search_arxiv that also search academic repositories.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling search tools (e.g., search_arxiv, search_pubmed, search_google_scholar), there's no indication that this is specifically for cryptography papers from IACR, nor any context about when it might be preferred over other search options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_literatureA

Unified deduplicated literature search across WoS (Expanded by default when configured), Scopus, OpenAlex, and Crossref. Returns candidates with source provenance and a search_id. Use layer=metadata for cheap triage, abstract for screening, evidence for deeper evidence packets. Screening should be delegated to subagents in batches.

NameRequiredDescriptionDefault
modeNoquick: 10/source; balanced: 25/source; deep: 50/sourcebalanced
yearNo
layerNoResponse detail only; WoS/Scopus are fetched once at full detail to avoid duplicate quota useabstract
queryYesBoolean or natural-language query composed by the agent
authorNo
sortByNo
briefIdNoOptional research brief that supplies seed context
journalNo
sourcesNo
perSourceNo
sortOrderNo
maxResultsNo
openAccessNo
abstractCharsNoPer-record abstract cap in the response

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does disclose meaningful behavior: deduplication across sources, source provenance, a returned search_id, and the default inclusion of WoS when configured. Quota behavior is only hinted at through the schema's layer note, and there is no discussion of auth or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the platform list and the return shape, then workflow guidance. No filler, though the subagent-delegation sentence sits slightly apart from the core tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter tool with no annotations and no output schema, the description explains what comes back (provenance + search_id) and how to sequence layers, which is useful. It does not cover the filter/pagination parameters or any quota details an agent would need to call it efficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 36% of 14 parameters, so the description should compensate. It adds real meaning for layer (triage vs screening vs evidence packets) and implicitly for mode, but leaves year, author, journal, sources, sortBy/sortOrder, perSource, maxResults, and openAccess undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('unified deduplicated literature search across WoS, Scopus, OpenAlex, and Crossref') plus the return shape ('candidates with source provenance and a search_id'). This clearly differentiates it from the per-source siblings such as search_scopus, search_crossref, and search_openalex.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use guidance for the layer parameter: metadata for cheap triage, abstract for screening, evidence for deeper packets, and recommends delegating screening to batched subagents. It stops short of explicitly saying when to use this tool versus the individual per-source search tools in the sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_medrxivC

Search medRxiv preprint server for medical papers

NameRequiredDescriptionDefault
daysNoNumber of days to search back (default: 30)
queryYesSearch query string
categoryNoCategory filter (e.g., infectious_diseases, epidemiology)
maxResultsNoMaximum number of results to return

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but provides minimal information. It doesn't mention rate limits, authentication requirements, response format, pagination behavior, or what happens when no results are found. For a search tool with no annotation coverage, this leaves significant behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without any wasted words. It's appropriately sized for a search tool and front-loads the essential information. Every word earns its place in this concise formulation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of having 18 sibling tools (many of which are similar search tools) and no annotations or output schema, the description is insufficiently complete. It doesn't help the agent navigate the crowded tool ecosystem or understand medRxiv's specific value proposition versus other repositories. For a search tool among many alternatives, more contextual guidance is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter information beyond what's already in the schema, which has 100% coverage with clear descriptions for all 4 parameters. The baseline is 3 when schema coverage is high (>80%), and the description doesn't compensate with additional context about how parameters interact or search behavior nuances.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Search') and resource ('medRxiv preprint server for medical papers'), making the purpose immediately understandable. However, it doesn't explicitly differentiate this tool from its many sibling search tools (like search_arxiv, search_biorxiv, search_pubmed, etc.), which all search different repositories. A perfect score would require distinguishing this specific medRxiv search from other similar search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance about when to use this tool versus its many sibling search tools. With 18 sibling tools including multiple search tools for different repositories (medRxiv, arXiv, bioRxiv, PubMed, etc.), the agent receives no help in choosing between them. There's no mention of medRxiv's specific focus (medical preprints) versus other databases' scopes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_openalexC

Search OpenAlex for fast free discovery and one-hop citation enrichment

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
sortByNo
sortOrderNo
maxResultsNoMaximum number of results
openAccessNoFilter for open-access works only

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full disclosure burden. It claims 'fast free' but says nothing about rate limits, auth requirements, pagination, result shape, or what 'citation enrichment' actually changes in the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight sentence with no filler, and the resource is front-loaded. The phrase 'one-hop citation enrichment' is compact but too compressed to be informative, slightly undercutting the concision win.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with no annotations and no output schema, the description should explain the return format and what citation data comes back. Neither is covered, leaving the agent guessing about the 'enrichment' claim.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, with descriptions on the most important filters (query, year, maxResults, openAccess). The description adds no parameter meaning beyond the schema, but does not need to for most of them; sortBy/sortOrder remain undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search OpenAlex') and adds two differentiators against the crowded search_* sibling set: speed/free access and citation enrichment. It falls short of a 5 because 'one-hop citation enrichment' is not spelled out, so the agent cannot tell how this differs from get_citations or expand_citation_graph.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance at all. With 13+ sibling search tools (Semantic Scholar, Crossref, Scopus, Google Scholar, etc.), the description never says why an agent should pick OpenAlex over them or what coverage it uniquely provides.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_papersC

Search academic papers from multiple sources including arXiv, Web of Science, etc.

NameRequiredDescriptionDefault
daysNoNumber of days to search back (bioRxiv/medRxiv only)
yearNoYear filter (e.g., "2023", "2020-2023", "2020-")
queryYesSearch query string
authorNoAuthor name filter
sortByNoSort results by relevance, date, or citations
journalNoJournal name filter
categoryNoCategory filter (e.g., cs.AI for arXiv)
platformNoPlatform to search (default: crossref). Options: arxiv, webofscience/wos, pubmed, biorxiv, medrxiv, semantic, iacr, googlescholar/scholar, scihub, sciencedirect, springer, scopus, crossref, openalex, or all. "all" uses the unified multi-source path; prefer search_literature for seed-aware workflows. Note: Wiley only supports PDF download by DOI, use download_paper instead.
sortOrderNoSort order: ascending or descending
maxResultsNoMaximum number of results to return
fetchDetailsNoFetch detailed information (IACR only)
fieldsOfStudyNoFields of study filter (Semantic Scholar only)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden and does not meet it. It says nothing about whether results are metadata-only or full text, whether multi-source results are deduplicated or ranked, rate limits, auth requirements, or pagination — the "etc." leaves the actual source set undefined.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no waste, but it is brief to the point of under-specification, and the trailing "etc." is filler that conveys no information. Front-loading is fine; the content is just thin for a 12-parameter aggregator.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter, multi-platform tool with no annotations and no output schema, the description is far too sparse. An agent cannot tell what comes back, how sources are merged, or how this tool relates to the large family of single-platform and workflow siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 12 parameters are already documented in the schema, including enum values, defaults, and per-platform caveats. The description adds no parameter meaning beyond that, which is the baseline expectation rather than a failure.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Search academic papers") and claims multi-source coverage. However, it does not distinguish this tool from the many per-platform siblings (search_arxiv, search_pubmed, search_crossref, etc.), and the multi-source framing is at odds with a platform parameter that defaults to a single source (crossref).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance at all: nothing says when to use this generic search versus the platform-specific siblings, nor when to pass platform="all" versus a single source. The only routing hint ("prefer search_literature for seed-aware workflows") lives in the schema, not the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_pubmedC

Search biomedical literature from PubMed/MEDLINE database using NCBI E-utilities API

NameRequiredDescriptionDefault
yearNoPublication year filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
sortByNoSort results by relevance or date
journalNoJournal name filter
maxResultsNoMaximum number of results to return
publicationTypeNoPublication type filter (e.g., ["Journal Article", "Review"])

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the NCBI E-utilities API but doesn't describe rate limits, authentication requirements, pagination behavior, error handling, or what the response format looks like. For a search tool with no annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that clearly states the tool's purpose. There's no wasted language or unnecessary elaboration. However, it could be slightly improved by front-loading more context about when to use this specific PubMed search versus other search tools.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 7 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the search returns (abstracts, citations, full metadata?), doesn't mention rate limits or API constraints, and provides no guidance on usage context. The description should do more to compensate for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches biomedical literature from PubMed/MEDLINE using NCBI E-utilities API, providing a specific verb ('Search') and resource ('biomedical literature from PubMed/MEDLINE database'). However, it doesn't explicitly differentiate from sibling tools like search_medrxiv or search_biorxiv that also search biomedical literature, missing sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. With many sibling tools available for searching different databases (e.g., search_arxiv, search_google_scholar, search_scopus), there's no indication of when PubMed-specific searching is preferred or what makes this tool distinct from general search tools like search_papers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_sciencedirectC

Search academic papers from Elsevier ScienceDirect database (requires API key)

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
journalNoJournal name filter
maxResultsNoMaximum number of results to return
openAccessNoFilter for open access articles only

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It only mentions the API key requirement, but doesn't describe what the search returns (e.g., metadata, abstracts, full text availability), pagination behavior, rate limits, authentication scope, or error conditions. This leaves significant gaps for a search tool with 6 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core purpose and key requirement. It's appropriately sized and front-loaded with the main functionality, though it could potentially be more structured with separate usage notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what kind of results are returned, how they're formatted, whether there's pagination, or any limitations. The API key mention is helpful but insufficient for full contextual understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema, maintaining the baseline score of 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches academic papers from the Elsevier ScienceDirect database, which is a specific verb (search) and resource (academic papers from ScienceDirect). It distinguishes from siblings like search_arxiv or search_pubmed by specifying the database source, though it doesn't explicitly contrast with all similar search tools in the list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'requires API key' which provides some context about prerequisites, but it doesn't offer guidance on when to use this tool versus alternatives like search_scopus or search_semantic_scholar. No explicit when/when-not instructions or comparison to sibling tools are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_scihubA

Controlled, opt-in Sci-Hub DOI adapter (disabled by default); accepts DOI/doi.org URLs only, tries direct mirrors before bounded ScrapingAnt fallback, and does not grant access rights.

NameRequiredDescriptionDefault
doiOrUrlYesDOI or doi.org URL only (e.g., "10.1038/nature12373"); ordinary paper URLs are rejected
savePathNoDirectory to save the PDF file (if downloadPdf is true)
downloadPdfNoWhether to download the PDF file

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does well: it discloses that the tool is disabled by default, requires opt-in, tries direct mirrors before a bounded ScrapingAnt fallback, and grants no access rights. It omits details like what happens when disabled or what the return payload is, but the key safety-relevant traits are present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence carries the operation, constraints, fallback order, and a legal/access caveat with no filler. The most important facts (opt-in, disabled, DOI-only) are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description explains input restrictions and behavioral fallback well. The main gaps are how someone enables the opt-in, what happens when disabled, and whether the tool returns a match or only a saved PDF.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents doiOrUrl, savePath, and downloadPdf. The description adds no parameter-level meaning beyond restating the DOI-only constraint, which is already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies this as a 'Sci-Hub DOI adapter' and sharply constrains its input to DOI/doi.org URLs, which distinguishes it from sibling search tools. However, it never states an explicit operation verb such as search, fetch, or download, relying on the tool name and schema to convey what it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear input constraints and hints at an opt-in workflow, but it does not compare this tool to siblings such as get_paper_by_doi or discover_paper_access, nor does it say when to choose it over them. Usage is mostly implied: use it when you have a DOI and want Sci-Hub access.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_scopusB

Search the Scopus abstract and citation database (requires Elsevier API key). COMPLETE view returns abstracts and is paginated.

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
journalNoJournal name filter
subjectNoSubject area filter
maxResultsNoMaximum number of results; COMPLETE requests are paginated in pages of 25
openAccessNoFilter for open access articles only
affiliationNoInstitution/affiliation filter
documentTypeNoDocument type: ar=article, cp=conference paper, re=review, bk=book, ch=chapter

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden. It does disclose two useful behaviors: an API-key precondition and that the COMPLETE view returns abstracts and is paginated. But 'COMPLETE view' is never defined, no rate limits or error behavior are mentioned, and pagination mechanics are left to the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action and immediately followed by the key precondition. The only weakness is the undefined 'COMPLETE view', which spends words without conveying information to a reader who lacks that context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter search tool with no annotations and no output schema, the description is thin: it never sketches the return shape beyond 'abstracts', gives no query-syntax hints, and does not explain how to page through COMPLETE results. The rich schema compensates for parameter documentation, but return-value and credential-failure behavior remain unaddressed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all nine parameters are already documented in the schema, including the enum mapping and pagination note on maxResults. The description adds no meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search the Scopus abstract and citation database'), which distinguishes it from sibling source-specific search tools like search_pubmed, search_arxiv, and search_webofscience by naming the database. It does not explicitly contrast with generic siblings such as search_papers or search_literature, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical 'requires Elsevier API key' is a real gating prerequisite that tells the agent when this tool is callable. However, there is no guidance on when to prefer this over the many alternate literature-search siblings, and no mention of what to do if the key is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_semantic_scholarC

Search Semantic Scholar for academic papers with citation data

NameRequiredDescriptionDefault
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
maxResultsNoMaximum number of results to return
fieldsOfStudyNoFields of study filter (e.g., ["Computer Science", "Biology"])

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Search' implies a read-only operation, the description doesn't mention important behavioral aspects like rate limits, authentication requirements, response format, pagination behavior, or error conditions. The mention of 'citation data' hints at what's returned but doesn't provide operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core functionality without unnecessary words. It's appropriately sized for a search tool and front-loads the essential information. Every word earns its place in this concise statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with 4 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what kind of results to expect, how citation data is presented, or how this tool differs from the many other search tools available. The lack of behavioral context and usage guidance leaves significant gaps for an AI agent trying to use this tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 4 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. It mentions 'citation data' which relates to output rather than input parameters. Baseline score of 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Search') and resource ('Semantic Scholar for academic papers'), and specifies the type of data returned ('with citation data'). However, it doesn't explicitly differentiate this tool from its many sibling search tools (e.g., search_arxiv, search_pubmed) beyond mentioning Semantic Scholar specifically.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the many alternative search tools available on the server (search_arxiv, search_pubmed, search_google_scholar, etc.). There's no mention of Semantic Scholar's specific strengths, coverage, or when it might be preferred over other academic search tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_springerA

Search academic papers from Springer Nature database. Uses Metadata API by default (all content) or OpenAccess API when openAccess=true (full text available). Same API key works for both.

NameRequiredDescriptionDefault
typeNoPublication type filter
yearNoYear filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
journalNoJournal name filter
subjectNoSubject area filter
maxResultsNoMaximum number of results to return
openAccessNoSearch only open access content

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the same API key works for both API modes, which is useful behavioral context about authentication. However, it doesn't mention rate limits, pagination behavior, error handling, or what the response format looks like, leaving significant gaps for a search tool with 8 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured in two sentences with zero waste. The first sentence states the core purpose, and the second provides important behavioral context about API modes and authentication. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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, no annotations, and no output schema, the description provides adequate basic information about purpose and API behavior. However, it lacks details about response format, error conditions, or performance characteristics that would be helpful given the tool's complexity and lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 8 parameters thoroughly. The description adds minimal value by mentioning the openAccess parameter's effect on API selection, but doesn't provide additional semantic context beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches academic papers from Springer Nature database, specifying both the action (search) and resource (academic papers). It distinguishes itself from siblings by mentioning the Springer Nature database specifically, unlike other search tools like search_arxiv or search_pubmed that target different sources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about when to use different API modes (Metadata API vs OpenAccess API based on openAccess parameter), which helps guide usage. However, it doesn't explicitly state when to choose this tool over sibling search tools like search_google_scholar or search_scopus, missing explicit alternatives guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_webofscienceB

Search Web of Science. Defaults to Expanded when its key is configured, otherwise Starter; explicitly selecting a product is optional.

NameRequiredDescriptionDefault
yearNoPublication year filter (e.g., "2023", "2020-2023")
queryYesSearch query string
authorNoAuthor name filter
sortByNoStarter-supported sort field
journalNoJournal name filter
sortOrderNoSort order: ascending or descending
apiProductNoauto uses Expanded when configured; otherwise Starterauto
maxResultsNoMaximum number of results to return
recordViewNoExpanded record detail; defaults to full to avoid a second quota-consuming lookup
discoverAccessNoFind public publisher PDF links using controlled direct retrieval and optional paid fallback
discoverAccessMaxItemsNoMaximum result items to enrich; defaults to ACCESS_DISCOVERY_MAX_ITEMS or 5

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the auto-selection behavior of the API product tier, which is useful, but says nothing about credentials required, quota/rate-limit costs, or pagination — and the apiProduct default it explains is already fully documented in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the purpose. The second sentence earns only partial credit since it largely repeats the apiProduct schema default rather than adding new guidance, but there is no padding or redundancy elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter search tool with no output schema, the description is thin: it does not indicate result shape, whether results are paginated, or how expensive options like discoverAccess affect the call. The rich schema compensates for parameter documentation, but the description leaves the agent without a sense of what a call returns or costs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all 11 parameters including enums and defaults are already documented in the schema. The description's only parameter-related content restates the apiProduct default, adding no meaning beyond structured data. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Search Web of Science"), which inherently distinguishes it from sibling database tools like search_scopus or search_pubmed. It does not, however, articulate what makes Web of Science distinct or when an agent should prefer it over those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives implied usage guidance about the apiProduct selection being optional, but there is no explicit when-to-use versus alternatives guidance among the many sibling search tools. An agent gets no help deciding Web of Science over Scopus, OpenAlex, or search_papers.

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.

  1. 31 tool updatesv0.1.0
    • First observedcheck_scihub_mirrors
    • First observedcreate_research_brief
    • First observeddiscover_paper_access
    • First observeddownload_paper
    • First observeddownload_public_paper
    • First observedexpand_citation_graph
    • First observedexport_literature
    • First observedget_citations
    • First observedget_literature_records
    • First observedget_paper_by_doi
    • First observedget_paper_markdown
    • First observedget_platform_status
    • First observedget_source_status
    • First observedget_webofscience_related_records
    • First observedsave_screening
    • First observedsearch_arxiv
    • First observedsearch_biorxiv
    • First observedsearch_crossref
    • First observedsearch_google_scholar
    • First observedsearch_iacr
    • First observedsearch_literature
    • First observedsearch_medrxiv
    • First observedsearch_openalex
    • First observedsearch_papers
    • First observedsearch_pubmed
    • First observedsearch_sciencedirect
    • First observedsearch_scihub
    • First observedsearch_scopus
    • First observedsearch_semantic_scholar
    • First observedsearch_springer
    • First observedsearch_webofscience

TDQS

B3.1/5.0

Scored across 31 tools

Disambiguation3/5

Per-source searches (arxiv, pubmed, scopus, crossref, etc.) are clearly distinct, but the set also contains three overlapping entry points for general discovery: search_papers, search_literature, and the union of all source-specific tools, with no guidance on when to prefer each. The download path is similarly crowded (download_paper, download_public_paper, get_paper_markdown, discover_paper_access, get_paper_by_doi), and get_platform_status vs get_source_status plus get_citations vs get_literature_records are near-duplicates that an agent can easily pick wrongly.

Naming Consistency5/5

Every name is snake_case with a leading verb (search_, get_, download_, create_, save_, export_, check_, expand_, discover_) followed by a clear object. The verb varies by semantics rather than arbitrarily, so patterns like search_<source> and get_<resource> are immediately predictable.

Tool Count2/5

31 tools exceeds a comfortable surface for an agent, and the count is inflated by redundancy rather than coverage: twelve source-specific search tools sit alongside two generic search tools (search_papers, search_literature) that already aggregate them. Several download/status tools could be consolidated or folded into options on existing tools.

Completeness4/5

The literature workflow is covered end to end: discovery across many sources, hydration by record_id/DOI, one-hop citation expansion, screening persistence, export to BibTeX/RIS/JSON, PDF retrieval, and source health/status. Minor gaps exist around research briefs (create_research_brief exists but no get/list/delete brief) and no way to inspect or clean up stored search sessions beyond the source-status counts.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables discovery and analysis of research ecosystems by extracting metadata from paper URLs, GitHub repositories, and research names. Automatically finds related papers, code repositories, models, datasets, and authors across platforms like arXiv, HuggingFace, and GitHub.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching, downloading, and exporting academic papers from 20+ scholarly sources including arXiv, PubMed, and Semantic Scholar. Supports multi-source concurrent search, citation network tracing, and export to CSV, RIS, and BibTeX.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables scholarly paper search, citation graph exploration, literature reviews, and full-text retrieval by combining OpenAlex metadata with Inciteful citation data.
    9
    1
    MIT