15 tools with complete input schemas and descriptions. Naming follows verb_noun convention (locations, desks, book, cancel_booking). Descriptions are adequate (avg ~150 chars) but lack LLM-optimized guidance on when to use each tool vs. alternatives. Parameters have types and descriptions, but many lack constraints (enums, ranges, patterns). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from descriptions. Destructive operations (book, cancel_booking, add_print_job) lack confirmation/dry-run patterns. No tool annotations (readOnlyHint, destructiveHint) visible in schema.
Favorite a WeWork location, identified by location_uuid or by city + name.
Upload a document to the member's WeWork print hub queue. Provide the file as base64.
Book a workspace for one date, a comma-separated list of dates, or a date range like YYYY-MM-DD~YYYY-MM-DD.
List upcoming bookings, or past bookings with optional date filters. Times are in the booking location's timezone: date/start_time/end_time are local wall clock, timezone is the IANA zone, and starts_at/ends_at (with offset) plus starts_at_utc/ends_at_utc give unambiguous timestamps.
Generate an ICS calendar payload containing recent past and upcoming bookings.
Cancel an upcoming booking by the identifier exposed by the bookings tool.
Output schemas not documented. LLMs cannot predict response structure for any tool. Responses must include chaining IDs (location_uuid, booking_uuid) for downstream tool calls, but this is not declared.
Destructive operations (book, cancel_booking, add_print_job) lack confirmation/dry-run patterns. Agents can accidentally book workspaces or cancel bookings without user approval.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) in schemas. Clients cannot distinguish safe reads from destructive writes without parsing descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
List available spaces for a date, by location UUID or city.
List the member's favorite and recent WeWork locations for a space type. space_type must be 0-3 (defaults to 0); other values are rejected by the API.
Alias for desks: find available spaces for a date in a location or city.
Get detailed information for a WeWork location.
List WeWork locations in a city.
Get the current user's WeWork profile. Optionally include bootstrap data.
List the member's WeWork print hub queue.
Get booking quotes for one date, a comma-separated list of dates, or a date range.
Remove a WeWork location from the member's favorites, identified by location_uuid, city + name, or an exact hmy id.
Parameters lack constraints. 'space_type' accepts 0-3 but no enum; 'date' format not validated; 'location_uuid' accepts comma-separated list but no pattern. LLMs will hallucinate invalid values.
find_space is a duplicate of desks with identical schema. Violates single-responsibility principle and forces LLM to reason between two identical tools.