Skip to main content
Glama

Mietvertrag ändern

update_contract
Idempotent

Einen Vertragsentwurf ändern. Nur übergebene Felder werden geändert; items und clauses ersetzen die Liste. Ausgestellte Verträge ändern nur revise_contract.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "update_contract"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesVertrags-ID
noteNointern, nicht gedruckt
itemsNoZubehör für Anlage 1
placeNo
clausesNoDie §§; ohne Angabe die Textbausteine des Kontos. Leerzeile = neuer Absatz
vat_rateNo
object_skuNo
rent_basisNoMiete inkl. (gross) oder zzgl. (net) Steuer
start_dateNo
customer_idNoMieter aus list_customers: Daten werden kopiert, übergebene Felder haben Vorrang
notice_unitNo
object_nameNoMietobjekt, z. B. Rayocomp PS 10
return_daysNoRückgabefrist in Tagen nach Vertragsende
monthly_rentNoMonatsmiete in der Währung des Kontos
notice_valueNoKündigungsfrist nach der Mindestdauer
contract_dateNoleer = Tag des Ausstellens; bestimmt die Vertragsnummer
customer_cityNo
customer_nameNoFirma bzw. Name der Person
lessee_signerNo
lessor_signerNo
serial_numberNo
customer_emailNo
minimum_monthsNo
payment_methodNoDauerauftrag oder monatliche Rechnung
renewal_monthsNonach der Mindestdauer: 0 = unbefristet weiter, N = jeweils um N Monate; weglassen = nicht geregelt
customer_streetNo
customer_contactNoAnsprechperson / Unterzeichnende (Vor- und Nachname)
customer_countryNoISO-3166 Alpha-2, z. B. CH
external_referenceNoeigene Kennung (z. B. Mietvorgang)
customer_salutationNoAnrede der Ansprechperson
notice_end_of_monthNo
customer_is_businessNoMieter ist eine Firma; dann unterschreibt customer_contact für sie
customer_postal_codeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the mutation and safety profile is partly structured data. The description genuinely adds beyond that: partial-update semantics ('nur übergebene Felder werden geändert') and, critically, that items and clauses REPLACE the existing list rather than merge — a behavior the annotations do not convey. It stops short of stating return values, validation behavior, or what happens to omitted fields on nested items.

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?

Three short sentences, front-loaded with the action and the state constraint, then the update semantics, then the alternative route. No filler or restatement of the title.

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?

For a 33-parameter partial-update tool with no output schema, the description covers the essentials an agent needs to call it safely: draft-only scope, patch semantics, and list-replacement behavior. It is not fully complete — nothing about response content, permissions, or how transaction/date fields interact — but the critical decision inputs are present.

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?

With 33 parameters and only 58% schema description coverage, the description would need to compensate for roughly a third of the surface. It does add the single most important semantic — that items/clauses are full replacements — but says nothing about the other ~30 parameters (e.g. rent/notice fields, signer fields, cross-field dependencies like notice_value with notice_unit).

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: 'Einen Vertragsentwurf ändern' — and explicitly scopes it to drafts, which separates it from the many sibling contract tools (create_contract, issue_contract, revise_contract). An agent can tell immediately what this does and on which object state.

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?

Gives both the when ('Vertragsentwurf') and the when-not plus alternative ('Ausgestellte Verträge ändern nur revise_contract'). This is explicit routing to the correct sibling rather than leaving the choice to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources