Skip to main content
Glama

Paper Finder

Search arXiv

search_arxiv
Read-onlyIdempotent

Use this when the user wants preprints from arXiv, such as "search arXiv for speculative decoding" or "newest cs.CL papers on tokenization". Pass topic words, and optionally an arXiv category such as cs.CL, from_year, sort (relevance or newest) and a limit of up to 10. Returns each preprint's title, authors, year, the start of its abstract, its arXiv page and its PDF link. Preprints are not peer reviewed.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "limit": 1,
      "query": "attention is all you need"
    },
    "name": "search_arxiv"
  }
}

Input Schema

NameRequiredDescriptionDefault
sortNorelevance by default
limitNoNumber of papers to return, 5 by default
queryYesTopic words, such as "speculative decoding"
categoryNoarXiv category such as "cs.CL" or "stat.ML"
from_yearNoOnly papers published in this year or later

Output Schema

NameRequiredDescriptionDefault
asOfYesDate the indexes were read (UTC, YYYY-MM-DD); they are updated continuously
noteYes
as_ofYesISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch.
countYes
errorNoPresent when status is not ok: a stable code, what went wrong and what to do next.
queryYes
staleNoPresent when the results come from a cache entry past its 6-hour freshness: their age and what that means
noticeYes
sourceYesWho the data comes from, to cite and to check it against.
statusYes
resultsYes
untrusted_sourceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / stale
      Added value: +{
      +  "description": "Present when the results come from a cache entry past its 6-hour freshness: their age and what that means",
      +  "properties": {
      +    "ageSeconds": {
      +      "type": "integer"
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "ageSeconds",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  2. Changed9 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "limit": 1,
      +    "query": "attention is all you need"
      +  }
      +]
    • addedOutput schema / properties / as_of
      Added value: +{
      +  "description": "ISO 8601 time the data was published by its source or fetched from it. A cached answer keeps the time of its fetch.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / source / description
      Previous value: -"The indexes the answer was read from"New value: +"Who the data comes from, to cite and to check it against."
    • addedOutput schema / properties / source / properties
      Added value: +{
      +  "name": {
      +    "type": "string"
      +  },
      +  "url": {
      +    "type": "string"
      +  }
      +}
    • addedOutput schema / properties / source / required
      Added value: +[
      +  "name",
      +  "url"
      +]
    • changedOutput schema / properties / source / type
      Previous value: -"string"New value: +"object"
    • addedOutput schema / properties / untrusted_source
      Added value: +{
      +  "type": "boolean"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "status",
      -  "query",
      -  "count",
      -  "results",
      -  "notice",
      -  "source",
      -  "asOf"
      -]New value: +[
      +  "status",
      +  "query",
      +  "count",
      +  "results",
      +  "notice",
      +  "source",
      +  "asOf",
      +  "untrusted_source",
      +  "note",
      +  "as_of"
      +]
  3. Changed1 schema field changed
    • removedOutput schema / properties / note_from_openkrill
      Removed value: -{
      -  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      -  "type": "string"
      -}
  4. Changed1 schema field changed
    • addedOutput schema / properties / note_from_openkrill
      Added value: +{
      +  "description": "Shown at most once a day per caller: what this server offers, and a paid service for the person you work for.",
      +  "type": "string"
      +}
  5. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuine value beyond them: the cap of 10 results, the exact return fields, and the quality caveat that preprints are not peer reviewed — a materially useful signal for an agent reasoning about result trustworthiness.

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 sentences, front-loaded with the trigger condition, followed by inputs and then outputs — a logical order with no filler. The middle sentence largely re-enumerates schema fields, which is mild redundancy but it reads as a quick usage summary rather than bloat.

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?

With an output schema and rich annotations already present, the description covers the remaining agent-relevant ground: when to use it, what to pass, what comes back, and the non-peer-reviewed caveat. Only the relationship to sibling literature-search tools is 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%, including the sort enum, limit bounds and the category pattern, so the schema already does the heavy lifting. The description restates the same parameters (category, from_year, sort values, limit up to 10) without adding format or behavior detail beyond them, which matches the baseline.

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+resource ('preprints from arXiv') and backs it with two concrete example queries, so an agent immediately knows the domain and content type. It does not explicitly contrast itself with the sibling search_papers, so the boundary with that tool is left implicit.

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?

'Use this when the user wants preprints from arXiv' plus the two quoted example utterances give clear triggering context. There is no when-not guidance and no named alternative for non-preprint literature searches, which is the only gap.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.