# Immoprobe > Immoprobe is a system of record and a deterministic calculator for German residential investment properties (Kapitalanlage-Immobilien), built to be used through the user's own AI assistant. It runs no language model of its own: the assistant reads listings and exposés, Immoprobe does the maths (cashflow before and after tax, yields, depreciation, projections), answers the land value (Bodenrichtwert) the valuation boards publish, at a point, and keeps the user's saved objects with notes. - [MCP server](https://api.immoprobe.de/mcp): Streamable HTTP; sign in with OAuth 2.1 on connect, or send a personal access token as a Bearer header. Every request needs a credential. - [Setup page](https://immoprobe.de/ai): Add to Claude, the Claude Code command, ChatGPT, the Skill. - [Agent skill](https://immoprobe.de/skill/SKILL.md): how to read a listing into the calculator input, what to look up, what to write in the note, conduct on portals. - [OpenAPI](https://api.immoprobe.de/openapi.json): the contract every tool derives from; human-readable at https://api.immoprobe.de/docs. - [Skill for any assistant](https://immoprobe.de/skill.md): the page to read before turning a listing into a link — parameters, the calculator's fields, where a German listing says what, conduct. - [Calculation by GET](https://api.immoprobe.de/v1/calculations?purchasePrice=300000&livingArea=60&stateCode=BE&coldRent=1000): the same query as the calculator link, answered as text (markdown) for an assistant that can only open URLs; JSON with `Accept: application/json`. Free, rate limited per IP. - [Link without tools](https://immoprobe.de/ai#link): an assistant with no connector hands the user `https://immoprobe.de/calculator?purchasePrice=…&livingArea=…&stateCode=…&coldRent=…` — every PropertyInput field by name, plus `lat`, `lng`, `address`, `listingUrl`, `title`, `note`, `model` and `assumed`; the web calculates and saves the object with the note in one click. ## Tools get_guide (the field mapping and rules, read once before the first calculation), calculate_property (free, with a free account; without one, use `POST /v1/calculations` with the same input as JSON or `GET /v1/calculations`, both free and rate limited per IP, or the calculator link above), lookup_address, save_object, find_objects, get_object, clone_object (a copy of a saved object with other financing or a negotiated price, to compare the variants), add_note, add_link, add_attachments_from_urls (the API fetches the listing's photos, floor plan and PDFs itself), set_object_status, set_object_lists, check_known_listings, compare_objects, get_account. Nothing destructive is reachable through MCP; deletion is the web's. ## Prompts and resources Prompts: analyze_listing, sweep_saved_search, portfolio_review. Resources: immoprobe://guide (the field mapping and rules), immoprobe://objects/{id} (one saved object). ## Rules an assistant should know - A saved object is in the user's list at once, marked with who saved it; `discarded` is the trash, emptied after 90 days. - Fields left out of a calculation take defaults and come back as `assumed`: show them as assumptions. - A land value read at street precision is approximate; show the attribution with every value; where there is no data, say so. - Only real geocodings count against the monthly quota; lookups by point are free.