Make maps of places across the continental US with your AI assistant.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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 a map of places in the continental US. Returns map_id and map_url.
Map title.
Traveler preferences and planning notes, e.g. seafood and playgrounds. Stored context is limited to 10,240 UTF-8 bytes.
Name shown for this app in the map sharing panel.
The word the map numbers its days with, when they are not days: "House" for houses to tour gives House 1, House 2. Default "Day"; "" resets it.
Your id for this create: 1–64 letters, digits, hyphens or underscores. Signed in, a retry with the same id returns the same map; otherwise the retry is not charged twice.
City or region in the continental US, e.g. Asheville, NC.
Whether plan lists draw routes and travel times between their places. Default true; false is for lists that are not journeys, such as one list per area.
Your stable id for this conversation (≤64 chars, no ':', not 'user' or 'system'). With it, pending_changes lists only changes made by others.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http maps https://mcp.augmap.ai/mcp
Create a map of places in the continental US. Returns map_id and map_url.
| Argument | Type | Description |
|---|---|---|
| view | object | |
| title | string | Map title. |
| context | string | Traveler preferences and planning notes, e.g. seafood and playgrounds. Stored context is limited to 10,240 UTF-8 bytes. |
| app_name | string | Name shown for this app in the map sharing panel. |
| day_noun | string | The word the map numbers its days with, when they are not days: "House" for houses to tour gives House 1, House 2. Default "Day"; "" resets it. |
| interests | array | |
| request_id | string | Your id for this create: 1–64 letters, digits, hyphens or underscores. Signed in, a retry with the same id returns the same map; otherwise the retry is not charged twice. |
| destination | string | City or region in the continental US, e.g. Asheville, NC. |
| route_stops | boolean | Whether plan lists draw routes and travel times between their places. Default true; false is for lists that are not journeys, such as one list per area. |
| travel_mode | string | |
| conversation_id | string | Your stable id for this conversation (≤64 chars, no ':', not 'user' or 'system'). With it, pending_changes lists only changes made by others. |
{
"type": "object",
"properties": {
"view": {
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
},
"zoom": {
"type": "number",
"maximum": 16,
"minimum": 3
}
},
"additionalProperties": false
},
"title": {
"type": "string",
"description": "Map title."
},
"context": {
"type": "string",
"maxLength": 10000,
"description": "Traveler preferences and planning notes, e.g. seafood and playgrounds. Stored context is limited to 10,240 UTF-8 bytes."
},
"app_name": {
"type": "string",
"maxLength": 48,
"description": "Name shown for this app in the map sharing panel."
},
"day_noun": {
"type": "string",
"maxLength": 24,
"description": "The word the map numbers its days with, when they are not days: \"House\" for houses to tour gives House 1, House 2. Default \"Day\"; \"\" resets it."
},
"interests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8
},
"request_id": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,64}$",
"description": "Your id for this create: 1–64 letters, digits, hyphens or underscores. Signed in, a retry with the same id returns the same map; otherwise the retry is not charged twice."
},
"destination": {
"type": "string",
"description": "City or region in the continental US, e.g. Asheville, NC."
},
"route_stops": {
"type": "boolean",
"description": "Whether plan lists draw routes and travel times between their places. Default true; false is for lists that are not journeys, such as one list per area."
},
"travel_mode": {
"enum": [
"auto",
"bicycle",
"pedestrian"
],
"type": "string"
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64,
"description": "Your stable id for this conversation (≤64 chars, no ':', not 'user' or 'system'). With it, pending_changes lists only changes made by others."
}
},
"additionalProperties": false
}Create, update (rename, change kind, pin a saved list to a plan list) or delete lists. A plan list's date goes in its name ("Sat, Oct 3 · Acadia"). Deleting a list moves its places to Unscheduled or to. Each op result has the list_id and kind of the list it used.
| Argument | Type | Description |
|---|---|---|
| ops* | array | |
| map_id* | string | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string | |
| expected_version | string | The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version. |
{
"type": "object",
"required": [
"map_id",
"ops"
],
"properties": {
"ops": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"op",
"name"
],
"properties": {
"op": {
"type": "string",
"const": "create"
},
"kind": {
"enum": [
"plan",
"saved"
],
"type": "string",
"description": "plan (default): part of the map's plan, numbered and routed in order: days, tours, houses, venues or neighborhoods to visit or compare. saved: places kept aside as options, only when the traveler asks to save, keep or collect them (favorites, maybes, ideas)."
},
"name": {
"type": "string",
"minLength": 1
},
"op_id": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
},
{
"type": "object",
"anyOf": [
{
"required": [
"name"
]
},
{
"required": [
"kind"
]
},
{
"required": [
"pinned_to"
]
}
],
"required": [
"op",
"list"
],
"properties": {
"op": {
"type": "string",
"const": "update"
},
"kind": {
"enum": [
"plan",
"saved"
],
"type": "string",
"description": "Convert to this kind; list_id stays."
},
"list": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string",
"minLength": 1,
"description": "New name; list_id stays."
},
"op_id": {
"type": "string",
"maxLength": 64
},
"pinned_to": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
],
"description": "Saved lists: the plan list it belongs to; null unpins."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"op",
"list"
],
"properties": {
"op": {
"type": "string",
"const": "delete"
},
"to": {
"type": "string",
"minLength": 1,
"description": "An existing list for its places; default Unscheduled."
},
"list": {
"type": "string",
"minLength": 1
},
"op_id": {
"type": "string",
"maxLength": 64
}
},
"additionalProperties": false
}
]
},
"maxItems": 20,
"minItems": 1
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
},
"expected_version": {
"type": "string",
"maxLength": 64,
"description": "The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version."
}
},
"additionalProperties": false
}Add, update, move, remove (park in rejected) or restore places. Each op result has the list_id and kind of the list it used.
| Argument | Type | Description |
|---|---|---|
| ops* | array | |
| map_id* | string | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string | |
| expected_version | string | The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version. |
{
"type": "object",
"required": [
"map_id",
"ops"
],
"properties": {
"ops": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"op",
"place",
"to"
],
"properties": {
"op": {
"type": "string",
"const": "add"
},
"to": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"required": [
"new"
],
"properties": {
"new": {
"type": "string",
"minLength": 1,
"description": "Name of the list to create; an existing list of that kind and name is reused."
},
"kind": {
"enum": [
"plan",
"saved"
],
"type": "string",
"description": "plan (default): part of the map's plan, numbered and routed in order: days, tours, houses, venues or neighborhoods to visit or compare. saved: places kept aside as options, only when the traveler asks to save, keep or collect them (favorites, maybes, ideas)."
}
},
"additionalProperties": false
}
],
"description": "Destination: an existing list's list_id or name, or {\"new\": name} to create one."
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Zero-based position in a plan list; omit to append."
},
"op_id": {
"type": "string",
"maxLength": 64
},
"place": {
"type": "object",
"anyOf": [
{
"required": [
"place_id"
]
},
{
"required": [
"point"
]
},
{
"required": [
"address"
]
},
{
"required": [
"geometry"
]
}
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"time": {
"type": "string"
},
"notes": {
"type": "string",
"maxLength": 2000
},
"phone": {
"type": "string",
"maxLength": 40
},
"point": {
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
"status": {
"enum": [
"tentative",
"confirmed",
"visited",
"skipped"
],
"type": "string"
},
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
},
"website": {
"type": "string",
"maxLength": 300
},
"category": {
"type": "string",
"maxLength": 100
},
"geometry": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "LineString"
},
"names": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"description": "Optional: one name per line, in order; null for an unnamed line. The map labels each line."
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 2
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "MultiLineString"
},
"names": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"description": "Optional: one name per line, in order; null for an unnamed line. The map labels each line."
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 2
},
"minItems": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "Polygon"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 4
},
"minItems": 1
}
},
"additionalProperties": false
}
],
"description": "GeoJSON [lng, lat] positions (optional altitude is discarded). Polygon rings close with the first position. At most 2000 positions total."
},
"place_id": {
"type": "string"
},
"duration_min": {
"type": "integer",
"minimum": 0
},
"travel_mode_to": {
"anyOf": [
{
"enum": [
"auto",
"bicycle",
"pedestrian"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"op",
"place",
"set"
],
"properties": {
"op": {
"type": "string",
"const": "update"
},
"set": {
"type": "object",
"anyOf": [
{
"required": [
"name"
]
},
{
"required": [
"point"
]
},
{
"required": [
"address"
]
},
{
"required": [
"geometry"
]
},
{
"required": [
"notes"
]
},
{
"required": [
"website"
]
},
{
"required": [
"phone"
]
},
{
"required": [
"time"
]
},
{
"required": [
"duration_min"
]
},
{
"required": [
"status"
]
},
{
"required": [
"travel_mode_to"
]
}
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"time": {
"type": "string"
},
"notes": {
"type": "string",
"maxLength": 2000
},
"phone": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "null removes the phone."
},
"point": {
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
"status": {
"enum": [
"tentative",
"confirmed",
"visited",
"skipped"
],
"type": "string"
},
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
},
"website": {
"anyOf": [
{
"type": "string",
"maxLength": 300
},
{
"type": "null"
}
],
"description": "null removes the website."
},
"geometry": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "LineString"
},
"names": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"description": "Optional: one name per line, in order; null for an unnamed line. The map labels each line."
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 2
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "MultiLineString"
},
"names": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"description": "Optional: one name per line, in order; null for an unnamed line. The map labels each line."
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 2
},
"minItems": 1
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string",
"const": "Polygon"
},
"coordinates": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "array",
"items": false,
"maxItems": 3,
"minItems": 2,
"prefixItems": [
{
"type": "number",
"maximum": 180,
"minimum": -180
},
{
"type": "number",
"maximum": 90,
"minimum": -90
},
{
"type": "number"
}
]
},
"maxItems": 2000,
"minItems": 4
},
"minItems": 1
}
},
"additionalProperties": false
}
],
"description": "GeoJSON [lng, lat] positions (optional altitude is discarded). Polygon rings close with the first position. At most 2000 positions total."
},
{
"type": "null"
}
],
"description": "null removes the geometry."
},
"duration_min": {
"type": "integer",
"minimum": 0
},
"travel_mode_to": {
"anyOf": [
{
"enum": [
"auto",
"bicycle",
"pedestrian"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"op_id": {
"type": "string",
"maxLength": 64
},
"place": {
"type": "string",
"minLength": 1,
"description": "entry_id from map_get_state, or the place's name (a string)."
}
},
"additionalProperties": false
},
{
"type": "object",
"anyOf": [
{
"required": [
"to"
]
},
{
"required": [
"index"
]
}
],
"required": [
"op",
"place"
],
"properties": {
"op": {
"type": "string",
"const": "move"
},
"to": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "object",
"required": [
"new"
],
"properties": {
"new": {
"type": "string",
"minLength": 1,
"description": "Name of the list to create; an existing list of that kind and name is reused."
},
"kind": {
"enum": [
"plan",
"saved"
],
"type": "string",
"description": "plan (default): part of the map's plan, numbered and routed in order: days, tours, houses, venues or neighborhoods to visit or compare. saved: places kept aside as options, only when the traveler asks to save, keep or collect them (favorites, maybes, ideas)."
}
},
"additionalProperties": false
}
],
"description": "Destination: an existing list's list_id or name, or {\"new\": name} to create one."
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Zero-based position in a plan list; omit to append."
},
"op_id": {
"type": "string",
"maxLength": 64
},
"place": {
"type": "string",
"minLength": 1,
"description": "entry_id from map_get_state, or the place's name (a string)."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"op",
"place"
],
"properties": {
"op": {
"type": "string",
"const": "remove"
},
"op_id": {
"type": "string",
"maxLength": 64
},
"place": {
"type": "string",
"minLength": 1,
"description": "entry_id from map_get_state, or the place's name (a string)."
},
"reason": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"op",
"place"
],
"properties": {
"op": {
"type": "string",
"const": "restore"
},
"to": {
"type": "string",
"minLength": 1,
"description": "An existing list. Default: the list it came from; if gone, Unscheduled."
},
"index": {
"type": "integer",
"minimum": 0,
"description": "Zero-based position in a plan list; omit to append."
},
"op_id": {
"type": "string",
"maxLength": 64
},
"place": {
"type": "string",
"minLength": 1,
"description": "entry_id from map_get_state, or the place's name (a string)."
}
},
"additionalProperties": false
}
]
},
"maxItems": 50,
"minItems": 1
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
},
"expected_version": {
"type": "string",
"maxLength": 64,
"description": "The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version."
}
},
"additionalProperties": false
}Read a map: lists, places, save_state, version, pending_changes.
| Argument | Type | Description |
|---|---|---|
| since | string | A version from an earlier response: pending_changes then lists others' changes after it. Default: since your own last change. |
| map_id | string | The map identifier from map_create or map_list. |
| share_url | string | A shared map's link (…/t/…), instead of map_id. Read-only. |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string |
{
"type": "object",
"anyOf": [
{
"required": [
"map_id"
]
},
{
"required": [
"share_url"
]
}
],
"oneOf": [
{
"required": [
"map_id"
]
},
{
"required": [
"share_url"
]
}
],
"properties": {
"since": {
"type": "string",
"maxLength": 64,
"description": "A version from an earlier response: pending_changes then lists others' changes after it. Default: since your own last change."
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$",
"description": "The map identifier from map_create or map_list."
},
"share_url": {
"type": "string",
"format": "uri",
"maxLength": 512,
"description": "A shared map's link (…/t/…), instead of map_id. Read-only."
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
}
},
"additionalProperties": false
}List the traveler's saved maps, and maps shared with them, with their map_id and map_url.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
}
},
"additionalProperties": false
}Save a map to the traveler's account.
| Argument | Type | Description |
|---|---|---|
| map_id* | string | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
{
"type": "object",
"required": [
"map_id"
],
"properties": {
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
}
},
"additionalProperties": false
}Find places and street addresses in the continental US for an existing map_id. Returns places and fields_granted per query.
| Argument | Type | Description |
|---|---|---|
| map_id* | string | |
| queries* | array | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string |
{
"type": "object",
"required": [
"map_id",
"queries"
],
"properties": {
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"queries": {
"type": "array",
"items": {
"type": "object",
"anyOf": [
{
"required": [
"name"
]
},
{
"required": [
"place_id"
]
},
{
"required": [
"near"
]
},
{
"required": [
"text"
]
},
{
"required": [
"along_route"
]
}
],
"properties": {
"city": {
"type": "string",
"minLength": 1,
"description": "City for name or text search; text search covers a town-sized area about the city's center (scale changes it), not municipal boundaries."
},
"name": {
"type": "string",
"minLength": 1,
"description": "Place-name lookup (partial names may match), optionally with city or near. Not combined with text, place_id or along_route."
},
"near": {
"anyOf": [
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"place_id": {
"type": "string",
"minLength": 1,
"description": "A returned place_id, including addr: ids."
}
},
"additionalProperties": false
}
],
"description": "Center for nearby/text search (takes precedence over city/state), or location bias for name lookup. Not combined with along_route."
},
"text": {
"type": "string",
"minLength": 1,
"description": "Ordinary place search, e.g. {\"text\":\"seafood restaurant\",\"city\":\"Portland\",\"state\":\"ME\"}. Provide city/state or near to locate the search; along_route is only for an actual route."
},
"label": {
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "Maximum results, default 12, independent of requested fields. Search uses a bounded candidate pool, not an exhaustive catalog scan."
},
"scale": {
"enum": [
"neighborhood",
"town",
"area",
"region"
],
"type": "string",
"description": "Search size about near or the city: neighborhood (~3 km), town (~10 km, a city's default), area (~25 km, near's default), region (~75 km). A sparse text search widens and returns expanded:true. Not with radius_km."
},
"state": {
"type": "string",
"minLength": 1,
"description": "US state for name or text search, e.g. ME, to disambiguate the city. Coverage still depends on the server environment."
},
"fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "Extra columns: 'hours', 'detail', 'amenity:pool', 'score', 'snippet'. Only these are supported; fields_granted lists what was returned."
},
"category": {
"type": "string",
"description": "Category for name or text search; not used by route, nearby-only or ID lookup."
},
"open_day": {
"enum": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"type": "string",
"description": "Excludes known-closed places that day, retaining unknown hours. Text, nearby or route search."
},
"open_now": {
"type": "boolean",
"description": "Excludes known-closed places; unknown hours remain. Text, nearby or route search, not name/ID lookup."
},
"place_id": {
"type": "string",
"minLength": 1,
"description": "Lookup by a returned place_id; not combined with other search selectors."
},
"radius_km": {
"type": "number",
"description": "Hard maximum distance from the resolved center for text or nearby search; not a route corridor width. Requires near or a city/map center. Not with scale.",
"exclusiveMinimum": 0
},
"along_route": {
"anyOf": [
{
"type": "object",
"required": [
"list"
],
"properties": {
"list": {
"type": "string",
"minLength": 1,
"description": "A plan list (list_id or name) with a computed route."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"start",
"end"
],
"properties": {
"end": {
"anyOf": [
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"place_id": {
"type": "string",
"minLength": 1,
"description": "A returned place_id, including addr: ids."
}
},
"additionalProperties": false
}
],
"description": "{lat, lng}, {address} or {place_id}."
},
"start": {
"anyOf": [
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"place_id": {
"type": "string",
"minLength": 1,
"description": "A returned place_id, including addr: ids."
}
},
"additionalProperties": false
}
],
"description": "{lat, lng}, {address} or {place_id}."
}
},
"additionalProperties": false
}
],
"description": "Places within a 3 km corridor of an actual route, returned in route order. Exactly one form: an existing plan list, OR both endpoints. detour_mi is perpendicular offset, not additional travel distance. Omit entirely for ordinary text search; never send an empty object."
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
}
},
"additionalProperties": false
}Pan/zoom the live map.
| Argument | Type | Description |
|---|---|---|
| zoom | number | |
| place | string | Existing entry_id or place name to center on; mutually exclusive with center. |
| center | any | Map center; provide exactly one of center or place. |
| map_id* | string | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string |
{
"type": "object",
"anyOf": [
{
"required": [
"center"
]
},
{
"required": [
"place"
]
}
],
"oneOf": [
{
"required": [
"center"
]
},
{
"required": [
"place"
]
}
],
"required": [
"map_id"
],
"properties": {
"zoom": {
"type": "number",
"maximum": 16,
"minimum": 3
},
"place": {
"type": "string",
"minLength": 1,
"description": "Existing entry_id or place name to center on; mutually exclusive with center."
},
"center": {
"anyOf": [
{
"type": "object",
"required": [
"lat",
"lng"
],
"properties": {
"lat": {
"type": "number",
"maximum": 90,
"minimum": -90
},
"lng": {
"type": "number",
"maximum": 180,
"minimum": -180
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"maxLength": 300,
"minLength": 3,
"description": "Street address with house number, e.g. '233 S Wacker Dr, Chicago, IL'. Include town and state when known."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"place_id"
],
"properties": {
"place_id": {
"type": "string",
"minLength": 1,
"description": "A returned place_id, including addr: ids."
}
},
"additionalProperties": false
}
],
"description": "Map center; provide exactly one of center or place."
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
}
},
"additionalProperties": false
}Create, list or revoke links that let other people view a saved map or join it as editors, change a link's role, or list and manage the people who joined.
| Argument | Type | Description |
|---|---|---|
| op* | string | |
| role | string | Required for set_role and set_member_role; optional for create (default viewer). viewer can look; editor invites people to edit once they sign in. |
| label | string | Who the link is for. create with the same label and role returns the same link. |
| map_id* | string | |
| link_id | string | Required for revoke/set_role: link_id returned by map_share list. |
| member_id | string | Required for remove_member/set_member_role: member_id from list_members. |
{
"type": "object",
"anyOf": [
{
"required": [
"op"
],
"properties": {
"op": {
"const": "create"
},
"link_id": false,
"member_id": false
}
},
{
"required": [
"op"
],
"properties": {
"op": {
"const": "list"
},
"role": false,
"label": false,
"link_id": false,
"member_id": false
}
},
{
"required": [
"op",
"link_id"
],
"properties": {
"op": {
"const": "revoke"
},
"role": false,
"label": false,
"member_id": false
}
},
{
"required": [
"op",
"link_id",
"role"
],
"properties": {
"op": {
"const": "set_role"
},
"label": false,
"member_id": false
}
},
{
"required": [
"op"
],
"properties": {
"op": {
"const": "list_members"
},
"role": false,
"label": false,
"link_id": false,
"member_id": false
}
},
{
"required": [
"op",
"member_id"
],
"properties": {
"op": {
"const": "remove_member"
},
"role": false,
"label": false,
"link_id": false
}
},
{
"required": [
"op",
"member_id",
"role"
],
"properties": {
"op": {
"const": "set_member_role"
},
"label": false,
"link_id": false
}
}
],
"required": [
"map_id",
"op"
],
"properties": {
"op": {
"enum": [
"create",
"list",
"revoke",
"set_role",
"list_members",
"remove_member",
"set_member_role"
],
"type": "string"
},
"role": {
"enum": [
"viewer",
"editor"
],
"type": "string",
"description": "Required for set_role and set_member_role; optional for create (default viewer). viewer can look; editor invites people to edit once they sign in."
},
"label": {
"type": "string",
"maxLength": 48,
"description": "Who the link is for. create with the same label and role returns the same link."
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"link_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}$",
"description": "Required for revoke/set_role: link_id returned by map_share list."
},
"member_id": {
"type": "string",
"pattern": "^[0-9a-f]{16}$",
"description": "Required for remove_member/set_member_role: member_id from list_members."
}
},
"additionalProperties": false
}Change a map's title, context, travel mode, interests, day noun or whether it routes between stops.
| Argument | Type | Description |
|---|---|---|
| title | string | |
| map_id* | string | |
| context | object | Resulting stored context has a 10,240 UTF-8 byte limit. Retrying append repeats the text; replace is safe to retry. |
| day_noun | string | The word the map numbers its days with, when they are not days: "House" for houses to tour gives House 1, House 2. Default "Day"; "" resets it. |
| interests | array | |
| route_stops | boolean | Whether plan lists draw routes and travel times between their places. Default true; false is for lists that are not journeys, such as one list per area. |
| travel_mode | string | |
| draft_handle | string | The draft_handle map_create returned; unsaved maps only. |
| conversation_id | string |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 5, 2026.
| expected_version | string | The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version. |
{
"type": "object",
"anyOf": [
{
"required": [
"title"
]
},
{
"required": [
"context"
]
},
{
"required": [
"travel_mode"
]
},
{
"required": [
"interests"
]
},
{
"required": [
"day_noun"
]
},
{
"required": [
"route_stops"
]
}
],
"required": [
"map_id"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"map_id": {
"type": "string",
"pattern": "^[a-z0-9_-]{1,64}$"
},
"context": {
"type": "object",
"required": [
"text",
"mode"
],
"properties": {
"mode": {
"enum": [
"append",
"replace"
],
"type": "string"
},
"text": {
"type": "string",
"maxLength": 10240
}
},
"description": "Resulting stored context has a 10,240 UTF-8 byte limit. Retrying append repeats the text; replace is safe to retry.",
"additionalProperties": false
},
"day_noun": {
"type": "string",
"maxLength": 24,
"description": "The word the map numbers its days with, when they are not days: \"House\" for houses to tour gives House 1, House 2. Default \"Day\"; \"\" resets it."
},
"interests": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 8
},
"route_stops": {
"type": "boolean",
"description": "Whether plan lists draw routes and travel times between their places. Default true; false is for lists that are not journeys, such as one list per area."
},
"travel_mode": {
"enum": [
"auto",
"bicycle",
"pedestrian"
],
"type": "string"
},
"draft_handle": {
"type": "string",
"description": "The draft_handle map_create returned; unsaved maps only."
},
"conversation_id": {
"type": "string",
"pattern": "^(?!user$|system$)[^:\\x00-\\x1f\\x7f-\\x9f\\u2028\\u2029]*$",
"maxLength": 64
},
"expected_version": {
"type": "string",
"maxLength": 64,
"description": "The version you planned this edit from. If someone else has since changed what it touches, nothing is applied and the result is a conflict with their changes and the current version."
}
},
"additionalProperties": false
}