Skip to main content
Glama
BibTeX Reference Manager MCP

BibTeX Reference Manager MCP

Fix entries

fix_entries
Read-only

Apply safe BibTeX fixes flagged by linting: convert single-hyphen page ranges to double hyphens, capitalize titles while protecting acronyms, and turn DOI links or doi: prefixes into bare DOIs.

Instructions

Apply the safe fixes that lint_entries points to and return the cleaned list as BibTeX: page ranges with one hyphen get a double hyphen, titles that start with a lower case letter or are all lower case get capitals (words inside braces are left alone, and acronyms like DNA, NASA or iOS in those titles are wrapped as {DNA} so BibTeX keeps their case; they are listed in protected_titles), and DOIs written as a link or with a doi: prefix become bare DOIs. Missing fields, backwards page ranges and DOIs that are not valid are not guessed, so run lint_entries on the result. Example: pages "12-15" becomes "12--15". Your files are not changed.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "text": "<text>"
    },
    "name": "fix_entries"
  }
}

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.

Output Schema

NameRequiredDescriptionDefault
countYesHow many entries were read.
fixedYesHow many changes were made.
fixesYes
bibtexYesThe cleaned list as BibTeX.
protected_titlesYesAcronyms wrapped in braces, like DNA, in titles that got a capitalization fix.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.2

TDQS

A4.6/5.0
Behavior5/5

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

The annotations already declare a read-only profile, and the description reinforces this with 'Your files are not changed.' It further discloses exact transformation rules, acronym protections, protected_titles output, and the fact that ambiguous issues are not guessed.

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 main action is front-loaded and every sentence is informative, including the example and the non-fix limitations. It is somewhat dense and could be more scannable, but it does not waste text.

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?

Given the nuanced transformation behavior and the existence of an output schema, the description covers everything an agent needs: what is fixed, what is not fixed, the lint workflow, and the no-file-mutation guarantee.

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%, so the input schema already explains text and format well enough. The description adds little parameter-specific detail beyond noting the output is BibTeX, so the baseline score applies.

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 and resource: apply safe fixes that lint_entries identifies and return a cleaned BibTeX list. It clearly distinguishes itself from lint_entries by saying lint points out issues while fix_entries applies the safe corrections.

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 links the tool to lint_entries as both a source of fixes and a follow-up validation step. It also defines what will not be fixed (missing fields, backwards ranges, invalid DOIs), which sets clear expectations and prevents misuse.

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