AthausDocs

Tools

How the tools of the two MCP servers are built. The lists themselves are per server.

Each server has its own list, ordered by the right a tool requires. Both lists are generated from the contract the servers take their tools from; a test keeps them equal.

The names

English, in snake_case, verb first: that is how the ChatGPT and Claude directories name their tools, and how a model finds them most reliably. What a person reads, that is titles, descriptions and results, is German.

VerbMeaning
search_free text and filters, page by page
list_small sets from your account, without free text
get_one thing with all the context for the next decision
save_create without an ID, change with one
update_change where there is nothing to create
draft_, send_, decide_actions that can go out: they prepare, your click carries out
check_, estimate_, count_, calculate_, show_check, calculate, show

The same name can exist on both servers and mean different things: get_inquiry is an enquiry to your office on Athaus für Makler, and your own enquiry about a listing on the search server. Values in an input are English (buy, rent); the server also accepts a German word such as "Wohnung".

What a tool returns

The exact inputs and outputs are described by the server itself in tools/list, written for the model, with outputSchema.

  • A text that is complete on its own. When an assistant shows an interface, its model only sees this text.
  • The same data as structuredContent, for a program.
  • Whatever waits for a click is under confirmation there. The token for the click only travels to the card in _meta, never in the text.
  • An error comes back as a result with isError, with a sentence naming the next step, and the error code in _meta["athaus/code"]. If a detail is missing, the result asks exactly one question.

Hints for models

With every tool the server sends the protocol's four hints, and they follow from its effect: readOnlyHint for tools that only read, destructiveHint and openWorldHint only where a tool destroys something or asks outside services. A draft is not one of them. That way an assistant does not ask before every draft, only before what really does something.

Anything that goes out is carried out by a person's click, in the confirmation card or in the app. When it runs without a click is under Rights.

On this page