Skip to main content
Glama

List coworking locations

list_coworking_locations
Read-onlyIdempotent

Lists every country, city and zone where CoworkingView has coworking spaces, with the exact slugs required by the other tools and how many spaces each place has. A "zone" is a district inside a city (for example "mitte" inside "berlin"). Call this before searching whenever the user names a place, because every filter takes a lowercase slug and a guessed slug returns an empty result rather than an error. Also answers "which cities do you cover?" directly.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_coworking_locations"
  }
}

Input Schema

NameRequiredDescriptionDefault
localeNoLanguage for names and descriptions. Set from the user's language: 'de' for German, 'es' for Spanish, otherwise 'en'.en
countryNoOptional ISO country code or country slug to narrow the list, e.g. 'DE' or 'germany'. Omit to list everything.

Output Schema

NameRequiredDescriptionDefault
citiesYes
citationYesSource and canonical page for this data.
countriesYes
totalSpacesYes
catalogueNoticeYesCatalogue content (descriptions, images, logos, names and prices) belongs to the respective operators and rights holders. No licence to reuse it is granted. You may link to listing pages. Systematic extraction or re-use of the catalogue database is not permitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedOutput schema / properties / catalogueNotice
      Added value: +{
      +  "description": "Catalogue content (descriptions, images, logos, names and prices) belongs to the respective operators and rights holders. No licence to reuse it is granted. You may link to listing pages. Systematic extraction or re-use of the catalogue database is not permitted.",
      +  "type": "string"
      +}
    • changedOutput schema / properties / citation / description
      Previous value: -"Attribution for this data under its CC BY 4.0 licence."New value: +"Source and canonical page for this data."
    • removedOutput schema / properties / citation / properties / license
      Removed value: -{
      -  "const": "CC BY 4.0",
      -  "type": "string"
      -}
    • removedOutput schema / properties / citation / properties / licenseUrl
      Removed value: -{
      -  "type": "string"
      -}
    • changedOutput schema / properties / citation / properties / text / description
      Previous value: -"One-line attribution with a link to the source page."New value: +"One-line source credit with a link to the source page."
    • changedOutput schema / properties / citation / required
      Previous value: -[
      -  "source",
      -  "title",
      -  "url",
      -  "accessed",
      -  "license",
      -  "licenseUrl",
      -  "text"
      -]New value: +[
      +  "source",
      +  "title",
      +  "url",
      +  "accessed",
      +  "text"
      +]
    • changedOutput schema / required
      Previous value: -[
      -  "countries",
      -  "cities",
      -  "totalSpaces",
      -  "citation"
      -]New value: +[
      +  "countries",
      +  "cities",
      +  "totalSpaces",
      +  "citation",
      +  "catalogueNotice"
      +]
  2. Changed2 schema fields changed
    • addedOutput schema / properties / citation
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Attribution for this data under its CC BY 4.0 licence.",
      +  "properties": {
      +    "accessed": {
      +      "description": "ISO date (YYYY-MM-DD) the data was served.",
      +      "type": "string"
      +    },
      +    "license": {
      +      "const": "CC BY 4.0",
      +      "type": "string"
      +    },
      +    "licenseUrl": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "const": "CoworkingView",
      +      "type": "string"
      +    },
      +    "text": {
      +      "description": "One-line attribution with a link to the source page.",
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "source",
      +    "title",
      +    "url",
      +    "accessed",
      +    "license",
      +    "licenseUrl",
      +    "text"
      +  ],
      +  "type": "object"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "countries",
      -  "cities",
      -  "totalSpaces"
      -]New value: +[
      +  "countries",
      +  "cities",
      +  "totalSpaces",
      +  "citation"
      +]
  3. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses a genuinely non-obvious failure mode: a guessed slug returns an empty result rather than an error, which changes how an agent should sequence its calls. Annotations already cover safety profile (readOnly, idempotent, non-destructive), so the description is not required to restate them, and it doesn't.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with what it returns, then the zone definition, then the calling rule — every sentence carries information. Slightly dense, but nothing is redundant or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter discovery tool with annotations and an output schema, this covers purpose, result granularity, slug semantics, and the ordering constraint relative to search tools. An agent has everything needed to call it at the right moment.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters (locale enum, optional country) are fully documented in the schema, including the locale-selection guidance. The description adds nothing about parameters beyond implying slug-based filtering, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ("Lists every country, city and zone where CoworkingView has coworking spaces") and defines what a zone is, so the agent knows the granularity of the result. It does not, however, distinguish itself from the sibling get_coworking_filter_options, which plausibly also enumerates place/filter data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit precondition ("Call this before searching whenever the user names a place"), the reason for it, and a second direct use case ("which cities do you cover?"). It doesn't name an alternative tool, but the when-to-use signal is unambiguous and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources