Skip to main content
Glama
dennismenken

BuchhaltungsButler MCP-Server

by dennismenken

Kostenstelle anlegen

bb_cost_locations_create

Creates a cost center in BuchhaltungsButler with a self-chosen code and name, enabling allocation of posting lines to departments or projects. Use the code in cost_location fields.

Instructions

Legt eine Kostenstelle in BuchhaltungsButler an, mit einem selbst gewählten code von höchstens 10 Zeichen und einer Bezeichnung. Gedacht für eine neue Abteilung oder ein neues Projekt, auf das Buchungszeilen verteilt werden sollen. Die Kostenstelle steht danach in den Positionsfeldern cost_location und cost_location_two der Buchungswerkzeuge zur Verfügung. Welche Codes schon belegt sind, zeigt bb_cost_locations_search. Schreibt in die echten Buchhaltungsdaten von BuchhaltungsButler. Rückgängig zu machen mit bb_cost_locations_delete.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesAlphanumerischer Code der neuen Kostenstelle, höchstens 10 Zeichen, zum Beispiel abc123. Er ist zugleich der Identifikator. Welche Codes belegt sind, zeigt bb_cost_locations_search.
nameYesBezeichnung der Kostenstelle, zum Beispiel Vertrieb Nord oder Projekt Neubau.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNo
createdNo
messageNo
successYes
endpointNo
reversalNo
_contract_warningsNo
fields_not_returnedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already define the write/safety profile (readOnly=false, destructive=false, idempotent=false, openWorld=true), but the description adds real value beyond them: it writes to live BuchhaltungsButler accounting data, is reversible only via bb_cost_locations_delete, and its codes become usable in the cost_location fields of posting tools. It does not state what happens if the code is already taken, which keeps this from a 5.

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?

Front-loads the action and its two constraints, then adds intent, downstream effect, duplicate-check routing, side-effect warning, and undo path — every sentence carries distinct information and none restates structured fields verbatim.

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?

Output schema covers return values, annotations cover the safety profile, and the description supplies the remaining context an agent needs: side effects on real data, the sibling to consult before creating, and the recovery tool. Complete for a 2-parameter create tool.

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 100% so the formal constraints are already documented, but the description adds semantics: that 'code' is the self-chosen identifier of the cost center and that taken codes can be looked up via bb_cost_locations_search, plus the real-world meaning of 'name'. This goes beyond the schema's examples.

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?

States a specific verb+resource (legt eine Kostenstelle ... an) plus defining constraints (code max 10 chars, Bezeichnung), and names the sibling tools it relates to (search, delete). An agent can distinguish it from bb_cost_locations_update/search/delete without opening any schema.

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

Usage Guidelines5/5

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

Explicitly gives the intended use case (neue Abteilung oder Projekt, auf das Buchungszeilen verteilt werden), names bb_cost_locations_search for checking taken codes, and names bb_cost_locations_delete as the undo path. When-to-use and alternatives are both stated.

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