← The evidence ledger
Evidence row 304425
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 266f5182-124e-4d7c-b160-5d6286e6c23e
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- ce6d20146a85634b6a6a540158063d01d9474c8cc838b5439c7d1eeaea9a6b40
- Leaf
- 0x7b3d835b035ec74f8e705b12196ef64dad1fbc111976b2d7a44f4abc1630ce41
What was observed
{
"count": 3,
"tools": [
{
"description": "Estimate what a German address is worth to buy and to rent.\n\nWorks for any address, listed or not. The estimate comes from comparable\nlistings around it, so `confidence` and `sample_size` say how much to trust\nit - a thin sample means a wide, weakly supported band.\n\nReturns `estimate` (point values, ranges and €/m² for price and rent) and\n`confidence`. A point estimate is absent when too few comparables back it;\nthe €/m² band and `sample_size` still say what was found. This is a model\noutput, not an appraisal, and no comparable listing is reproduced in it.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"city": {
"description": "City name, e.g. \"München\".",
"type": "string"
},
"features": {
"anyOf": [
{
"items": {
"enum": [
"balcony",
"basement",
"elevator",
"garden",
"kitchen",
"parking",
"terrace",
"new_building"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Equipment the property has. Only what it *has* - a feature\nleft out is treated as unknown, not as absent."
},
"floor": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Floor the flat is on."
},
"living_space_sqm": {
"description": "Living area in m².",
"type": "number"
},
"postcode": {
"description": "Five-digit German postcode, e.g. \"80331\".",
"type": "string"
},
"property": {
"default": "wohnung",
"description": "\"wohnung\" (apartment) or \"haus\" (house).",
"enum": [
"wohnung",
"haus"
],
"type": "string"
},
"property_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A narrower type such as \"reihenhaus\" or \"etagenwohnung\";\nan unknown value is refused with the list of accepted ones."
},
"rented": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "True values it as sold with a sitting tenant, False as sold\nbezugsfrei - in Germany the same flat is worth markedly less with\none. Leave it out unless you know which it is."
},
"rooms": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of rooms (German count, e.g. 2.5). Improves the estimate."
},
"street": {
"description": "Street and house number, e.g. \"Marienplatz 1\". Required: without\nit the answer would silently describe the middle of the postcode.",
"type": "string"
},
"year_built": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Year of construction. Improves the estimate."
}
},
"required": [
"street",
"postcode",
"city",
"living_space_sqm"
],
"type": "object"
},
"name": "estimate_value"
},
{
"description": "Details of one listing: facts, Somantic's valuation, and the link to the\noriginal.\n\nNo description text: it is the advertiser's, at source_url. A withdrawn\n(inactive) listing is not returned: the call fails with \"No listing\", since\nthe offer no longer exists.\n\n`image_urls` is always empty: Somantic passes on no photos. They are the\nadvertiser's, at source_url.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"description": "The listing id from search_listings.",
"type": "string"
},
"property": {
"anyOf": [
{
"enum": [
"wohnung",
"haus"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "\"wohnung\" or \"haus\" if known; both are tried otherwise."
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_listing"
},
{
"description": "Search current real-estate listings in Germany, newest first.\n\nReturns listings with facts, Somantic's valuation (somantic_valuation_eur,\nprice_vs_valuation_pct: negative means priced below it) and source_url, the\noriginal listing on the portal that carries the offer.\n\n`last_seen` is when Somantic last confirmed the offer as online. Listings\nno longer confirmed are usually removed from results after 3 days.\n\nOne offer is often advertised on several portals at once. Those copies are\ncollapsed to the newest, so a page can hold fewer than `per_page` listings\nand `total` counts the copies rather than the offers.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"energy_class": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Energy efficiency classes, e.g. \"A+,A,B\"."
},
"exclude_erbbaurecht": {
"default": false,
"description": "Leave out leasehold (Erbbaurecht) properties.",
"type": "boolean"
},
"exclude_foreclosures": {
"default": false,
"description": "Leave out foreclosure auctions (Zwangsversteigerungen).",
"type": "boolean"
},
"features": {
"anyOf": [
{
"items": {
"enum": [
"balcony",
"garden",
"elevator",
"parking",
"kitchen",
"new_building"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Required amenities. \"new_building\" keeps only new builds\n(Neubau, Erstbezug, or built within the last 3 years)."
},
"page": {
"default": 1,
"description": "Result page, starting at 1.",
"type": "integer"
},
"per_page": {
"default": 20,
"description": "Results per page, at most 50.",
"type": "integer"
},
"price_below_market": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Only listings priced below Somantic's valuation."
},
"price_change": {
"anyOf": [
{
"enum": [
"reduced",
"increased",
"any"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only listings whose price changed while listed: \"reduced\",\n\"increased\" or \"any\"."
},
"price_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum price in EUR; monthly cold rent when transaction is \"mieten\"."
},
"price_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum price in EUR; monthly cold rent when transaction is \"mieten\"."
},
"price_per_sqm_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum price per m² in EUR; cold rent per m² when\ntransaction is \"mieten\"."
},
"price_per_sqm_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum price per m² in EUR; cold rent per m² when\ntransaction is \"mieten\"."
},
"property": {
"default": "wohnung",
"description": "\"wohnung\" (apartment) or \"haus\" (house).",
"enum": [
"wohnung",
"haus"
],
"type": "string"
},
"q": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Where — a city (\"München\", \"Frankfurt am Main\") or a postcode (\"80331\")."
},
"renovation_needed": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Only listings that need renovation (renovierungsbedürftig)."
},
"roi_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum gross rental yield in percent, e.g. 5 for 5 %. Purchases only."
},
"rooms_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum number of rooms."
},
"rooms_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum number of rooms (German count, e.g. 2.5)."
},
"size_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum living space in m²."
},
"size_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum living space in m²."
},
"transaction": {
"default": "kaufen",
"description": "\"kaufen\" to buy, \"mieten\" to rent.",
"enum": [
"kaufen",
"mieten"
],
"type": "string"
},
"vacant": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Only listings that are vacant (bezugsfrei)."
},
"year_max": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Built before this year."
},
"year_min": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Built in or after this year."
}
},
"type": "object"
},
"name": "search_listings"
}
]
}What the leaf hashes
{"body":"ce6d20146a85634b6a6a540158063d01d9474c8cc838b5439c7d1eeaea9a6b40","id":304425,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793055878566535,"prev":null,"subject":"266f5182-124e-4d7c-b160-5d6286e6c23e","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x7b3da6cec3fd3cb84dd6a82314419b32944ea4379f17c95ef39a0fac67756c87
- 0x9c7338efa9b193f088298c43e187a706e415fbe9f499e56bfcdd580fd7d03136
- 0xa3c7930863f11623a51e7a8f39f61d49257839503a14b76d5971b11451088199
- 0xad4a93cc56e2034df3fac79af4825ccccd8430e76e51bc02f37dd7a1d1687e9e
- 0x2d1d419540572ad51d261df8ced37cced2123b57da33d53d14ade26e3053dbc8
- 0xef12561516e89944ac7e3d49a44768f7e85dc20e0f5445fa454bd2fe102bc820
- 0xe57da434e84a8263fc58a8af000b57f69c5a22574e0bc853f93f84a268c8d118
- 0x81734afd3651655af318c8355d6c73b8e7788c60f4af21b7edf9bf7b09def9bb
- 0x997e889f6eaf42b61a159d47487522772148ec542d6d21d60d6cf169c618537b
- 0x227b1846e9338d14a584d945977a59dd6a05f2e84a33212202400515ac9c0632
- 0xe7152aaccc7d7d5da2d13bc6ee8ec470b8c1a5abe7dfed1431f0ed53ec50ebc5
- 0xa6406b1a5540d26e0cbd03bb274a01c10968fadb17913a6043bb9427ddfb71ba
- 0x01c95624b1f2385ef774ee258a9ae58a4df07a1bdaa829de84e1d5201f3f39c2
- 0x7721d38652b6444b18e1193824e50490ade04851ce6221771f6e374c4527d80f
- 0x15039087bf60ae9b06b756ec3cbc299760e59923a438bbd91e34d105186db0ed
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae