Skip to main content
Glama
frapbod

Monarch MCP

by frapbod

Set transaction splits

set_transaction_splits
Idempotent

Replace all split legs on a transaction with new categories and amounts, ensuring they sum to the parent total; pass an empty array to remove splits.

Instructions

Replace all split legs on a transaction. Amounts must sum to the parent amount; pass an empty splits array to remove splits.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
splitsYes
transaction_idYesMonarch transaction ID

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYes
metaYes
Install Server

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate the tool is not read-only, is idempotent, and not destructive to the parent. The description adds valuable behavioral context: it replaces all existing split legs, requires amounts to sum to the parent, and that an empty array removes splits. This goes beyond the annotation hints.

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?

Two extremely concise sentences with no filler. The core action and key constraints are front-loaded, and every word adds value.

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?

For a two-parameter mutation tool with a clear action, the description covers all necessary operational details: replacement semantics, amount summation, and how to remove splits. The output schema handles return values, and annotations cover safety/idempotency. Nothing essential is missing.

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 only 50%, but the description compensates significantly for the 'splits' parameter by stating the summing constraint and the empty-array removal use case. It does not repeat schema descriptions for transaction_id, but that parameter is already well described in the 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 uses a specific verb ('Replace') and a specific resource ('all split legs on a transaction'), clearly distinguishing this from read-only tools like get_transaction_splits or other transaction updates. It is unambiguous about what the tool does.

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

Usage Guidelines3/5

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

The description clearly explains the behavior and includes a special case for removing splits via an empty array, but it does not explicitly state when to use this tool versus alternatives like update_transaction or get_transaction_splits. The usage context is implied but not contrasted with siblings.

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

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/frapbod/monarch-mcp'

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