Skip to main content
Glama
AnonymousOnyx22

BibTeX Reference Manager MCP

Generate cite keys

generate_cite_keys
Read-only

Create consistent citation keys from first author family name, year, and first meaningful title word; duplicate keys get letters, and old/new keys plus updated BibTeX are returned.

Instructions

Create consistent cite keys from the first author's family name, the year and the first meaningful word of the title, like smith2024deep. Repeated keys get a letter added. Returns the old and new key for each entry and the list as BibTeX with the new keys. Example: an entry with key old1, author "Smith, John", year 2024 and title "Deep Learning for Graphs" gives old_key old1 and new_key smith2024deep, or smith2024 when include_title_word is false.

Input Schema

NameRequiredDescriptionDefault
textYesThe reference list as text: BibTeX, RIS or CSL JSON.
formatNoThe format of the text. Defaults to auto, which looks at the text to decide.
include_title_wordNoAdd the first meaningful title word, so you get smith2024deep and not smith2024. Defaults to true.

Output Schema

NameRequiredDescriptionDefault
keysYes
countYes
bibtexYesThe list as BibTeX using the new keys.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the description need only add context — and it does: repeated keys get a letter suffix, and the response contains the old/new key pair per entry plus a full BibTeX list. It doesn't mention any rate limits or failure modes for unparseable input, keeping it short of a 5.

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 rule, then collision handling, then return contents — a sensible order. The trailing example restates the smith2024deep pattern already given and is longer than strictly necessary, so it loses a point for redundancy rather than length.

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?

An output schema exists, so return values needn't be spelled out, yet the description covers the old/new key mapping and BibTeX output anyway. The only gap is guidance on which input formats are accepted beyond the schema's enum and what happens with malformed text, but for a 3-param read-only tool this is close to complete.

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 baseline is 3. The description goes beyond the schema by demonstrating include_title_word's effect concretely (smith2024deep vs smith2024) and by implying format detection behavior, though it never discusses the format parameter's auto/bibtex/ris/csl_json choices.

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+resource (create cite keys) plus the exact derivation rule (first author's family name, year, first meaningful title word) and the collision behavior. Nothing about parse_bibliography, convert_bibliography, dedupe_entries or lint_entries overlaps with this key-generation transformation, so the agent can distinguish it immediately.

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

Usage Guidelines3/5

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

The description makes clear what the tool produces but never says when to choose it over siblings such as convert_bibliography or dedupe_entries, nor does it state prerequisites (e.g. the text must already be parsed/unambiguous). Usage is only implied by the nature of the operation.

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