Skip to main content
Glama

Cite

cite
Read-only

How to cite a work of a project's register in a text you write: give its key or any identifier in any shape ('arXiv:2301.01234', a DOI or its address, 'MR1234567', 'Zbl 1234.56789', an ISBN) and get 'cite' — '[@KEY]', what to put in a page, a comment or a description — the 'reference' line a bibliography prints (with † while it is unchecked or disagrees with what it names), and its BibTeX entry for a paper. Use it rather than typing a reference out by hand, so every text names one row. When the register does not have it, 'found' is false and, where what you gave is an identifier, 'offer' says which: add the source with set_source (that identifier, a key and its title) before citing it. Anybody who sees the project.

Input Schema

NameRequiredDescriptionDefault
sourceYesThe source's key ('IMP26') or an identifier of the work, in any shape.
projectYesThe project key, e.g. MATH.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds substantive behavior: the † marker appears while a reference is unchecked or disagrees with what it names, and 'found'/'offer' describe the miss path. The only gap is it doesn't clarify output shape/format of the returned BibTeX or reference beyond naming them.

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 and the output contract, and every clause carries information about return values or the miss path. It is dense and runs long with nested quotes and em-dashes, which slightly slows parsing, but nothing is padding.

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 2-parameter read-only tool with no output schema, the description fully covers what comes back (cite token, page/comment reference line, bibliography line with † flag, BibTeX), the not-found case, and the follow-up action. Nothing an agent needs in order to call it correctly is missing.

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 coverage is 100%, so the baseline is 3, and the description earns extra credit by giving concrete identifier shapes ('arXiv:2301.01234', DOI, 'MR1234567', 'Zbl 1234.56789', ISBN) that the terse schema wording ('in any shape') does not illustrate. It falls short of 5 only because the project parameter gets no elaboration.

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?

States a specific verb ('cite') and resource (a work in a project's register), and enumerates exactly what it returns: the 'cite' token, the reference line, and the BibTeX entry. It is easily distinguished from siblings like get_source or list_sources because it is about producing citation strings, not fetching records.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use it 'rather than typing a reference out by hand,' and names the alternative path: when 'found' is false and an identifier was given, call set_source with that identifier, a key and a title before citing. Both the when and the when-not are covered with the sibling to use instead.

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.

Resources