create_category
Create a new category in Firefly III to classify and organize your financial transactions.
Instructions
Create a new category.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Create a new category in Firefly III to classify and organize your financial transactions.
Create a new category.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
Changes observed during successful MCP inspections.
v3.0.0Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. For a creation tool, it does not mention what happens after creation (e.g., whether it persists immediately, if it can fail due to duplicate names, if it triggers any side effects). It does not disclose any side effects or system behavior beyond the creation itself. The description is too minimal to inform the agent of important behavioral aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence. It is front-loaded with the action and resource, which is efficient. However, it is so concise that it lacks necessary information for the agent to use it effectively. This is under-specification rather than conciseness, but since it is short and to the point, it earns a 4 for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a create operation with a single required parameter, and no output schema or annotations, the description is incomplete. It doesn't mention what the response will be (e.g., created object), any validation rules, or potential errors. The agent lacks sufficient context to call this tool correctly without external knowledge. It needs at least information about the parameter's semantics and expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, meaning the 'name' parameter is completely undocumented in the schema. The description 'Create a new category.' does not add any meaning to the parameter; it doesn't explain what 'name' should be (e.g., unique, format, length). Since schema coverage is low, the description must compensate, but it fails to do so. The agent has no clue about the parameter's constraints or requirements beyond it being a string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new category.' clearly states the action (create) and the resource (category). It distinguishes from siblings like list_categories which lists, and update/delete tools. However, it is a bit generic and could be more specific about what a category is in this context (e.g., transaction category vs. other type), but the resource is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need to create a new category. It doesn't explicitly state when not to use it or mention alternatives, but given the sibling set, it is evident that if you need to list or update categories, you'd use other tools. No explicit guidance on prerequisites or constraints, so it's implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.