@assetlab/mcp-server
v2.6.0
Published
MCP server for AssetLab — connect Claude or ChatGPT to your asset management data
Downloads
987
Maintainers
Readme
AssetLab MCP Server
Talk to your assets. Connect Claude, ChatGPT, or any MCP-compatible client to your AssetLab account through the Model Context Protocol - ask about work orders, PM schedules, capital plans, and infrastructure networks in plain language, and create or update records hands-free.
433 tools across 100+ resources · scoped, tenant-bound, audited · read and write · hosted or local
Quick start
Claude.ai (hosted - easiest)
- Create an API key in AssetLab → Settings → API Keys
- In Claude.ai: Settings → Connectors → Add connector
- Paste the connector URL:
https://mcp.assetlab.ca - When prompted for auth, paste your API key (
al_live_...)
ChatGPT
- Create an API key in AssetLab → Settings → API Keys
- In ChatGPT: Settings → Apps & Connectors → Add new connector
- Name it (e.g.
AssetLab) and enter the server URL:https://mcp.assetlab.ca - Set authentication to OAuth and click Create - the OAuth endpoints are auto-discovered
- On the AssetLab authorization page, paste your API key (
al_live_...)
Claude Desktop / Claude Code (local, stdio)
This package runs as a local MCP server over stdio - nothing is exposed on the network.
{
"mcpServers": {
"assetlab": {
"command": "npx",
"args": ["-y", "@assetlab/mcp-server"],
"env": {
"ASSETLAB_API_KEY": "al_live_...",
"ASSETLAB_API_URL": "https://<your-project>.supabase.co/functions/v1/api-gateway"
}
}
}
}Your AssetLab administrator can provide the API URL for your organization.
What can you ask?
| You say | It does | |---|---| | "Show me all overdue work orders" | Lists them, sorted, with links back to AssetLab | | "Create a work order for the broken pump in Building 3" | Looks up the building and asset, then creates it | | "Which projects are at risk or delayed?" | Scans project status and risks | | "What's the total cost history for Asset X?" | Aggregates every cost record | | "List watermains over 500 mm in poor condition" | Filters infrastructure features by diameter and condition | | "Add a crack-sealing event to the sidewalk strategy at $4 per square metre" | Maintains your lifecycle strategies | | "What PM schedules are due this month?" | Checks every schedule's next due date | | "Update the priority on WO-1234 to urgent" | Edits the record (with your write scope) |
What's new in 2.5
Facility lifecycle strategies. The lifecycle strategy tools now cover buildings and
equipment, not just linear infrastructure. Five new tools under the
asset_lifecycle_events scope read and maintain condition-triggered interventions
("roof recoat at condition 70-85 adds five years"). Events attach to an asset type or an
asset type group rather than to individual assets, so one event maintains a whole class
of equipment.
Events say what work they become. Lifecycle events on both sides now carry a
work_generation setting - plan only, work order, or project - so a due intervention
records what it should turn into. Nothing is created on a schedule; the interventions
lists remain where that decision is made.
Tool catalog
Tools follow one naming pattern throughout: list_* / get_* to read, create_* /
update_* / delete_* to write. Read below means list/get; Write means
create/update/delete (availability varies slightly per resource - the tool descriptions
are the authority).
| Resource | Read | Write |
|---|:-:|:-:|
| Assets | ✓ | ✓ |
| Asset comments · costs · documents · parts | ✓ | ✓ |
| Asset placements (floorplan pins) | ✓ | ✓ |
| Asset replacement plans | ✓ | ✓ |
| Asset condition assessments | ✓ | ✓ |
| Asset lifecycle events (strategies) | ✓ | ✓ |
| Asset risk history | ✓ | - |
| Asset statuses · types · type groups | ✓ | ✓ |
| Attachments (+ upload_file, create_upload_url) | ✓ | ✓ |
| Manufacturers | ✓ | ✓ |
| Parts · part categories | ✓ | ✓ |
| Resource | Read | Write | |---|:-:|:-:| | Work orders | ✓ | ✓ | | Work order comments · schedules | ✓ | ✓ | | Work requests | ✓ | ✓ | | Work categories | ✓ | ✓ | | PM schedules | ✓ | ✓ | | PM templates | ✓ | ✓ |
| Resource | Read | Write | |---|:-:|:-:| | Sites | ✓ | ✓ | | Site FCI history | ✓ | - | | Buildings · building types | ✓ | ✓ | | Locations · location types | ✓ | ✓ | | Systems · system classes · system groups | ✓ | ✓ | | Floorplans · floorplan regions | ✓ | ✓ |
| Resource | Read | Write | |---|:-:|:-:| | Feature classes | ✓ | ✓ | | Networks | ✓ | ✓ | | Features (segments & nodes, GeoJSON geometry) | ✓ | ✓ | | Feature inspections | ✓ | ✓ | | Lifecycle events (strategies) | ✓ | ✓ | | Zones | ✓ | ✓ | | Feature comments · costs · documents · parts | ✓ | ✓ | | Feature risk history | ✓ | - |
| Resource | Read | Write | |---|:-:|:-:| | Projects | ✓ | ✓ | | Tasks · task dependencies · milestones | ✓ | ✓ | | Phases · phase categories | ✓ | ✓ | | Budget items · time entries · cost snapshots | ✓ | ✓ | | Comments · updates · risks · team members | ✓ | ✓ | | Documents · document folder templates | ✓ | ✓ | | Project links (assets, buildings, sites, locations, systems, infrastructure) | ✓ | ✓ | | Service areas (+ site and system-class links) | ✓ | ✓ |
| Resource | Read | Write | |---|:-:|:-:| | Budgets | ✓ | ✓ | | Expenses · invoices · purchase orders | ✓ | ✓ | | Change orders | ✓ | ✓ | | Cost categories | ✓ | ✓ | | Contracts · contract sites · contract documents | ✓ | ✓ | | Vendors · vendor site assignments | ✓ | ✓ |
| Resource | Read | Write | |---|:-:|:-:| | Compliance items · records | ✓ | ✓ | | Form templates · template items | ✓ | ✓ | | Form responses | ✓ | ✓ | | Form response answers | ✓ | - | | LoS measures · measurements | ✓ | ✓ | | LoS targets history | ✓ | - |
| Resource | Read | Write |
|---|:-:|:-:|
| Users | ✓ | - |
| Custom field definitions · values | ✓ | ✓ |
| Dashboard summary · snapshots | ✓ | - |
| Bulk operations (bulk_create, bulk_update) | - | ✓ |
Scopes
API keys use scopes to control exactly what your assistant can touch. Configure per-resource read and write access in Settings → API Keys - scopes are grouped by category (Operations, Facilities, Projects, Finance, Infrastructure, ...) with bulk-toggle controls.
| Scope pattern | Access |
|---|---|
| resource:read | List and get records (e.g. assets:read, work_orders:read) |
| resource:write | Create, update, and delete records (e.g. assets:write) |
| *:* | Full access to all resources |
Security
- OAuth 2.0 + PKCE through
mcp.assetlab.ca; your API key is encrypted in transit and never stored by the MCP server - Tenant-bound - every key is scoped to your organization only, and the server ignores any attempt to address another tenant
- Audited - all data access is logged in AssetLab's audit log
- Revocable - revoke a key any time in Settings → API Keys; it dies instantly
- Read-only by default - write operations require explicit write scopes
Support
Questions or issues? Email [email protected].
Docs: assetlab.ca → Docs → AI & MCP
