Skip to main content
Glama
dcode

monarch-mcp2-obot

by dcode

Transactions Upload Transaction Attachment

transactions_upload_transaction_attachment

Attach a document or receipt to a transaction by supplying its transaction ID and file path, keeping Monarch Money records complete.

Instructions

Upload transaction attachment. This may create or update Monarch data.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsNoOptional dotted output field paths to return, such as ['id', 'merchant.name', 'category.name'].
filenameNo
file_pathYes
output_modeNoOutput shape to return. Use summary for compact CLI-style defaults, full for complete structured data without raw, and raw for complete structured data including raw payloads.summary
content_typeNo
transaction_idYes
Behavior3/5

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

The description adds the behavioral note that this 'may create or update Monarch data,' which aligned with annotations readOnlyHint=false and openWorldHint=true. However, it does not disclose important behavior such as whether an existing attachment is replaced, how file_path is resolved, what side effects occur, or what a successful response contains. The note adds some value but is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The primary action is front-loaded, and the mutation note is a single useful additional clause. It is appropriately sized for a tool of this complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a non-readonly operation with six parameters, no output schema, and a large sibling set including receipt uploads, this description is incomplete. It fails to explain what an attachment is, how to provide the file, what data is returned, or how this differs from uploading a receipt. An agent has enough to guess the action but not enough to invoke it reliably in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

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

The schema description coverage is only 33% (fields and output_mode are described, but transaction_id, file_path, filename, and content_type are not). The description provides no additional meaning for these parameters — it does not explain that file_path is a local file path, how filename/content_type are used, or what transaction_id refers to. With low schema coverage, the description needed to compensate and did not.

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 states a specific verb and resource: 'Upload transaction attachment.' This clearly distinguishes it from the sibling attachment tools (list, get, download, delete) and from the receipts upload tool because it names the resource as 'transaction attachment.' The second sentence clarifies it is a write operation on Monarch data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus alternatives such as receipts_upload_receipt or transactions_list_transaction_attachments. The description implies the use case by its name, but it does not state prerequisites, exclusions, or when another tool would be more appropriate. An agent is left to infer the intended trigger.

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/dcode/monarch-mcp2-obot'

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