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.
Athaus für Makler
Daily briefing, portfolio, enquiries, replies, valuations, suggestions.
Athaus Immobiliensuche
Catalogue, exposé, enquiries to providers, search orders, matches.
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.
| Verb | Meaning |
|---|---|
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
confirmationthere. 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.