yarooms-mcp 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -25
- package/dist/client.js +9 -6
- package/dist/client.js.map +1 -1
- package/dist/http-utils.d.ts +1 -0
- package/dist/http-utils.js +5 -0
- package/dist/http-utils.js.map +1 -0
- package/dist/http.js +267 -55
- package/dist/http.js.map +1 -1
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/tools/analytics.d.ts +3 -0
- package/dist/tools/analytics.js +59 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/bookings.js +262 -42
- package/dist/tools/bookings.js.map +1 -1
- package/dist/tools/maintenance.d.ts +3 -0
- package/dist/tools/maintenance.js +211 -0
- package/dist/tools/maintenance.js.map +1 -0
- package/dist/tools/people.js +138 -6
- package/dist/tools/people.js.map +1 -1
- package/dist/tools/spaces.d.ts +3 -0
- package/dist/tools/spaces.js +339 -0
- package/dist/tools/spaces.js.map +1 -0
- package/dist/tools/work-status.js +2 -2
- package/dist/tools/work-status.js.map +1 -1
- package/dist/tools/workplace.js +98 -7
- package/dist/tools/workplace.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,40 +2,57 @@
|
|
|
2
2
|
|
|
3
3
|
MCP server for the [YAROOMS](https://www.yarooms.com) workplace management platform. Enables AI agents (Claude, ChatGPT, Copilot, etc.) to search rooms, book spaces, manage visitors, and set work status through the Model Context Protocol.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### Claude Code
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
|
-
|
|
10
|
+
claude mcp add --transport http yarooms https://mcp.yarooms.com/mcp
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
Authenticate via `/mcp` when prompted — uses OAuth with your YAROOMS account.
|
|
14
|
+
|
|
15
|
+
### Claude Desktop / npx (local stdio)
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"mcpServers": {
|
|
20
|
+
"yarooms": {
|
|
21
|
+
"command": "npx",
|
|
22
|
+
"args": ["-y", "yarooms-mcp"],
|
|
23
|
+
"env": {
|
|
24
|
+
"YAROOMS_API_TOKEN": "your-api-token",
|
|
25
|
+
"YAROOMS_BASE_URL": "https://your-tenant.yarooms.com/api"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
12
31
|
|
|
13
|
-
|
|
32
|
+
## Running Modes
|
|
14
33
|
|
|
15
|
-
|
|
16
|
-
YAROOMS_API_TOKEN=your-api-token
|
|
17
|
-
YAROOMS_BASE_URL=https://your-tenant.yarooms.com/api
|
|
18
|
-
```
|
|
34
|
+
### Remote HTTP (OAuth)
|
|
19
35
|
|
|
20
|
-
|
|
36
|
+
The hosted server at `mcp.yarooms.com` uses OAuth via `id.yarooms.com`. Each user authenticates with their own YAROOMS account — no shared tokens.
|
|
21
37
|
|
|
22
|
-
|
|
38
|
+
To self-host in OAuth mode, set only `YAROOMS_OAUTH_URL`:
|
|
23
39
|
|
|
24
40
|
```bash
|
|
25
|
-
npm
|
|
41
|
+
YAROOMS_OAUTH_URL=https://id.yarooms.com npm start
|
|
26
42
|
```
|
|
27
43
|
|
|
28
|
-
###
|
|
44
|
+
### Remote HTTP (legacy single-tenant)
|
|
45
|
+
|
|
46
|
+
For a single-tenant deployment with a shared API token:
|
|
29
47
|
|
|
30
48
|
```bash
|
|
31
|
-
npm
|
|
49
|
+
YAROOMS_API_TOKEN=your-token YAROOMS_BASE_URL=https://your-tenant.yarooms.com/api npm start
|
|
32
50
|
```
|
|
33
51
|
|
|
34
|
-
###
|
|
52
|
+
### Local stdio
|
|
35
53
|
|
|
36
54
|
```bash
|
|
37
|
-
npm run
|
|
38
|
-
npm start
|
|
55
|
+
YAROOMS_API_TOKEN=your-token YAROOMS_BASE_URL=https://your-tenant.yarooms.com/api npm run stdio
|
|
39
56
|
```
|
|
40
57
|
|
|
41
58
|
## Tools
|
|
@@ -43,17 +60,31 @@ npm start
|
|
|
43
60
|
| Tool | Description |
|
|
44
61
|
|------|-------------|
|
|
45
62
|
| `search_available_spaces` | Search for available rooms/desks on a floor |
|
|
46
|
-
| `create_booking` | Book a room or desk |
|
|
63
|
+
| `create_booking` | Book a room or desk — supports daily/weekly/monthly/custom recurrence, incognito (private) bookings, and booking on behalf of another user |
|
|
47
64
|
| `get_my_bookings` | View your bookings |
|
|
48
65
|
| `cancel_booking` | Cancel a booking |
|
|
49
|
-
| `modify_booking` | Change booking time, space, or
|
|
66
|
+
| `modify_booking` | Change a booking's time, space, title, or owner (reassign). Multi-date bookings accept non-date edits only |
|
|
50
67
|
| `check_in_booking` | Check in to a booking |
|
|
51
68
|
| `check_out_booking` | Check out of a booking |
|
|
69
|
+
| `get_all_bookings` | List bookings across the organization — filter by single date, date range (startDate/endDate), "when" shortcut (today/tomorrow/only_future), location, space, booker, title, status, or updatedSince timestamp (access scoped by Bookings: View) |
|
|
70
|
+
| `get_occupancy_analytics` | Organization-wide occupancy and utilization stats for a date range (requires Analytics: Utilization) |
|
|
71
|
+
| `get_hybrid_work_analytics` | In-office / WFH / OOO breakdown per location, with compliance percentages (requires Analytics: Hybrid Work) |
|
|
72
|
+
| `list_accounts` | Paginated list of user accounts — server-side filters for search, location, team, role, activation, suspension, 2FA, provisioning source (requires Workplace: Manage users) |
|
|
52
73
|
| `get_locations` | List office locations |
|
|
53
74
|
| `get_floors` | List floors for a location |
|
|
54
75
|
| `get_floor_info` | Get floor details and spaces |
|
|
55
76
|
| `get_room_schedule` | View room booking timeline |
|
|
56
77
|
| `get_space_types` | List space types (Desk, Meeting Room, etc.) |
|
|
78
|
+
| `list_space_groups` | List space groups with their booking rules (strategies, slots, granularity, check-in, incognito/recurrence policy) |
|
|
79
|
+
| `get_space` | Get full metadata for a single space (location, floor, type, group, features, capacity, assigned user, check-in policy, position) |
|
|
80
|
+
| `list_spaces` | Paginated list of spaces — filter by name, location, floor, type, group, assigned user, features, or workspace-ness |
|
|
81
|
+
| `create_space` | Create a desk/room/parking (requires Workplace: Manage) |
|
|
82
|
+
| `update_space` | Partial update of any space field; features=[] clears, assignedToAccountId=0/null unassigns |
|
|
83
|
+
| `delete_space` | Delete a space (requires Workplace: Delete) |
|
|
84
|
+
| `list_maintenance` | List scheduled maintenance windows — filter by location, floor, space group, space, name, or date range (requires Workplace: Maintenance) |
|
|
85
|
+
| `create_maintenance` | Schedule a maintenance window blocking bookings on one or more locations, optionally narrowed to a floor/space group/space |
|
|
86
|
+
| `update_maintenance` | Partially update an existing maintenance window (name, dates, locations, scope) |
|
|
87
|
+
| `delete_maintenance` | Delete a maintenance window, making affected spaces bookable again |
|
|
57
88
|
| `get_location_schedule` | Get operating hours for a location |
|
|
58
89
|
| `get_booking_options` | Get valid booking intervals for a space (resolves booking strategy) |
|
|
59
90
|
| `get_work_status` | View work status (WFH, office, etc.) |
|
|
@@ -61,13 +92,13 @@ npm start
|
|
|
61
92
|
| `register_visitor` | Register a visitor |
|
|
62
93
|
| `list_visitors` | List visitors for a date/location |
|
|
63
94
|
| `cancel_visitor` | Cancel a visitor registration |
|
|
64
|
-
| `get_all_bookings` | List all bookings (admin) — filter by date, location, space, booker, title, status |
|
|
65
95
|
| `get_pending_approvals` | List booking requests pending your approval |
|
|
66
96
|
| `approve_booking` | Approve pending booking requests |
|
|
67
97
|
| `reject_booking` | Reject pending booking requests with optional reason |
|
|
68
98
|
| `search_people` | Search for people by name or email |
|
|
69
99
|
| `get_my_profile` | Get your profile — name, email, team, location |
|
|
70
100
|
| `get_teammates` | List members of your team |
|
|
101
|
+
| `list_teams` | List all teams (user groups) in the organization with role tier, member count, managers, and suspension state (requires Workplace: Manage users) |
|
|
71
102
|
| `get_teammate_status` | View a teammate's work status |
|
|
72
103
|
| `get_teammate_bookings` | View a teammate's bookings for a date |
|
|
73
104
|
|
|
@@ -77,12 +108,29 @@ npm start
|
|
|
77
108
|
|----------|-----|-------------|
|
|
78
109
|
| Work Status Options | `yarooms://work-status-options` | Available status options with IDs |
|
|
79
110
|
|
|
80
|
-
##
|
|
111
|
+
## Environment Variables
|
|
81
112
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
113
|
+
| Variable | Required | Description |
|
|
114
|
+
|----------|----------|-------------|
|
|
115
|
+
| `YAROOMS_API_TOKEN` | Legacy mode | API token (enables legacy X-Token auth) |
|
|
116
|
+
| `YAROOMS_BASE_URL` | Legacy mode | Tenant API URL (e.g. `https://your-tenant.yarooms.com/api`) |
|
|
117
|
+
| `YAROOMS_OAUTH_URL` | OAuth mode | Auth server URL (default: `https://id.yarooms.com`) |
|
|
118
|
+
| `PORT` | No | HTTP server port (default: `3000`) |
|
|
119
|
+
| `MCP_ACCESS_LOG` | No | Structured access log for `/mcp` requests (default: `true`; set to `false` to disable) |
|
|
85
120
|
|
|
86
|
-
|
|
87
|
-
|
|
121
|
+
If `YAROOMS_API_TOKEN` is set, the server runs in **legacy mode** (single shared token). If omitted, it runs in **OAuth mode** (per-user authentication via wrapper JWTs from the auth server).
|
|
122
|
+
|
|
123
|
+
## Development
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
npm install
|
|
127
|
+
npm test # unit tests
|
|
128
|
+
npm run serve # HTTP server (dev, uses tsx)
|
|
129
|
+
npm run stdio # stdio transport (dev)
|
|
130
|
+
npm run build # compile TypeScript
|
|
131
|
+
RUN_INTEGRATION=true npm test # integration tests (requires API credentials)
|
|
88
132
|
```
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
|
|
136
|
+
MIT
|
package/dist/client.js
CHANGED
|
@@ -64,14 +64,17 @@ export class YaroomsClient {
|
|
|
64
64
|
catch {
|
|
65
65
|
throw new YaroomsApiError(`YAROOMS API ${method} ${path} returned non-JSON response (${res.status}). The server may be down for maintenance.`, res.status);
|
|
66
66
|
}
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
|
|
67
|
+
// YAROOMS envelope shapes we've observed:
|
|
68
|
+
// Error: {status: 0, error|message: "..."} → throw
|
|
69
|
+
// GET success: {status: 1, data: <payload>} → return <payload>
|
|
70
|
+
// Mutation: {status: 1, message: "..."} or {success: 1, ...} → return whole object
|
|
71
|
+
// Partial: {status: 1} with no data key → return whole object
|
|
72
|
+
// Only unwrap `data` when it's paired with an explicit success status, so a malformed response
|
|
73
|
+
// like {status: 0, data: null} can't silently surface null as a successful payload.
|
|
74
|
+
if (json.status === 0) {
|
|
72
75
|
throw new YaroomsApiError(json.error || json.message || 'Unknown API error');
|
|
73
76
|
}
|
|
74
|
-
if ('data' in json)
|
|
77
|
+
if (json.status === 1 && 'data' in json)
|
|
75
78
|
return json.data;
|
|
76
79
|
return json;
|
|
77
80
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function normalizeApiBaseUrl(baseUrl: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-utils.js","sourceRoot":"","sources":["../src/http-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC;AACxE,CAAC"}
|