Skip to main content
Glama

Desky

Server Details

Find and book coworking spaces, meeting rooms and offices in Latin America from your AI assistant.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation3/5

Search, detail, and availability tools are clearly distinct, but get_booking_link and quote_booking both return a Desky link with date and headcount prefilled, and the boundary between them (final action vs. re-quote after a change) depends on reading the descriptions carefully. An agent could plausibly reach for either when asked 'give me a link'.

Naming Consistency4/5

Four of five tools follow a verb_noun snake_case pattern (check_availability, get_booking_link, quote_booking, search_coworks), with cowork_detail as the sole noun-only outlier. The domain nouns (cowork/coworks/booking) also shift slightly, but the set is still highly readable.

Tool Count4/5

Five tools map cleanly onto a search → inspect → check dates → quote → link funnel, with no filler. It is on the lean side, but each tool has a clear role and the scope of the server is narrow by design.

Completeness4/5

The discovery-to-booking-link lifecycle is fully covered, including pricing, availability, and a handoff URL, so there is no dead end. Minor gaps exist around things like amenity-based filtering or comparing multiple spaces, but these are workarounds an agent can handle via search_coworks plus cowork_detail.

Available Tools

5 tools
check_availabilityCheck availabilityA
Read-onlyIdempotent
Inspect

Returns the free dates of a space (and the free hours of that day, if it is sold by the hour).

Hours are in 24h format and in the VENUE'S LOCAL TIME, never UTC: the IANA time zone is in the timezone field of the response.

Reports availability as dates/hours, without occupancy levels. The final confirmation happens at checkout.

NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD. If given, the response focuses on that day and includes the free hours when the space is sold by the hour.
slugNoSpace slug. Alternative to `space_id`.
space_idNoSpace id.
utm_sourceNoMCP client that originates the request, for attribution.
people_countNoNumber of people, to warn if there may not be enough room.

Output Schema

NameRequiredDescription
slugNo
space_idYesSpace identifier, for `get_booking_link`.
timezoneNoIANA time zone of the venue. `available_hours` is in THIS zone, not UTC.
space_nameYes
booking_urlNoCheckout URL with the requested date already filled in. Only present if that date is free.
bookable_hoursNoStart times that can actually be booked for one hour, HH:MM in the venue's local time. Same condition as `available_hours`. Unlike it, never includes the closing time and drops hours that overlap an existing booking. A booking of N hours needs N consecutive entries.
requested_dateNo
available_datesYes
available_hoursNoFree START times, HH:MM in the venue's local time (`timezone`). Only present if the space is sold by the hour and a date was requested. For TODAY it starts at the next hour, not at opening: past hours cannot be booked and are not listed.
total_available_datesYes
requested_date_availableNo

TDQS

A3.7/5.0
Behavior4/5

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

Goes beyond the readOnly/idempotent annotations by disclosing that hours are in the venue's local time, never UTC, with the IANA zone in the response, and that no occupancy levels are reported. That is real context an agent would otherwise get wrong.

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?

Three short, well-ordered sentences with the key constraint (local time, not UTC) emphasized. Minor overlap with the schema's date description but no wasted text.

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

Completeness4/5

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

An output schema exists, yet the description helpfully explains the timezone field and the limits of the result. The only gap is not stating that a space identifier (slug or space_id) must be provided.

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%, so the baseline is 3. The description adds nothing about parameters beyond what the schema already documents (notably it never clarifies that one of slug/space_id must be supplied despite zero required params).

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?

States a specific verb+resource (returns free dates/hours of a space) and adds scope detail (hours only when sold by the hour). Clearly distinct from search_coworks and quote_booking, though siblings are never named.

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

Usage Guidelines3/5

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

The closing line about final confirmation at checkout implies this is pre-booking information-gathering, but no explicit when-to-use guidance or alternative (e.g. quote_booking, get_booking_link) is named.

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

cowork_detailSpace detailsA
Read-onlyIdempotent
Inspect

Full listing of a space: description, coworking and venue, address, capacity, prices per hour/day/week/month, amenities, opening hours, rating and reviews.

Accepts space_id or slug (search_coworks returns both). If you already know the date or the number of people, pass them: the booking link comes prefilled.

NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD, to prefill the booking link.
slugNoSpace slug. Alternative to `space_id`.
spotsNoNumber of people, to prefill the booking link.
ends_atNoEnd time HH:MM. Requires `starts_at` and must be later.
currencyNoCurrency of the returned prices (default usd).
space_idNoSpace id.
starts_atNoStart time HH:MM. Hourly bookings only; requires `ends_at`.
utm_sourceNoMCP client that originates the request, for attribution of the booking URL (e.g. 'claude', 'chatgpt'). Default 'mcp_unknown'.

Output Schema

NameRequiredDescription
idYesSpace identifier. Pass it as `space_id` to `check_availability` or `get_booking_link`.
cityNo
nameYes
slugYes
imagesNo
pricesYesList prices per unit, already converted to `currency`.
ratingNo
addressNo
countryNo
capacityNo
currencyNoCurrency of all prices.
latitudeNo
provinceNo
timezoneNoIANA time zone of the venue.
amenitiesNo
image_urlNo
longitudeNo
space_typeNo
booking_urlYes
descriptionNo
review_countNo
opening_hoursNo
coworking_nameNo
instant_bookingNo
booking_horizon_monthsNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description contributes beyond that by disclosing a side effect the annotations cannot convey: optional date/spots input produces a prefilled booking link, which matters for callers deciding whether to supply those fields.

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?

Two sentences, front-loaded with the resource and its scope, then the identifier/parameter guidance. The long field enumeration is somewhat redundant given an output schema exists, but it does communicate breadth of the response in one glance, so the length is defensible.

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

Completeness4/5

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

Covers identifiers, optional prefill behavior, and the shape of the response, and an output schema exists so return values need no further explanation. The remaining gap is workflow placement: it does not tell the agent whether to call this before check_availability/quote_booking/get_booking_link or in place of them.

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 description coverage is 100%, so every parameter is already documented inline, and the description mostly echoes the schema ('to prefill the booking link' is verbatim from the `date` and `spots` descriptions). It correctly flags space_id vs slug as alternatives, but says nothing about currency, utm_source, or the starts_at/ends_at pairing, so it adds little beyond the schema.

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?

States a concrete verb/resource ('Full listing of a space') and enumerates exactly which fields come back: description, venue, address, capacity, pricing tiers, amenities, hours, rating and reviews. It ties itself to search_coworks as the producer of its identifiers, which helps an agent slot it into the workflow, but it never explicitly contrasts with check_availability, quote_booking or get_booking_link.

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

Usage Guidelines4/5

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

Gives a clear entry path ('space_id` or `slug` (`search_coworks` returns both)') and states the value-add of passing date/spots: the booking link comes prefilled. That is real usage context, but there is no when-not guidance and no statement of how this differs from the availability/quote/link siblings.

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

quote_bookingQuote a bookingA
Read-onlyIdempotent
Inspect

Quotes a specific booking and returns the final total and the checkout link.

The Desky interface uses it when the person changes the date or the number of seats. The total comes from the same calculation as the site's checkout, so it is the final number and not an estimate.

It does not book or charge.

NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD.
slugNoSpace slug. Alternative to `space_id`.
datesNoSeveral dates YYYY-MM-DD. Takes precedence over `date`.
spotsNoNumber of people.
ends_atNoEnd time HH:MM. Requires `starts_at`.
currencyNoCurrency of the total (default usd).
space_idNoSpace id.
starts_atNoStart time HH:MM. Hourly bookings only.
utm_sourceNoMCP client that originates the request.

Output Schema

NameRequiredDescription
slugYes
pricesYes
currencyYes
space_idYes
is_instantYesWhether the booking is confirmed automatically for THOSE dates. It is not the space flag: with auto-accept rules it is decided day by day.
space_nameNo
checkout_urlYesPrefilled checkout URL.

TDQS

A4/5.0
Behavior4/5

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

The annotations already establish that this is read-only, idempotent, non-destructive, and open-world. The description adds useful behavioral context beyond that: the returned total is final rather than an estimate, the checkout link is returned, and no booking or charge occurs.

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?

The description is front-loaded with the core action and return values, then adds useful context about final pricing and non-booking behavior. It is efficient, though the Desky-interface sentence is contextual rather than essential.

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?

Given rich annotations, a complete input schema, and an output schema, the description provides enough context for correct selection and invocation. It covers purpose, usage context, return meaning, and non-side-effect behavior without duplicating structured fields.

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 description coverage is 100%, so parameter semantics are already well documented in the schema. The description only indirectly references date and seat count and adds no syntax, precedence, or format details beyond what the schema provides.

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?

The description names a specific verb and resource: it quotes a booking and returns the final total plus the checkout link. It also distinguishes the operation from booking/charging, but it does not explicitly differentiate itself from siblings like check_availability or get_booking_link.

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

Usage Guidelines4/5

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

It gives a clear usage context: the Desky interface uses it when the person changes the date or number of seats. It also clarifies that it does not book or charge, which helps avoid misuse, though it does not name alternative tools or exclusion cases.

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

search_coworksSearch workspacesA
Read-onlyIdempotent
Inspect

Searches workspaces published on Desky by city, neighborhood, type, capacity and price range. For each one it returns its id, name, coworking, location, starting price with its unit (per day for desks and offices, per hour for rooms: see price_from_period), amenities and a ready-made booking URL.

It does not filter by availability: use check_availability for that.

Pass capacity if the person said how many people: it is used to filter AND to prefill the link with that number of seats.

Prices are LIST prices per unit, never a total: the final price is calculated at checkout. That is context for you so you do not present them as a total; there is no need to point it out to the person in every reply.

NameRequiredDescriptionDefault
cityNoCity (e.g. 'Buenos Aires', 'CDMX'). Accepts free text.
dateNoTentative date YYYY-MM-DD. It does NOT filter by availability: it is used to prefill the booking link. To know if the space is free, use `check_availability`.
zoneNoNeighborhood within the city (e.g. 'Palermo'). If the neighborhood can be resolved, results are LIMITED to it; otherwise it is combined with `city` as free text and the results may be broader.
limitNoNumber of results (default 10, maximum 20).
capacityNoMinimum number of people the space must fit.
currencyNoCurrency of `price_min`/`price_max` and of the returned prices (default usd). Prices are converted and rounded the same way as on desky.la; the filter compares before rounding, so a result can fall up to one rounding step outside the requested range.
price_maxNoMaximum price, in the `currency` currency.
price_minNoMinimum price, in the `currency` currency.
space_typeNoSpace type. `day_pass` is a desk in a shared area; `private_office` a closed office; `meeting_room` a room booked by the hour.
utm_sourceNoMCP client that originates the request, for attribution of the booking URLs (e.g. 'claude', 'chatgpt'). Default 'mcp_unknown'.

Output Schema

NameRequiredDescription
noteNoWhat these prices are.
countYesNumber of spaces returned.
resultsYes
currencyYesCurrency of all prices.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description builds well past them: it discloses the non-obvious semantics that prices are list prices per unit, never a total, and that the final price is computed at checkout, plus how `price_from_period` maps to desks/offices/rooms. It also warns that the date parameter does not function as an availability filter.

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 purpose, then a sharp exclusion, then the two highest-value parameter hints. The closing instruction about not presenting list prices as totals is worth keeping but is slightly chatty with an extra clause telling the assistant not to mention it every time.

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 10-parameter, zero-required search tool with an output schema and full annotation coverage, the description covers scope, return shape, pricing semantics, the availability boundary, and the key parameter behavior. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3; the description adds genuinely new meaning by explaining that `capacity` both filters results and prefills the booking link with that seat count, and by clarifying the unit basis of prices. Both facts go beyond what the schema text conveys.

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

Purpose5/5

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

States a specific verb and resource (searches workspaces published on Desky) and enumerates the filter dimensions (city, neighborhood, type, capacity, price) plus the exact return payload. It also names the sibling it is not (check_availability), so the agent can route without opening either schema.

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

Usage Guidelines4/5

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

Explicitly states the tool does not filter by availability and directs the agent to `check_availability` for that. It additionally instructs passing `capacity` when the person stated a headcount. It does not differentiate from `cowork_detail` or `get_booking_link`, which is the only gap.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observedcheck_availability
    • First observedcowork_detail
    • First observedget_booking_link
    • First observedquote_booking
    • First observedsearch_coworks

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources