Skip to main content
Glama

Find citations in text

find_citations
Read-onlyIdempotent

Scan free text for Pāli Canon citations, validate each against the bundled canon, and return character offsets with resolved IDs/titles or failure reasons. Handles mixed schemes offline.

Instructions

Find every Pāli Canon citation in a piece of free text (an essay, a talk transcript, a paper's references) and check each one against the bundled canon. Mixed schemes are understood: MN 10, SN 56:11, AN 3.65, Dhp 183, Snp 1.8, Pj 1, Kd 1, PTS pages like M i 55 or S v 420, Bilara IDs like sn56.11:5.1, and suttacentral.net / accesstoinsight.org / dhammatalks.org links. Returns each citation with its character offsets, the text it names (ID, title) or, when it does not resolve, the reason. Works offline.

Input Schema

NameRequiredDescriptionDefault
textYesThe free text to scan, up to 200,000 characters.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, closed-world and non-destructive behavior, so the safety profile is covered. The description still adds real value by describing the return payload (character offsets, resolved ID/title, or failure reason) and noting it works offline. It stops short of covering batching, performance, or how ambiguous or partial citations are reported.

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 core purpose, followed by a compact example list that earns its length through specificity, then a single sentence on output shape and a two-word offline note. Dense but no wasted sentences; the long inline enumeration is justified by disambiguating scope.

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 one required parameter, no output schema, and rich annotations, the definition covers everything an agent needs: what text to supply, what will be found, what the results contain, and that no network is involved. Only minor gaps remain, such as output ordering or handling of duplicate citations.

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 single `text` parameter and its 200,000-character bound are already documented by the schema. The description adds modest meaning by characterizing the input as free-form prose that may mix citation schemes, but contributes no syntax or formatting constraints beyond that.

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 precise verb and resource: find every Pāli Canon citation in free text and validate each against the bundled canon. The enumerated scheme examples (MN 10, SN 56:11, PTS pages, Bilara IDs, site links) make the scope unambiguous. It does not explicitly differentiate itself from near-siblings like resolve_reference or verify_quote, which keeps it from a 5.

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 input contexts — essays, talk transcripts, paper reference lists — so an agent knows this is for scanning bulk prose rather than resolving one known reference. Missing is any when-not clause or explicit pointer to resolve_reference / verify_quote for single-item lookups.

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