@butlr/butlr-mcp-server 0.1.0 → 0.1.2
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/LICENSE +1 -1
- package/README.md +20 -28
- package/dist/cache/occupancy-cache.d.ts.map +1 -1
- package/dist/cache/occupancy-cache.js +9 -20
- package/dist/cache/occupancy-cache.js.map +1 -1
- package/dist/cache/topology-cache.d.ts.map +1 -1
- package/dist/cache/topology-cache.js +7 -10
- package/dist/cache/topology-cache.js.map +1 -1
- package/dist/clients/auth-client.d.ts.map +1 -1
- package/dist/clients/auth-client.js +5 -9
- package/dist/clients/auth-client.js.map +1 -1
- package/dist/clients/graphql-client.d.ts.map +1 -1
- package/dist/clients/graphql-client.js +5 -4
- package/dist/clients/graphql-client.js.map +1 -1
- package/dist/clients/queries/topology.d.ts +0 -1
- package/dist/clients/queries/topology.d.ts.map +1 -1
- package/dist/clients/queries/topology.js +0 -1
- package/dist/clients/queries/topology.js.map +1 -1
- package/dist/clients/reporting-client.d.ts +1 -1
- package/dist/clients/reporting-client.d.ts.map +1 -1
- package/dist/clients/reporting-client.js +15 -20
- package/dist/clients/reporting-client.js.map +1 -1
- package/dist/clients/stats-client.d.ts +1 -2
- package/dist/clients/stats-client.d.ts.map +1 -1
- package/dist/clients/stats-client.js +13 -18
- package/dist/clients/stats-client.js.map +1 -1
- package/dist/clients/types.d.ts +0 -1
- package/dist/clients/types.d.ts.map +1 -1
- package/dist/clients/types.js +0 -1
- package/dist/clients/types.js.map +1 -1
- package/dist/errors/mcp-errors.d.ts +6 -0
- package/dist/errors/mcp-errors.d.ts.map +1 -1
- package/dist/errors/mcp-errors.js +21 -1
- package/dist/errors/mcp-errors.js.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/dist/tools/butlr-available-rooms.d.ts.map +1 -1
- package/dist/tools/butlr-available-rooms.js +17 -23
- package/dist/tools/butlr-available-rooms.js.map +1 -1
- package/dist/tools/butlr-fetch-entity-details.d.ts.map +1 -1
- package/dist/tools/butlr-fetch-entity-details.js +14 -14
- package/dist/tools/butlr-fetch-entity-details.js.map +1 -1
- package/dist/tools/butlr-get-asset-details.d.ts.map +1 -1
- package/dist/tools/butlr-get-asset-details.js +10 -15
- package/dist/tools/butlr-get-asset-details.js.map +1 -1
- package/dist/tools/butlr-get-current-occupancy.d.ts.map +1 -1
- package/dist/tools/butlr-get-current-occupancy.js +14 -9
- package/dist/tools/butlr-get-current-occupancy.js.map +1 -1
- package/dist/tools/butlr-get-occupancy-timeseries.d.ts.map +1 -1
- package/dist/tools/butlr-get-occupancy-timeseries.js +19 -21
- package/dist/tools/butlr-get-occupancy-timeseries.js.map +1 -1
- package/dist/tools/butlr-hardware-snapshot.d.ts.map +1 -1
- package/dist/tools/butlr-hardware-snapshot.js +7 -9
- package/dist/tools/butlr-hardware-snapshot.js.map +1 -1
- package/dist/tools/butlr-list-topology.d.ts.map +1 -1
- package/dist/tools/butlr-list-topology.js +20 -26
- package/dist/tools/butlr-list-topology.js.map +1 -1
- package/dist/tools/butlr-search-assets.d.ts.map +1 -1
- package/dist/tools/butlr-search-assets.js +19 -31
- package/dist/tools/butlr-search-assets.js.map +1 -1
- package/dist/tools/butlr-space-busyness.d.ts.map +1 -1
- package/dist/tools/butlr-space-busyness.js +14 -19
- package/dist/tools/butlr-space-busyness.js.map +1 -1
- package/dist/tools/butlr-traffic-flow.d.ts.map +1 -1
- package/dist/tools/butlr-traffic-flow.js +12 -25
- package/dist/tools/butlr-traffic-flow.js.map +1 -1
- package/dist/utils/debug.d.ts +6 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +10 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/timezone-helpers.d.ts.map +1 -1
- package/dist/utils/timezone-helpers.js +5 -10
- package/dist/utils/timezone-helpers.js.map +1 -1
- package/llms.txt +125 -0
- package/package.json +4 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timezone-helpers.js","sourceRoot":"","sources":["../../src/utils/timezone-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"timezone-helpers.js","sourceRoot":"","sources":["../../src/utils/timezone-helpers.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Butlr MCP Server
|
|
2
|
+
|
|
3
|
+
> MCP server for querying Butlr occupancy sensors and facility data through natural language.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
Install via npx — no global install needed. Requires Node.js 18+.
|
|
8
|
+
|
|
9
|
+
### Claude Code
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
claude mcp add butlr \
|
|
13
|
+
-e BUTLR_CLIENT_ID=<client_id> \
|
|
14
|
+
-e BUTLR_CLIENT_SECRET=<client_secret> \
|
|
15
|
+
-- npx -y @butlr/butlr-mcp-server@latest
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Claude Desktop
|
|
19
|
+
|
|
20
|
+
Add to the MCP config file (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, `%APPDATA%\Claude\claude_desktop_config.json` on Windows):
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"mcpServers": {
|
|
25
|
+
"butlr": {
|
|
26
|
+
"command": "npx",
|
|
27
|
+
"args": ["-y", "@butlr/butlr-mcp-server@latest"],
|
|
28
|
+
"env": {
|
|
29
|
+
"BUTLR_CLIENT_ID": "<client_id>",
|
|
30
|
+
"BUTLR_CLIENT_SECRET": "<client_secret>"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### VS Code (Copilot)
|
|
38
|
+
|
|
39
|
+
Add to `.vscode/mcp.json`:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"servers": {
|
|
44
|
+
"butlr": {
|
|
45
|
+
"type": "stdio",
|
|
46
|
+
"command": "npx",
|
|
47
|
+
"args": ["-y", "@butlr/butlr-mcp-server@latest"],
|
|
48
|
+
"env": {
|
|
49
|
+
"BUTLR_CLIENT_ID": "<client_id>",
|
|
50
|
+
"BUTLR_CLIENT_SECRET": "<client_secret>"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Cursor
|
|
58
|
+
|
|
59
|
+
Add to `.cursor/mcp.json`:
|
|
60
|
+
|
|
61
|
+
```json
|
|
62
|
+
{
|
|
63
|
+
"mcpServers": {
|
|
64
|
+
"butlr": {
|
|
65
|
+
"command": "npx",
|
|
66
|
+
"args": ["-y", "@butlr/butlr-mcp-server@latest"],
|
|
67
|
+
"env": {
|
|
68
|
+
"BUTLR_CLIENT_ID": "<client_id>",
|
|
69
|
+
"BUTLR_CLIENT_SECRET": "<client_secret>"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Other MCP Clients
|
|
77
|
+
|
|
78
|
+
Use this command with any stdio-compatible MCP client:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
npx -y @butlr/butlr-mcp-server@latest
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Required environment variables: `BUTLR_CLIENT_ID`, `BUTLR_CLIENT_SECRET`.
|
|
85
|
+
|
|
86
|
+
## Getting API Credentials
|
|
87
|
+
|
|
88
|
+
Users create API tokens in Butlr Studio:
|
|
89
|
+
|
|
90
|
+
1. Log in to app.butlr.io
|
|
91
|
+
2. Click username in top-right corner → Account Settings → API Tokens
|
|
92
|
+
3. Create a new token and copy the Client ID and Client Secret
|
|
93
|
+
|
|
94
|
+
Users need edit access to Butlr Studio to create tokens. If they don't have edit permissions, they should ask someone in their organization who does, contact their Butlr sales representative, or submit a support ticket at butlr.com.
|
|
95
|
+
|
|
96
|
+
## Required Environment Variables
|
|
97
|
+
|
|
98
|
+
- `BUTLR_CLIENT_ID` — API token client ID (required)
|
|
99
|
+
- `BUTLR_CLIENT_SECRET` — API token client secret (required)
|
|
100
|
+
|
|
101
|
+
## Optional Environment Variables
|
|
102
|
+
|
|
103
|
+
- `BUTLR_BASE_URL` — API base URL (default: https://api.butlr.io)
|
|
104
|
+
- `BUTLR_TIMEZONE` — Default timezone (default: UTC)
|
|
105
|
+
- `MCP_CACHE_TOPO_TTL` — Topology cache TTL in seconds (default: 600)
|
|
106
|
+
- `DEBUG` — Set to `butlr-mcp` for verbose logging
|
|
107
|
+
|
|
108
|
+
## Available Tools
|
|
109
|
+
|
|
110
|
+
- `butlr_search_assets` — Search for assets (sites, buildings, floors, rooms, sensors) by name with fuzzy matching
|
|
111
|
+
- `butlr_get_asset_details` — Get comprehensive details for specific assets by ID with batch support
|
|
112
|
+
- `butlr_hardware_snapshot` — Device health check: online/offline status and battery levels
|
|
113
|
+
- `butlr_available_rooms` — Find currently unoccupied rooms, filterable by capacity and tags
|
|
114
|
+
- `butlr_space_busyness` — Current occupancy with qualitative labels (quiet/moderate/busy) and trend comparison
|
|
115
|
+
- `butlr_traffic_flow` — Entry/exit counts with hourly breakdown for traffic-mode sensors
|
|
116
|
+
- `butlr_list_topology` — Display org hierarchy tree with flexible depth control
|
|
117
|
+
- `butlr_fetch_entity_details` — Retrieve specific fields for entities by ID (minimal token usage)
|
|
118
|
+
- `butlr_get_occupancy_timeseries` — Historical occupancy data with configurable time ranges
|
|
119
|
+
- `butlr_get_current_occupancy` — Real-time occupancy snapshot (last 5 minutes median)
|
|
120
|
+
|
|
121
|
+
All tools are read-only. The server cannot modify any data in the user's Butlr account.
|
|
122
|
+
|
|
123
|
+
## About Butlr
|
|
124
|
+
|
|
125
|
+
Butlr (butlr.com) is an occupancy sensing platform for smart buildings. It uses anonymous thermal sensors to measure how spaces are being used — occupancy counts, traffic flow, and space utilization — without cameras or personally identifiable data.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@butlr/butlr-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Model Context Protocol server providing secure, read-only access to Butlr occupancy and asset data",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
"butlr-mcp": "./dist/index.js"
|
|
15
15
|
},
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist",
|
|
18
|
+
"llms.txt"
|
|
18
19
|
],
|
|
19
20
|
"scripts": {
|
|
20
21
|
"dev": "tsx src/index.ts",
|
|
@@ -26,7 +27,6 @@
|
|
|
26
27
|
"test:watch": "vitest --watch",
|
|
27
28
|
"test:coverage": "vitest --coverage",
|
|
28
29
|
"test:ui": "vitest --ui",
|
|
29
|
-
"fixtures": "tsx scripts/snapshot-api-responses.ts",
|
|
30
30
|
"typecheck": "tsc --noEmit",
|
|
31
31
|
"lint": "eslint \"src/**/*.ts\"",
|
|
32
32
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"access": "public"
|
|
61
61
|
},
|
|
62
62
|
"engines": {
|
|
63
|
-
"node": ">=
|
|
63
|
+
"node": ">=18.0.0"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
66
|
"@apollo/client": "^4.0.7",
|
|
@@ -68,7 +68,6 @@
|
|
|
68
68
|
"dotenv": "^16.4.5",
|
|
69
69
|
"graphql": "^16.11.0",
|
|
70
70
|
"lru-cache": "^11.0.2",
|
|
71
|
-
"undici": "^7.16.0",
|
|
72
71
|
"zod": "^3.23.8"
|
|
73
72
|
},
|
|
74
73
|
"devDependencies": {
|