{"ok":true,"name":"anwani","version":"1.1.1","transport":"streamable-http","protocolVersion":"2024-11-05","auth":"bearer","tokenPrefix":"anwani_at_","resource":"https://us-central1-nine-code-anwani.cloudfunctions.net/mcpRemote","issuer":"https://9code.app","authorize":"https://9code.app/authorize","token":"https://us-central1-nine-code-anwani.cloudfunctions.net/oauthToken","authorization_servers_metadata":"https://9code.app/.well-known/oauth-authorization-server","protected_resource_metadata":"https://9code.app/.well-known/oauth-protected-resource","docs":"https://9code.app/ai-agents","note":"POST JSON-RPC with Authorization: Bearer anwani_at_…","tools":[{"name":"session","description":"Check that Anwani is connected for this user. Does not return internal IDs.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},{"name":"list_addresses","description":"List addresses owned by the connected Anwani account (same quota as app/Telegram).","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},{"name":"create_address","description":"Create one address within the user quota. Requires a real map pin from the user (latitude/longitude). NEVER invent coordinates, city, or display name. If the user did not provide a location (coords, Maps link, or clear place), ask them first — do not call this tool with sample/demo data.","inputSchema":{"type":"object","required":["idempotency_key","latitude","longitude"],"properties":{"idempotency_key":{"type":"string","minLength":8,"maxLength":128},"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"User-provided latitude only — never invent."},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"User-provided longitude only — never invent."},"ownerName":{"type":"string","maxLength":80,"description":"Display name only if the user provided one."},"label":{"type":"string","maxLength":80},"category":{"type":"string","maxLength":40},"instructions":{"type":"string","maxLength":500},"street":{"type":"string","maxLength":120},"houseNumber":{"type":"string","maxLength":20},"buildingName":{"type":"string","maxLength":80},"floor":{"oneOf":[{"type":"number"},{"type":"string","maxLength":10}]},"postalCode":{"type":"string","maxLength":20},"city":{"type":"string","maxLength":80,"description":"Only if the user provided a city."},"neighborhood":{"type":"string","maxLength":80},"country":{"type":"string","maxLength":40},"saudiNationalCode":{"type":"string","maxLength":8,"description":"Optional Saudi national short code (AAAA####) when country is SA. Does not replace the Anwani 9-digit code."},"phone":{"type":"string","maxLength":20},"pinEnabled":{"type":"boolean"},"pin":{"type":"string","pattern":"^\\d{4}$"}},"additionalProperties":false}},{"name":"patch_address","description":"Patch only provided fields (e.g. instructions). Does not clear omitted fields. Coordinates cannot be changed.","inputSchema":{"type":"object","required":["code","changes"],"properties":{"code":{"type":"string","pattern":"^[1-9]{9}$"},"changes":{"type":"object","properties":{"ownerName":{"type":"string","maxLength":80},"label":{"type":"string","maxLength":80},"instructions":{"type":"string","maxLength":500},"street":{"type":"string","maxLength":120},"houseNumber":{"type":"string","maxLength":20},"buildingName":{"type":"string","maxLength":80},"floor":{"oneOf":[{"type":"number"},{"type":"string","maxLength":10}]},"postalCode":{"type":"string","maxLength":20},"city":{"type":"string","maxLength":80},"neighborhood":{"type":"string","maxLength":80},"country":{"type":"string","maxLength":40},"saudiNationalCode":{"type":"string","maxLength":8,"description":"Optional Saudi national short code (AAAA####) when country is SA. Pass empty string to clear."},"phone":{"type":"string","maxLength":20},"pinEnabled":{"type":"boolean"},"pin":{"type":"string","pattern":"^\\d{4}$"}},"additionalProperties":false}},"additionalProperties":false}},{"name":"share_address","description":"Return the public deep link for an owned address code.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","pattern":"^[1-9]{9}$"}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},{"name":"delete_address","description":"Permanently delete an address owned by the connected account.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string","pattern":"^[1-9]{9}$"}},"additionalProperties":false},"annotations":{"destructiveHint":true}}]}