Skip to main content
Glama

lit_search

Search multiple open scholarly databases at once, returning merged, de-duplicated results with open-access status and full-text availability.

Instructions

Search the open scholarly record across several indexes at once.

sources is a comma-separated list. Available: openalex ~250M works, all disciplines, open catalogue europepmc ~45M biomedical records, ~6M with open full text semanticscholar citation graph, open-PDF pointer, one-line summaries arxiv physics/quant-bio/CS preprints doaj articles in fully open-access journals openaire European repositories and funder outputs core ~300M repository records (needs a free API key)

The repository sources matter for paywalled work: a closed paper very often has a legal author manuscript deposited under a funder mandate.

Results are merged and de-duplicated on DOI. Each carries open-access status, licence, and whether full text is retrievable.

allow_external exists because a free-text query leaves this machine. Set confidential_mode in configure() to make that an explicit decision per call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYes
sourcesNoopenalex,europepmc,semanticscholar
year_toNo
year_fromNo
allow_externalNo
open_access_onlyNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behaviors: results are merged and de-duplicated on DOI, each result includes OA status/licence/full-text retrievability, and a free-text query leaves the machine. It also flags that core requires a free API key. It stops short of rate limits or auth specifics, but covers the main safety and data-handling traits.

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 front-loaded with the core purpose, uses structured list formatting for sources, and includes only functional extras (repository value, allow_external behavior). It is longer than minimal, but the complexity of the tool and the need to explain sources justifies the length.

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?

Given no annotations, 7 parameters, and 0% schema coverage, the description covers the non-obvious aspects (source choice, external data flow, de-duplication) and leaves clear parameter meanings to their names. An output schema exists, so return values are handled. Minor omissions like query syntax or pagination behavior prevent a 5.

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 description coverage is 0%, so the description must compensate. It meaningfully explains sources with per-index details and clarifies allow_external's purpose. The remaining parameters (query, limit, year_from, year_to, open_access_only) are self-explanatory by name, so this is adequate compensation for the ambiguous ones.

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 opens with 'Search the open scholarly record across several indexes at once', which is a specific verb, resource, and scope. It distinguishes itself from sibling tools like lit_get and lit_fetch by emphasizing multi-index search and lists the exact indexes available.

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 gives clear context for when to use repository sources for paywalled work and explains the purpose of allow_external in relation to confidential_mode. It does not explicitly name alternative tools or when-not-to-use, but the context strongly implies the tool's role compared to siblings.

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