Operto MCP by usefulapi
Read properties, reservations, guest access codes, smart locks and thermostats in Operto.
Should I use this
Quality & Safety
Findings (1)
- LOWin operto_list_property_thermostats
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"operto": {
"url": "https://operto.usefulapi.io/mcp"
}
}
}Remote endpoints
https://operto.usefulapi.io/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢operto_list_properties
List the properties (units) in your Operto account with their Operto id, partner_id, name and subscription state. Good first call: the ids feed the other tools. Operto API: GET /v2/partners/properties.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_get_property(property_id, keyid)
Get one property by id, including its details and current room status (for example clean-available, guest-checking-in, cleaning-started). Operto API: GET /v2/partners/properties/{property_id}.
Input Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "The Operto property id (from operto_list_properties), or the partner_id with keyid=partner."
},
"keyid": {
"description": "Set to \"partner\" when the id you pass is your own partner id (partner_id / partner_reservation_id) instead of the Operto id.",
"type": "string",
"enum": [
"partner"
]
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_list_reservations(property_id, keyid)
List the reservations of one property: status, check-in and check-out time, guest name, phone, email and door codes. Contains personal guest data. Operto API: GET /v2/partners/properties/{property_id}/reservations.
Input Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "The Operto property id, or the partner_id with keyid=partner."
},
"keyid": {
"description": "Set to \"partner\" when the id you pass is your own partner id (partner_id / partner_reservation_id) instead of the Operto id.",
"type": "string",
"enum": [
"partner"
]
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_get_reservation(reservation_id, keyid)
Get one reservation by id: status, dates, guest contact data and the guest access and checkout codes. Contains personal guest data. Operto API: GET /v2/partners/reservations/{reservation_id}.
Input Schema
{
"type": "object",
"properties": {
"reservation_id": {
"type": "string",
"description": "The Operto reservation id, or the partner_reservation_id with keyid=partner."
},
"keyid": {
"description": "Set to \"partner\" when the id you pass is your own partner id (partner_id / partner_reservation_id) instead of the Operto id.",
"type": "string",
"enum": [
"partner"
]
}
},
"required": [
"reservation_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_list_locks(property_id, keyid)
List the smart locks of one property with name, battery level, locked state and device_id. Read only: this tool does not open or close a lock. Operto API: GET /v2/partners/properties/{property_id}/locks.
Input Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "The Operto property id, or the partner_id with keyid=partner."
},
"keyid": {
"description": "Set to \"partner\" when the id you pass is your own partner id (partner_id / partner_reservation_id) instead of the Operto id.",
"type": "string",
"enum": [
"partner"
]
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_list_thermostats
List every smart thermostat in your organization with its property, type (for example EcoBee, Tado) and online status. Operto API: GET /v2/partners/thermostats.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_list_property_thermostats(property_id, keyid)
List the smart thermostats of one property with type and online status. Operto API: GET /v2/partners/properties/{property_id}/thermostats.
Input Schema
{
"type": "object",
"properties": {
"property_id": {
"type": "string",
"description": "The Operto property id, or the partner_id with keyid=partner."
},
"keyid": {
"description": "Set to \"partner\" when the id you pass is your own partner id (partner_id / partner_reservation_id) instead of the Operto id.",
"type": "string",
"enum": [
"partner"
]
}
},
"required": [
"property_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢operto_get_thermostat(thermostat_id)
Get one thermostat by id: online status, current temperature in Fahrenheit and Celsius, and any active hold. Operto API: GET /v2/partners/thermostats/{thermostat_id}.
Input Schema
{
"type": "object",
"properties": {
"thermostat_id": {
"type": "string",
"description": "The thermostat id (from operto_list_thermostats)."
}
},
"required": [
"thermostat_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Evidence