Skip to main content
Glama

Format a works cited list

format_bibliography
Read-only

Builds a complete APA 7, MLA 9, Chicago, Harvard or IEEE works cited list from sources, DOIs, ISBNs or URLs, alphabetised by author or numbered by citation order.

Instructions

Format several sources at once as one works cited list, alphabetised by the first author's family name in APA 7, MLA 9 or Chicago author date, or numbered in citation order in IEEE. A source with no author is alphabetised by its title. Inputs: sources (an array of objects, each with the same fields as format_citation: type, title and optional authors, year, container, publisher, city, edition, editors, translators, volume, issue, pages, doi, url, date_text, accessed, institution, degree, repository and report_number), dois (a list of DOIs to look up on Crossref), isbns (a list of ISBNs to look up on Open Library), urls (a list of web addresses to fetch and cite as websites) and style (apa7, mla9, chicago-ad or ieee). Give sources, dois, isbns, urls or any mix, up to 50 lookups in one call. If one lookup fails the reply is an error that names it. Example prompt: "Put these three sources into an APA works cited list: a journal article by Smith and Jones from 2020, a book by Cormen from 2009 and a website from example.edu."

Input Schema

NameRequiredDescriptionDefault
doisNoDOIs to look up on Crossref and add to the list, each one a DOI like 10.1038/nature14539 or a doi.org link.
urlsNoWeb addresses to fetch and add to the list as websites. Each one a full URL like https://example.edu/study.
isbnsNoISBNs to look up on Open Library and add to the list as books. Dashes are fine.
styleNoCitation style. Aliases such as APA, MLA 9 and Chicago are accepted. Valid styles: apa7, mla9, chicago-ad (Chicago author date), harvard and ieee.apa7
sourcesNoThe sources for the list. Each one takes the same fields as format_citation, so a journal article, a book, a website, a chapter, a thesis, a report, a dataset and a preprint can share one list. Optional when you give dois, isbns or urls.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.1.6
    • addedInput schema / properties / dois
      Added value: +{
      +  "default": [],
      +  "description": "DOIs to look up on Crossref and add to the list, each one a DOI like 10.1038/nature14539 or a doi.org link.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / isbns
      Added value: +{
      +  "default": [],
      +  "description": "ISBNs to look up on Open Library and add to the list as books. Dashes are fine.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / sources / default
      Added value: +[]
    • changedInput schema / properties / sources / description
      Previous value: -"The sources for the list. Each one takes the same fields as format_citation, so a journal article, a book, a website, a chapter, a thesis, a report, a dataset and a preprint can share one list."New value: +"The sources for the list. Each one takes the same fields as format_citation, so a journal article, a book, a website, a chapter, a thesis, a report, a dataset and a preprint can share one list. Optional when you give dois, isbns or urls."
    • changedInput schema / properties / sources / items / properties / container / description
      Previous value: -"Journal name, the book title for a chapter, or website name."New value: +"Journal name, the book title for a chapter, or website name. Required for a journal article and for a chapter, since without it the citation would be missing the work it appears in."
    • changedInput schema / properties / style / description
      Previous value: -"Citation style. Aliases such as APA, MLA 9 and Chicago are accepted. Valid styles: apa7, mla9, chicago-ad (Chicago author date)."New value: +"Citation style. Aliases such as APA, MLA 9 and Chicago are accepted. Valid styles: apa7, mla9, chicago-ad (Chicago author date), harvard and ieee."
    • addedInput schema / properties / urls
      Added value: +{
      +  "default": [],
      +  "description": "Web addresses to fetch and add to the list as websites. Each one a full URL like https://example.edu/study.",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "sources"
      -]
  2. First observedv0.1.3

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare readOnly and openWorld; the description adds real behavioral detail beyond that: alphabetisation by first author's family name, title-based ordering when no author exists, IEEE numbering by citation order, and the all-or-nothing error behaviour when any single lookup fails. These are exactly the traits an agent needs before committing 50 lookups to one call.

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 core behaviour and per-style ordering rules are front-loaded, and the ending example prompt is useful. The long enumeration of nested source fields largely repeats the schema and is the one portion that does not earn its space.

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?

With no output schema, the description still covers the important return behaviour (a failed lookup yields an error naming it), plus input mixing rules and the lookup cap. It also states prerequisites implicitly via 'required for a journal article and chapter' container notes in schema, so nothing an agent needs 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.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter and nested field is already documented, making 3 the baseline. The description adds only marginal meaning (that the source object mirrors format_citation and that doi/isbn/url lists are looked up remotely), and it lists style values without mentioning harvard, which the schema accepts.

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?

Opens with a specific verb and resource ('Format several sources at once as one works cited list') and immediately names the sorting rules per style, which separates it from the single-item sibling format_citation. An agent can tell from the first sentence that this is the batch/list tool.

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?

Explicitly states that sources, dois, isbns, urls or any mix are acceptable, caps it at 50 lookups per call, and gives a worked example prompt. It stops short of telling the agent when to prefer format_citation or cite_from_doi over this tool, so no true exclusion is stated.

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