List cities
list_citiesList the 24 cities Dim Hour covers, with the city key to pass to the other tools.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cities | Yes |
Superseded by the canonical Dim Hour connector at https://glama.ai/mcp/connectors/com.dimhour.mcp/dim-hour (same server on its branded domain).
list_citiesList the 24 cities Dim Hour covers, with the city key to pass to the other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
| Name | Required | Description | Default |
|---|---|---|---|
| cities | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Output schema / properties / cities / items / properties / childrenAdded value: +{
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}Output schema / properties / cities / items / properties / kindAdded value: +{
+ "enum": [
+ "city",
+ "region"
+ ],
+ "type": "string"
+}Output schema / properties / cities / items / properties / parentAdded value: +{
+ "type": "string"
+}Output schema / properties / cities / items / requiredPrevious value: -[
- "key",
- "name",
- "state"
-]New value: +[
+ "key",
+ "name",
+ "state",
+ "kind"
+]Output schema / (root)Previous value: -nullNew value: +{
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "additionalProperties": false,
+ "properties": {
+ "cities": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "key": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "state": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "key",
+ "name",
+ "state"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "cities"
+ ],
+ "type": "object"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description's 'List' matches that safety profile. It additionally discloses the exact scope ('24 cities') and the useful detail that the output contains city keys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, efficient sentence that states exactly what the tool does and why the result matters. No filler or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only list operation with an output schema available, the description fully covers what an agent needs to call it correctly and understand its role in the workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description adds value by explaining that the output provides city keys for use elsewhere, which is the only semantic guidance needed for a parameterless call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List'), a precise resource ('the 24 cities Dim Hour covers'), and the practical purpose ('city key to pass to the other tools'). This clearly distinguishes it from sibling tools that list venues or search content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this tool is the source for city keys needed by other tools, implying it should be used to obtain valid city identifiers. It does not explicitly name exclusions or alternatives, but the use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
fetch and get_venue both describe retrieving the full record for a venue, differing only in an extra long-form story for Iconic 50 venues, making their boundaries unclear. Similarly, search and search_venues both search the same catalog with overlapping descriptions, leaving an agent unsure which to call.
The list_* tools are consistently verb_noun, but search and search_venues repeat the same action with different names, and fetch breaks the otherwise intuitive get_* pattern. The naming is readable but not systematic.
Seven tools is a reasonable count for a venue-discovery server, but redundancy between fetch/get_venue and search/search_venues inflates the set and makes it feel less tight than the domain requires.
The surface covers searching, retrieving details, browsing curated lists, and listing new venues across cities, so core discovery workflows are supported. Minor gaps exist around filtering/sharing list results, but agents can generally complete end-to-end tasks.