io.usefulapi/upkeep
up checked
Unclaimed · Unverified
Agent searches it appeared in, last 30 days: 0. Run this server? Claim the listing: verified label, uptime alerts and analytics.
Publisher-provided title
UpKeep MCP by usefulapi
Publisher-provided description
Read UpKeep work orders, assets, parts and meters; create requests and work orders.
Summary by lookupd
Reads and writes maintenance data: work orders, assets, parts, meters and requests, with some writes that can notify assignees.
Install
Claude Code, remote (streamable-http)
claude mcp add --transport http upkeep https://upkeep.usefulapi.io/mcp
Codex, remote (streamable-http)
codex mcp add upkeep --url https://upkeep.usefulapi.io/mcp
Cursor, remote (streamable-http) → .cursor/mcp.json
{
"mcpServers": {
"upkeep": {
"url": "https://upkeep.usefulapi.io/mcp"
}
}
}Other clients: docs. Or tell your agent: Set up lookupd for me: read https://lookupd.com/agent.md and follow it.
Tools (29 tools)
Publisher-provided text
upkeep_get_accountConfirm the UpKeep API token is active: returns the company id, the token's name, when it was created and when it was last used. GET /api/v1/organization-api-toupkeep_list_work_ordersList work orders (reactive and preventive), newest first, with status, priority, due date, asset, location, assignee, parts, time and cost. Filter by status, coupkeep_get_work_orderOne work order by id with its checklist items, custom fields, time log, parts and files. GET /work-orders/{id}.upkeep_list_assetsList assets (equipment) with name, model, serial and barcode, location, status, downtime status, warranty and number of open work orders. Filter by name, serialupkeep_get_assetOne asset by id with purchase and warranty details, custom fields and (optionally) assigned users, teams, vendors, parts, files and sub-assets. GET /assets/{id}upkeep_list_locationsList locations (sites, buildings, rooms) with address, barcode, parent location and hierarchy level. GET /locations.upkeep_get_locationOne location by id. GET /locations/{id}.upkeep_list_partsList spare parts with quantity on hand, minimum quantity, cost, category, location and part number. Compare quantity with minimumQuantity to find parts to reordupkeep_get_partOne part by id with quantity, cost, location and custom fields. GET /parts/{id}.upkeep_list_metersList meters (usage counters such as hours, mileage, temperature) with units, reading frequency and the asset or location they belong to. GET /meters.upkeep_get_meterOne meter by id. GET /meters/{id}.upkeep_list_meter_readingsReadings recorded for one meter (value, date, who recorded it), newest first. GET /meters/{id}/readings.upkeep_add_meter_readingWRITE: record a new reading on a meter (for example engine hours or mileage). A reading cannot be removed with this server, and a meter notification can createupkeep_list_requestsList work requests submitted by staff or through the request portal (before they become work orders), with status open/approved/rejected. GET /requests.upkeep_get_requestOne work request by id with its form fields and, once approved, the linked work order id. GET /requests/{id}.upkeep_create_requestWRITE: submit a new work request for the maintenance team to approve (it appears in UpKeep's Requests list and may notify the approvers or the assignee). It isupkeep_approve_requestWRITE: approve a pending work request, which converts it into a work order (it may notify the assignee). Needs a token whose role may approve requests. Approvinupkeep_create_work_orderWRITE: create a new work order (it may notify the assignee and appears in UpKeep's work order board). Ids for asset, location and assignee come from the list toupkeep_update_work_orderWRITE: change fields of an existing work order: status (open, onHold, inProgress, complete), title, description, priority, due date or assignee. Only the fieldsupkeep_add_work_order_messageWRITE: post a message (comment) on a work order's activity thread; people following the work order may be notified. POST /work-orders/{id}/update-messages.upkeep_update_part_quantityWRITE: set the quantity on hand (and optionally the minimum quantity that triggers a low-stock notification) of a part. This overwrites the stored number: readupkeep_list_usersList UpKeep users (technicians, admins, requesters) with account type, job title, status and last login. Use the ids to assign work orders. GET /users.upkeep_get_userOne user by id. GET /users/{id}.upkeep_list_teamsList teams with name and description. Use the ids to assign work. GET /teams.upkeep_list_vendorsList vendors (suppliers and contractors) with contact details. GET /vendors.upkeep_list_customersList customers (the parties whose assets or locations you maintain) with contact details. GET /customers.upkeep_list_purchase_ordersList purchase orders with status (awaiting, approved, declined, fulfilled), vendor, dates, total cost and quantities. GET /purchase-orders.upkeep_get_purchase_orderOne purchase order by id with its parts, quantities, costs and shipping details. GET /purchase-orders/{id}.upkeep_list_preventive_maintenanceList preventive maintenance (PM) templates, the recurring work that generates scheduled work orders, with their schedules. Filter by text, asset, location, assi
Details
- Version: 1.18.3
- Transports: streamable-http
- Uptime (7 days): 100%
- Median latency: 343 ms
- First indexed:
- Last seen in registry:
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/upkeep/
Badge for your README
Shows this live status and links here; updates hourly.
[](https://lookupd.com/servers/io.usefulapi/upkeep)
- 62071 servers
- Last crawl: 2026-11-11T16:39:06.253Z
- API base:
https://api.lookupd.com - MCP URL:
https://api.lookupd.com/mcp