Skip to main content
Glama
scholar-mcp

scholar-mcp

by pvliesdonk

Resolve Standard Identifier

resolve_standard_identifier
Read-only

Normalize a messy standard citation string into its canonical identifier, falling back to source APIs when local patterns fail and returning all candidates for ambiguous input.

Instructions

Normalise a messy standard citation string to its canonical form.

Tries local regex first (fast, no network). Falls back to querying source APIs when local patterns don't match. Returns all candidates when the input is ambiguous.

A cold catalogue makes this slow: the first call after a fresh install or a cleared cache downloads and parses each body's index, which runs well past the soft deadline. Such a call returns a job handle to poll with get_job_result rather than the result itself.

A warning beside a null record means the source never answered, so the standard may well exist and the canonical form is still usable. Only a null record with no warning means the sources looked and found nothing.

Input Schema

NameRequiredDescriptionDefault
rawYesRaw citation string as it appears in a paper reference.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.10.0
    • addedOutput schema / additionalProperties
      Added value: +true
    • removedOutput schema / properties
      Removed value: -{
      -  "result": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
    • removedOutput schema / x-fastmcp-wrap-result
      Removed value: -true
  2. First observedv1.9.0

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnly/non-destructive annotations, the description discloses real behavior: local matching avoids network calls, a cold catalogue triggers an index download that exceeds the soft deadline and returns a job handle, and ambiguous input yields multiple candidates. It also explains the critical null ``record`` + ``warning`` failure semantics, which the annotations cannot convey.

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 purpose is front-loaded in one line, followed by tightly grouped paragraphs on fallback, cold-cache behavior, and result interpretation. Each paragraph earns its place, though the cold-catalogue paragraph is slightly verbose relative to its point.

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

Completeness5/5

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

For a one-parameter tool with an output schema and read-only annotations, the description covers everything an agent needs: expected latency on a cold cache, the job-handle branch, and how to interpret ambiguous or failed lookups. The output schema handles return shape, so nothing material is missing.

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% and the single ``raw`` parameter is already documented as the citation string as it appears in a reference. The description restates this as a 'messy standard citation string' without adding format, length, or example guidance, so the schema does the work.

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 first sentence gives a precise verb and resource: normalise a messy standard citation string to its canonical form. That is clearly distinguishable from search_standards or get_standard, though the description never names a sibling to reinforce the contrast.

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 explains the internal escalation path (local regex first, source APIs as fallback) and explicitly tells the agent to poll with ``get_job_result`` when a job handle is returned instead of a result. What is missing is guidance on choosing this tool over search_standards when the agent is unsure whether the citation is already canonical.

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