Skip to main content
Glama

Search articles

article_search
Read-only

Find a paper by DOI or DOI URL, or search journal articles by keyword, author, title, or year. Returns metadata to compare before downloading.

Instructions

Find a paper by DOI (including DOI URLs), or search journal articles by keywords, author, title or year. DOI lookup returns one paper; keyword search returns one page. Set include_stats to add public per-file downloads, quality votes, reports, lists and comments. Compare metadata before downloading by hash or DOI.

Input Schema

NameRequiredDescriptionDefault
pageNoResult page starting at 1. Defaults to 1
sortNoOptional order: relevance (default), newest or oldest (publication year), largest or smallest (file size), newest_added or oldest_added (date added to the archive), or random
yearNoOptional publication year, for example 2008
limitNoMaximum results from this page. Defaults to 10; raise this before requesting another page
queryNoWords to look for in titles, authors, publishers and other metadata. For article_search, also a DOI, doi: identifier or https://doi.org/ URL. Optional when title, author, publisher or year is set
titleNoOptional phrase the title must contain
authorNoOptional phrase the author must contain
formatNoOptional file extensions, comma-separated, such as epub, pdf, mobi, azw3, djvu, fb2 or cbz. Prefix one with - to exclude it, as in -pdf
sourceNoOptional source libraries, comma-separated, such as lgli (Libgen.li), lgrs (Libgen.rs), zlib, ia, scihub, nexusstc or upload. Prefix one with - to exclude it
contentNoOptional content types, comma-separated: book_nonfiction, book_fiction, book_unknown, book_comic, magazine, standards_document, musical_score, audiobook or other. Prefix one with - to exclude it
languageNoOptional language codes, comma-separated, for example en or en,de. Prefix one with - to exclude it
publisherNoOptional phrase the publisher must contain
include_statsNoInclude public per-file community counts (downloads, quality votes, reports, lists and comments). Adds a statistics lookup for returned file hashes
timeout_secondsNoTotal operation timeout in seconds, including retries. Defaults to 60; maximum 86400
downloadable_onlyNoOnly return files the download tools can fetch: fast downloads, and for article_search also SciDB
search_descriptionsNoAlso match query against descriptions and metadata comments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv0.7.0
    • addedInput schema / properties / author
      Added value: +{
      +  "description": "Optional phrase the author must contain",
      +  "type": "string"
      +}
    • changedInput schema / properties / content / description
      Previous value: -"Optional content filter: book_fiction, book_nonfiction, book_unknown, book_comic, magazine, or standards_document"New value: +"Optional content types, comma-separated: book_nonfiction, book_fiction, book_unknown, book_comic, magazine, standards_document, musical_score, audiobook or other. Prefix one with - to exclude it"
    • addedInput schema / properties / downloadable_only
      Added value: +{
      +  "description": "Only return files the download tools can fetch: fast downloads, and for article_search also SciDB",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "Optional file extensions, comma-separated, such as epub, pdf, mobi, azw3, djvu, fb2 or cbz. Prefix one with - to exclude it, as in -pdf",
      +  "type": "string"
      +}
    • addedInput schema / properties / include_stats
      Added value: +{
      +  "description": "Include public per-file community counts (downloads, quality votes, reports, lists and comments). Adds a statistics lookup for returned file hashes",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / language / description
      Previous value: -"Optional two-letter ISO 639-1 language code, for example en"New value: +"Optional language codes, comma-separated, for example en or en,de. Prefix one with - to exclude it"
    • addedInput schema / properties / publisher
      Added value: +{
      +  "description": "Optional phrase the publisher must contain",
      +  "type": "string"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Title, author, topic, or (for article_search) a DOI, doi: identifier, or https://doi.org/ URL"New value: +"Words to look for in titles, authors, publishers and other metadata. For article_search, also a DOI, doi: identifier or https://doi.org/ URL. Optional when title, author, publisher or year is set"
    • addedInput schema / properties / search_descriptions
      Added value: +{
      +  "description": "Also match query against descriptions and metadata comments",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / sort
      Added value: +{
      +  "description": "Optional order: relevance (default), newest or oldest (publication year), largest or smallest (file size), newest_added or oldest_added (date added to the archive), or random",
      +  "type": "string"
      +}
    • addedInput schema / properties / source
      Added value: +{
      +  "description": "Optional source libraries, comma-separated, such as lgli (Libgen.li), lgrs (Libgen.rs), zlib, ia, scihub, nexusstc or upload. Prefix one with - to exclude it",
      +  "type": "string"
      +}
    • addedInput schema / properties / title
      Added value: +{
      +  "description": "Optional phrase the title must contain",
      +  "type": "string"
      +}
    • addedInput schema / properties / year
      Added value: +{
      +  "description": "Optional publication year, for example 2008",
      +  "type": "string"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "query"
      -]
  2. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, openWorld, non-destructive), so the description's job is to add context — and it does: DOI lookup returns a single paper, keyword search returns one page, and include_stats triggers a per-file statistics lookup. It does not mention auth or rate limits, but it adds meaningful behavioral detail beyond the structured hints.

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?

Front-loaded with the two core modes, then scoping options, then the downstream workflow hint. Every sentence carries information, though the closing 'compare metadata' sentence is advisory rather than definitional.

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 16-parameter search tool with no output schema, the description covers return cardinality, the stats side-effect, and the download-comparison workflow. Pagination behavior and result shape are only lightly touched, leaving a small gap.

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 16 parameters. The description restates include_stats and alludes to hashes, but adds little syntax or format detail beyond what the schema provides — the baseline of 3 fits.

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?

It states specific verbs and resources — DOI lookup and keyword search over journal articles — and clearly delineates the two modes. The 'article' scope implicitly separates it from book_search, but no sibling is named, so the differentiation is inferential rather than explicit.

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?

It gives clear context for choosing between the two modes (DOI vs keyword) and notes that include_stats and downloadable_only shape results. It stops short of naming alternatives like metadata_search or book_search, so there is no explicit when-not guidance.

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