Canada: Search Geographical Names
geogratis/search-geonames
Searches the Canadian Geographical Names Service for names that match the text you give, optionally narrowed to one province or territory and one feature type (city, lake, mountain and so on). Returns up to `limit` names (1 to 8, default 5), best match first, each with its five-letter key, feature type, province, latitude, longitude, bounding box and map sheets. Contains information licensed under the Open Government Licence – Canada. Source: Natural Resources Canada, Canadian Geographical Names Service. Served by Eden Engine; not an official Government of Canada product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Natural Resources Canada (Canadian Geographical Names Service)
Contains information licensed under the Open Government Licence – Canada. Source: Natural Resources Canada, Canadian Geographical Names Service. Served by Eden Engine; not an official Government of Canada product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "geogratis/search-geonames" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "geogratis/search-geonames" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "geogratis/search-geonames", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "geogratis/search-geonames", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"pattern": "^[A-Za-z0-9\\u00C0-\\u00FF .,'/&-]{1,100}$",
"description": "Name or start of a name to find, for example Toronto or Lake Louise. Letters (accents allowed), digits, spaces and . , ' / & - only."
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 8,
"minimum": 1,
"description": "Most names to return in one call, 1 to 8. Defaults to 5."
},
"concise": {
"enum": [
"PROV",
"TERR",
"CITY",
"TOWN",
"VILG",
"HAM",
"UTM",
"LTM",
"STM",
"MUN1",
"MUN2",
"UNP",
"IR",
"GEOG",
"PARK",
"MIL",
"RIV",
"RIVF",
"FALL",
"LAKE",
"SPRG",
"SEA",
"SEAF",
"SEAU",
"CHAN",
"RAP",
"BAY",
"CAPE",
"BCH",
"SHL",
"ISL",
"CLF",
"MTN",
"VALL",
"PLN",
"CAVE",
"CRAT",
"GLAC",
"FOR",
"VEGL",
"MISC",
"RAIL",
"ROAD",
"AIR",
"MAR",
"HYDR",
"RECR",
"RES",
"CAMP",
"SITE"
],
"type": "string",
"description": "Optional feature type code, for example CITY, TOWN, LAKE, RIV (river), MTN (mountain), ISL (island), BAY."
},
"province": {
"enum": [
"10",
"11",
"12",
"13",
"24",
"35",
"46",
"47",
"48",
"59",
"60",
"61",
"62",
"72",
"73"
],
"type": "string",
"description": "Optional province or territory code: 10 Newfoundland and Labrador, 11 Prince Edward Island, 12 Nova Scotia, 13 New Brunswick, 24 Quebec, 35 Ontario, 46 Manitoba, 47 Saskatchewan, 48 Alberta, 59 British Columbia, 60 Yukon, 61 Northwest Territories, 62 Nunavut, 72 Undersea Feature, 73 International Waters."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"latitude",
"longitude"
],
"properties": {
"id": {
"type": "string",
"description": "Five-letter key of the name; pass it to get-geoname."
},
"map": {
"type": "array",
"items": {
"type": "string"
},
"description": "National Topographic System map sheets covering the feature."
},
"bbox": {
"type": "array",
"items": {
"type": "number"
},
"description": "Bounding box: west, south, east, north."
},
"name": {
"type": "string",
"description": "The geographical name."
},
"links": {
"type": "object",
"description": "Hypermedia links to the record and its code lists.",
"additionalProperties": true
},
"status": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"description": "Status of the name, for example official.",
"additionalProperties": true
},
"concise": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"description": "Concise feature type code, for example CITY, LAKE or MTN.",
"additionalProperties": true
},
"feature": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
},
"generic": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"description": "Generic term code.",
"additionalProperties": true
},
"accuracy": {
"type": "number",
"description": "Position accuracy in metres."
},
"category": {
"type": "string",
"description": "Category letter: O for an official name, A for an alternate."
},
"decision": {
"type": [
"string",
"null"
],
"description": "Date the name was adopted; null when unrecorded."
},
"language": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"description": "Language of the name (code such as eng, fra, moh).",
"additionalProperties": true
},
"latitude": {
"type": "number",
"description": "Latitude, WGS84 degrees."
},
"location": {
"type": [
"string",
"null"
],
"description": "Place the feature lies in or near."
},
"position": {
"type": "object",
"required": [
"type",
"coordinates"
],
"properties": {
"type": {
"type": "string"
},
"coordinates": {
"type": "array",
"items": {
"type": "number"
}
}
},
"additionalProperties": true
},
"provider": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": true
},
"province": {
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string"
},
"links": {
"type": "object",
"additionalProperties": true
}
},
"description": "Province or territory code (35 is Ontario).",
"additionalProperties": true
},
"syllabic": {
"type": "string",
"description": "The name in Canadian Aboriginal syllabics, present for some names in Nunavut and elsewhere."
},
"longitude": {
"type": "number",
"description": "Longitude, WGS84 degrees."
},
"relevance": {
"type": "number",
"description": "Match score for the query."
}
},
"additionalProperties": true
},
"description": "Matching names, best match first. Empty when nothing matched."
},
"links": {
"type": "object",
"description": "Links to this query in other formats.",
"additionalProperties": true
}
},
"additionalProperties": true
}