Skip to main content
Glama
AnonymousOnyx22

BibTeX Reference Manager MCP

Parse a bibliography

parse_bibliography
Read-only

Reads BibTeX, RIS, or CSL JSON reference text and returns normalized entries with lower-case fields, tidy whitespace, bare DOIs, filled years, and split author names.

Instructions

Read BibTeX, RIS or CSL JSON text and return the entries in one normalized shape: lower case field names, tidy whitespace, bare DOIs, the year filled in from a date, and authors split into "Family, Given". Nothing is sent anywhere. Example: text "@article{k1, AUTHOR = {John Smith and Jane Doe}, title={Deep Learning for Graphs}, year={2024}}" returns one entry with authors ["Smith, John", "Doe, Jane"] and lower case field names. Leave format out unless auto picks the wrong one.

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 found.
formatYesThe format that was read: bibtex, ris or csl_json.
entriesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Goes beyond the readOnly/openWorld annotations by disclosing that processing is local ('Nothing is sent anywhere') and by spelling out the exact normalization transformations applied to fields, DOIs, years, and author names. It doesn't say how malformed or unparseable input is handled, which is the remaining behavioral gap.

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 opening sentence front-loads the core purpose and normalization behavior; the example earns its space by showing input and expected authors/field casing. It's slightly dense but contains no filler.

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 an output schema present, full parameter coverage, and annotations covering safety, the description supplies the remaining needed context: accepted formats, normalization contract, and a concrete example. Minor gaps remain around error behavior for invalid or mixed-format input.

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 both parameters are already documented, making 3 the baseline. The description adds practical meaning by advising to omit format unless auto-detection fails, and the worked example shows what the text parameter looks like in practice.

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?

The description states a clear verb and resource: read BibTeX/RIS/CSL JSON text and return entries in one normalized shape. The normalization rules (lower case fields, bare DOIs, year from date, authors split) make the operation concrete. It doesn't explicitly distinguish itself from sibling convert_bibliography, which is the nearest overlap, so it stops short of 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?

Provides clear guidance for the one ambiguous parameter: 'Leave format out unless auto picks the wrong one,' which tells the agent to rely on auto-detection first. Usage context is clear from the opening sentence, but there is no explicit statement about when to use this versus convert_bibliography or the other siblings.

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