MCP Server for biblatex file management with APA 7 validation and normalization
Server has 10 tools with complete input schemas and descriptions. Naming follows verb_noun convention (bib_list, bib_get, bib_search, etc.), which is good. However, descriptions are generic and lack LLM-optimization guidance (e.g., 'when to use this vs similar tools'). Parameter descriptions are present but minimal. Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Schemas are well-formed JSON Schema but lack examples and constraints (enums, patterns, min/max). Overall: functional but below production baseline.
Add a new entry to a .bib file.
Delete an entry from a .bib file by citation key.
Compare a .bib file against the local Zotero SQLite database. Matches by DOI then title, reports missing entries and field mismatches.
Auto-fix a single entry to conform to APA 7 biblatex format. Normalizes entry type, field names, author format, date format, and reports missing fields. Returns the fixed BibTeX and a list of changes.
Get a single entry by citation key. Returns all fields.
List all entries in a .bib file. Returns key, type, title, date, and authors for each entry.
Output schemas not documented. LLMs cannot infer what fields responses contain (e.g., does bib_list_entries return [key, type, title, date, authors] or additional fields?). This forces agents to guess and risks parsing errors.
Tool annotations missing. Despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE), no readOnlyHint, destructiveHint, or idempotentHint annotations present. Agents cannot distinguish safe from dangerous operations.
Descriptions lack LLM-optimization guidance. Generic descriptions like 'List all entries in a .bib file' do not explain WHEN to use this tool vs bib_search, or what the agent should do with the results. Descriptions should be 50-200 chars and answer: what, when, why.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Batch-fix all entries in a .bib file to APA 7 format. Returns a report of all changes. Use apply=true to write changes.
Search entries by keyword across key, title, authors, and entry type.
Update fields on an existing entry. Only specified fields are changed; others are preserved.
Validate entries against APA 7 field requirements. Checks required/recommended fields per entry type, author format, and CV categorization.
No error handling or recovery guidance. Tools do not document what errors can occur (file not found, invalid key, parse error) or what the agent should do next. Agents cannot self-correct on failures.
Parameter constraints missing. 'entry_type' in bib_add_entry accepts free-form strings (e.g., 'ARTICLE, PRESENTATION, REPORT, BOOK, INPROCEEDINGS') but should be an enum. 'apply' boolean in bib_fix_entry lacks default value documentation. Agents cannot validate inputs before calling.