Skip to main content
Glama

add_footnote

Destructive

Add a footnote to any paragraph in a DOCX or ODT file. Optionally position the reference after specific text.

Instructions

Add a footnote anchored to a paragraph. Optionally position the reference after specific text using after_text. Note: [^N] markers in read_file output are display-only and not part of the editable text used by replace_text. Surface: revisionable + package-mutation — the footnote reference and note text are tracked (w:ins), while footnote-part creation and registration are recorded in the save report non-revision change manifest.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYesFootnote body text.
file_pathYesPath to the DOCX or ODT file.
after_textNoText after which to insert the footnote reference. If omitted, appends at end of paragraph.
target_paragraph_idYesParagraph ID to anchor the footnote to.
Behavior5/5

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

Beyond annotations ('destructiveHint: true'), the description details revision tracking behavior: footnote reference and text are tracked as insertions, while footnote-part creation is recorded in the save report as non-revision changes. This provides valuable context for AI agent decision-making.

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 description is concise with two sentences and a note. The first sentence plainly states purpose, the second adds optional parameter. The technical note about revision tracking, while dense, is relevant for transparency. Could be slightly streamlined.

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?

Given no output schema, the description adequately covers what happens on invocation: tracked changes and save report details. It explains the effect of 'after_text' and the revision behavior, leaving little ambiguity for a mutation tool.

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 baseline is 3. The description adds minimal extra semantics, only clarifying that 'after_text' is optional and used for positioning. No additional depth beyond schema.

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?

The description clearly states the verb ('Add') and resource ('footnote anchored to a paragraph'), distinguishing it from sibling tools like 'update_footnote' and 'delete_footnote'.

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?

The description implicitly indicates when to use this tool (to add a footnote) and mentions optional positioning with 'after_text', but lacks explicit guidance on when not to use it or alternatives beyond the sibling list.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UseJunior/safe-docx'

If you have feedback or need assistance with the MCP directory API, please join our Discord server