Anwani MCP: create and manage permanent 9-digit address codes through OAuth (9code.app).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer anwani_at_… from Anwani OAuth (https://9code.app/authorize)
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
User-provided latitude only — never invent.
User-provided longitude only — never invent.
Only if the user provided a city.
Display name only if the user provided one.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| pin | string | |
| city | string | Only if the user provided a city. |
| floor | any | |
| label | string | |
| phone | string | |
| street | string | |
| country | string | |
| category | string | |
| latitude* | number | User-provided latitude only — never invent. |
| longitude* | number | User-provided longitude only — never invent. |
| ownerName | string | Display name only if the user provided one. |
| pinEnabled | boolean | |
| postalCode | string | |
| houseNumber | string | |
| buildingName | string | |
| instructions | string | |
| neighborhood | string | |
| idempotency_key* | string |
{
"type": "object",
"required": [
"idempotency_key",
"latitude",
"longitude"
],
"properties": {
"pin": {
"type": "string",
"pattern": "^\\d{4}$"
},
"city": {
"type": "string",
"maxLength": 80,
"description": "Only if the user provided a city."
},
"floor": {
"oneOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 10
}
]
},
"label": {
"type": "string",
"maxLength": 80
},
"phone": {
"type": "string",
"maxLength": 20
},
"street": {
"type": "string",
"maxLength": 120
},
"country": {
"type": "string",
"maxLength": 40
},
"category": {
"type": "string",
"maxLength": 40
},
"latitude": {
"type": "number",
"maximum": 90,
"minimum": -90,
"description": "User-provided latitude only — never invent."
},
"longitude": {
"type": "number",
"maximum": 180,
"minimum": -180,
"description": "User-provided longitude only — never invent."
},
"ownerName": {
"type": "string",
"maxLength": 80,
"description": "Display name only if the user provided one."
},
"pinEnabled": {
"type": "boolean"
},
"postalCode": {
"type": "string",
"maxLength": 20
},
"houseNumber": {
"type": "string",
"maxLength": 20
},
"buildingName": {
"type": "string",
"maxLength": 80
},
"instructions": {
"type": "string",
"maxLength": 500
},
"neighborhood": {
"type": "string",
"maxLength": 80
},
"idempotency_key": {
"type": "string",
"maxLength": 128,
"minLength": 8
}
},
"additionalProperties": false
}Permanently delete an address owned by the connected account.
| Argument | Type | Description |
|---|---|---|
| code* | string |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[1-9]{9}$"
}
},
"additionalProperties": false
}List addresses owned by the connected Anwani account (same quota as app/Telegram).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Patch only provided fields (e.g. instructions). Does not clear omitted fields. Coordinates cannot be changed.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| changes* | object |
{
"type": "object",
"required": [
"code",
"changes"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[1-9]{9}$"
},
"changes": {
"type": "object",
"properties": {
"pin": {
"type": "string",
"pattern": "^\\d{4}$"
},
"city": {
"type": "string",
"maxLength": 80
},
"floor": {
"oneOf": [
{
"type": "number"
},
{
"type": "string",
"maxLength": 10
}
]
},
"label": {
"type": "string",
"maxLength": 80
},
"phone": {
"type": "string",
"maxLength": 20
},
"street": {
"type": "string",
"maxLength": 120
},
"country": {
"type": "string",
"maxLength": 40
},
"ownerName": {
"type": "string",
"maxLength": 80
},
"pinEnabled": {
"type": "boolean"
},
"postalCode": {
"type": "string",
"maxLength": 20
},
"houseNumber": {
"type": "string",
"maxLength": 20
},
"buildingName": {
"type": "string",
"maxLength": 80
},
"instructions": {
"type": "string",
"maxLength": 500
},
"neighborhood": {
"type": "string",
"maxLength": 80
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}Check that Anwani is connected for this user. Does not return internal IDs.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Return the public deep link for an owned address code.
| Argument | Type | Description |
|---|---|---|
| code* | string |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[1-9]{9}$"
}
},
"additionalProperties": false
}