# Desky

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

- name: la.desky/mcp
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/la.desky%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/la.desky%2Fmcp/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "desky": {
      "type": "http",
      "url": "https://www.desky.la/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-19d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,994 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 100 (weight 15)

- pass `stability.changes`: 5 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,994 tokens to load them all
- tool set hash: 905d5bb125455e5e639e7baf7ecd4029
- tools last changed: 2026-11-10T17:21:23.294Z
- badge: [![protogrid quality](https://protogrid.dev/badge/la.desky/mcp.svg)](https://protogrid.dev/servers/la.desky/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-10 `search_coworks` changed (description, inputSchema, annotations)
  - before: 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.
  - after: 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. If they asked for a time slot for a room, pass `starts_at` and `ends_at` too: they prefill the link and the interface. 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.
- 2026-11-10 `quote_booking` changed (annotations)
- 2026-11-10 `get_booking_link` changed (annotations)
- 2026-11-10 `cowork_detail` changed (annotations)
- 2026-11-10 `check_availability` changed (annotations)

Full history: https://api.protogrid.dev/v1/servers/la.desky%2Fmcp/changes

## Remotes

- https://www.desky.la/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `check_availability`: 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.
- `cowork_detail`: 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.
- `get_booking_link`: Returns the booking link on desky.la for a space, with the date and number of people already filled in.

It does not book or charge: the person sees the final price and confirms on the site. It is the final action of this server, and that is context for you: sharing the link is enough.
- `quote_booking`: 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.
- `search_coworks`: 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. If they asked for a time slot for a room, pass `starts_at` and `ends_at` too: they prefill the link and the interface.

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.
