MCP reference
Read and update Roomline records from an MCP-compatible agent.
/api/mcp3 read · 14 write toolsAvailability
MCP is disabled by default and enabled by the server operator. New Roomline accounts do not have personal MCP access yet. Account sign-in and recovery codes cannot be used as MCP credentials.
Read only
Discover and read records. The client sees only the three read tools.
Read & write
Also exposes fourteen create/update tools. Use only when the client is authorized to edit.
Tokens cover the entire legacy workspace. Property filters narrow a query; they are not property-level permissions.
Connect your client
Use an MCP client that supports Streamable HTTP and a custom Authorization header. OAuth-only clients are not supported by this version.
URL https://your-roomline-host/api/mcp
Header Authorization: Bearer <your-dedicated-token>Keep the token in your client’s secret storage. Start with read-only access, then enable write access when needed.
Server configuration
Set ROOMLINE_ORIGIN to the exact public HTTPS origin. HTTP is accepted only on loopback hosts. Configure one or both token files:
ROOMLINE_MCP_READ_TOKEN_FILE=/run/secrets/mcp_read
ROOMLINE_MCP_WRITE_TOKEN_FILE=/run/secrets/mcp_writeUse different randomly generated tokens of at least 32 characters. Store secret files outside Git. Replacing a token file revokes the old token on subsequent requests.
The optional Docker overlay mounts operator-provided secret files using ROOMLINE_MCP_READ_TOKEN_PATH and ROOMLINE_MCP_WRITE_TOKEN_PATH. Set those host paths before running:
docker compose -f compose.yaml -f compose.mcp.yaml up -d --buildThis command rebuilds and restarts the container. The endpoint returns 404 when unconfigured and 401 for missing or invalid credentials when configured.
Tools
17 toolsThe client discovers the available tools and their input schemas through MCP. Use the advertised schema for exact required fields; access determines which tools are listed.
Read tools Both access levels
roomline_summaryWorkspace revision, collection counts and property records.
No arguments. Start here to discover property IDs.
roomline_list_recordsFind records by collection, property or text.
collection (required), propertyId, query, offset, limit. Default limit: 25; maximum: 100.
roomline_get_recordRead one complete record and its current revision.
collection and id (required).
Readable collections: properties, floors, rooms, walls, tenants, leases, parking, maintenance, documents and inspections. Document and inspection reads return metadata and records, not file bytes or extracted PDF text.
Write tools Write token only
roomline_create_propertyroomline_update_property
Create or update a property. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_floorroomline_update_floor
Create or update a floor. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_roomroomline_update_room
Create or update a room. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_tenantroomline_update_tenant
Create or update a tenant. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_leaseroomline_update_lease
Create or update a lease. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_parking_spaceroomline_update_parking_space
Create or update a parking space. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
roomline_create_maintenance_requestroomline_update_maintenance_request
Create or update a maintenance request. Every call requires expectedRevision from a recent read. Creates use data; updates use id and changes. Discover the complete field schema in your MCP client.
Using an agent
Once connected, the client discovers tool names and input schemas automatically. Ask it to find records or make a specific change:
- Find leases ending in the next 60 days.
- List open maintenance requests for Maple House.
- Create a maintenance request for the kitchen faucet leak.
Writes require a write token. Configure edit confirmation in the client; Roomline validates records but does not pause MCP writes for human approval.
Tool results are shared with your chosen agent and may be processed by its provider. Review the provider’s data handling before connecting. Roomline does not run a background agent.
Write workflow
- Find the property.
Call
roomline_summary, then list or fetch the relevant record. - Review the change.
Use your AI client’s confirmation policy before writes. Names and notes are record content, never instructions.
- Write with the current revision.
Send the intended changes with
expectedRevision. If you receiverevision_conflict, reread and reassess before retrying. - Read it back.
Fetch the updated record to confirm the result. Refresh the website to see external changes.
Omitted fields stay unchanged. Supplied arrays replace the entire field. IDs and property/floor ownership cannot be changed. Financial values use integer USD cents.
Unsupported operations
No delete tools, binary uploads, document or inspection edits, payment actions, messages, invitations or signing. Tenant photos and floor images must already have been uploaded through the website.
There is no OAuth login, per-account token creation or per-property permission scope yet. This guide describes the operator integration that exists today.