{"serverId":"mcp-registry/fr.sesapp/fiches","tools":[{"name":"create_fiche","fixed":{"name":"create_fiche","description":"Create an access sheet. Write the guest flip-book in `instructions` (Markdown; guest language, usually French). Cover (map/name/address/accessCode) is auto. Pages: --- . Photos: ![alt](https://...). Intents: [Add WiFi](sesapp:wifi) or [Ajouter le WiFi](sesapp:wifi) + wifiName/wifiPassword; [Add contact](sesapp:contact) or [Ajouter le contact](sesapp:contact) + phoneNumber. Never put wifiPassword in Markdown (150 m GPS). Optional `locale` fr|en for guest chrome. Playbook: GET /llms.txt. Requires ","inputSchema":{"type":"object","required":["name","formattedAddress"],"properties":{"lat":{"type":"number","description":"Cover map + WiFi geofence (150 m)."},"lon":{"type":"number","description":"Cover map + WiFi geofence (150 m)."},"name":{"type":"string"},"locale":{"enum":["fr","en"],"type":"string","description":"Guest chrome language. Markdown stays as written. Omit to follow Accept-Language / ?lang=."},"wifiName":{"type":"string","description":"SSID for sesapp:wifi. Hidden until 150 m if wifiPassword is set."},"accessCode":{"type":"string","description":"Shown on the generated cover."},"phoneNumber":{"type":"string","description":"Required for sesapp:contact. E.164 preferred."},"instructions":{"type":"string","description":"Markdown flip-book shown to the guest (this field).\nCover (map, name, formattedAddress, accessCode) is generated — do not repeat it here.\nSplit pages with a line containing only --- .\nSupported: # ## ### headings, paragraphs, **bold**, *italic*, - / 1. lists, [label](https://...), ![alt](https://...).\nPhotos: https URLs (GCS via the host app, or your own CDN). Agents send URLs, no file upload.\nNever put wifiPassword in Markdown; it is unlocked only within 150 m via GPS.\nIntent hrefs: sesapp:wifi (needs wifiName + wifiPassword) and sesapp:contact (needs phoneNumber). Guest-facing labels: [Ajouter le WiFi] / [Ajouter le contact].\nIf you omit those links but set the fields, SesApp appends WiFi/contact pages.\nExample:\n# Bienvenue\nParking au fond à gauche.\n\n![Façade](https://example.com/facade.jpg)\n\n---\n\n## Arrivée\nSonnette à gauche.\n\n[Itinéraire](https://maps.google.com/?q=48.8566,2.3522)\n\n---\n\n[Ajouter le WiFi](sesapp:wifi)\n\n---\n\n[Ajouter le contact](sesapp:contact)"},"wifiPassword":{"type":"string","description":"Do not put in instructions. Unlocked within 150 m."},"formattedAddress":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":674,"tokensAfter":674},{"name":"delete_fiche","fixed":{"name":"delete_fiche","description":"Delete an owned access sheet and its share links. Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"delete_webhook","fixed":{"name":"delete_webhook","description":"Delete a webhook endpoint. Fleet/Platform. Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":53,"tokensAfter":53},{"name":"get_fiche","fixed":{"name":"get_fiche","description":"Get one owned access sheet by id (same fields as list_fiches). Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"list_fiches","fixed":{"name":"list_fiches","description":"List access sheets owned by the authenticated agent. Requires Authorization: Bearer.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":48,"tokensAfter":48},{"name":"list_shares","fixed":{"name":"list_shares","description":"List guest links for a fiche (token, url, expiresAt, viewCount, createdAt). Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"list_webhooks","fixed":{"name":"list_webhooks","description":"List webhook endpoints (secret is never returned). Fleet/Platform. Requires Bearer.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":48,"tokensAfter":48},{"name":"revoke_share","fixed":{"name":"revoke_share","description":"Revoke a guest share token. Optional delayDays (1–365) keeps the link until then (soft revoke). Requires Bearer.","inputSchema":{"type":"object","required":["token"],"properties":{"token":{"type":"string"},"delayDays":{"type":"number","description":"If set, the link expires after N days instead of being deleted now."}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"status","fixed":{"name":"status","description":"Current agent plan, expiry, fichesCount, maxFiches, overageUsdc. Requires Authorization: Bearer.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":50,"tokensAfter":50},{"name":"update_fiche","fixed":{"name":"update_fiche","description":"Update an owned access sheet. Same fields as create_fiche. Typical: update instructions with photos/links. Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"lat":{"type":"number","description":"Cover map + WiFi geofence (150 m)."},"lon":{"type":"number","description":"Cover map + WiFi geofence (150 m)."},"name":{"type":"string"},"locale":{"enum":["fr","en"],"type":"string","description":"Guest chrome language. Markdown stays as written. Omit to follow Accept-Language / ?lang=."},"wifiName":{"type":"string","description":"SSID for sesapp:wifi. Hidden until 150 m if wifiPassword is set."},"accessCode":{"type":"string","description":"Shown on the generated cover."},"phoneNumber":{"type":"string","description":"Required for sesapp:contact. E.164 preferred."},"instructions":{"type":"string","description":"Markdown flip-book shown to the guest (this field).\nCover (map, name, formattedAddress, accessCode) is generated — do not repeat it here.\nSplit pages with a line containing only --- .\nSupported: # ## ### headings, paragraphs, **bold**, *italic*, - / 1. lists, [label](https://...), ![alt](https://...).\nPhotos: https URLs (GCS via the host app, or your own CDN). Agents send URLs, no file upload.\nNever put wifiPassword in Markdown; it is unlocked only within 150 m via GPS.\nIntent hrefs: sesapp:wifi (needs wifiName + wifiPassword) and sesapp:contact (needs phoneNumber). Guest-facing labels: [Ajouter le WiFi] / [Ajouter le contact].\nIf you omit those links but set the fields, SesApp appends WiFi/contact pages.\nExample:\n# Bienvenue\nParking au fond à gauche.\n\n![Façade](https://example.com/facade.jpg)\n\n---\n\n## Arrivée\nSonnette à gauche.\n\n[Itinéraire](https://maps.google.com/?q=48.8566,2.3522)\n\n---\n\n[Ajouter le WiFi](sesapp:wifi)\n\n---\n\n[Ajouter le contact](sesapp:contact)"},"wifiPassword":{"type":"string","description":"Do not put in instructions. Unlocked within 150 m."},"formattedAddress":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":570,"tokensAfter":570},{"name":"update_webhook","fixed":{"name":"update_webhook","description":"Update url, events, or active. Fleet/Platform. Requires Bearer.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"url":{"type":"string"},"active":{"type":"boolean"},"events":{"type":"array","items":{"type":"string"}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":83,"tokensAfter":83}],"toolsChanged":11,"tokensSaved":0,"todo":[{"tool":"create_fiche","params":["name","formattedAddress"]},{"tool":"delete_fiche","params":["id"]},{"tool":"delete_webhook","params":["id"]},{"tool":"get_fiche","params":["id"]},{"tool":"list_shares","params":["id"]},{"tool":"revoke_share","params":["token"]},{"tool":"share_fiche","params":["id"]},{"tool":"update_fiche","params":["id","name","formattedAddress"]},{"tool":"update_webhook","params":["id","url","active","events"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}