Skip to content
OAOpenAppPhysical Security as a Service
Login

MCP server setup

The OpenApp MCP server lets coding agents discover organizations, devices, and entities, and — with explicit opt-in — run controlled writes (entity actions, invites, scripting).

Source: packages/openapp-mcp in the OpenApp repository (README.md in that package).

VariableRequiredDescription
OPENAPP_API_KEYYesAPI key (Authorization: Bearer)
OPENAPP_API_BASENoDefault https://api.openapp.house/api/v1
OPENAPP_ORG_IDFor device/entity lists and all writesOrganization ULID (X-Org)
OPENAPP_MCP_ALLOW_WRITESFor phase 2 toolsSet to 1 only after org policy review

Never commit keys to mcp.json — use env vars or your client’s secret store.

ToolMaps to
openapp_list_orgsGET /orgs
openapp_list_devicesGET /devices
openapp_list_entitiesGET /entities
openapp_get_entityGET /entities/{id}
openapp_describe_actionStatic catalog + OpenAPI pointer

Disabled unless OPENAPP_MCP_ALLOW_WRITES=1.

ToolMaps toGuardrails
openapp_execute_entity_actionPOST /entities/{id}/actions/{action_id}Physical effect; require explicit action_id
openapp_create_invitationPOST /integrations/{id}/access-invitesvalid_from / valid_to required
openapp_scripting_executePOST /scripting/executeProvisioning only; role-gated on API

See Agent-relevant API.

From the repository root:

Terminal window
cd packages/openapp-mcp
npm install
npm run build
OPENAPP_API_KEY='v1_openapp_…' OPENAPP_ORG_ID='01H…' npm start

For write tools:

Terminal window
OPENAPP_MCP_ALLOW_WRITES=1 OPENAPP_API_KEY='' OPENAPP_ORG_ID='' npm start

Use an absolute path to the built entrypoint on your machine:

{
"mcpServers": {
"openapp": {
"command": "node",
"args": ["/path/to/openapp2/packages/openapp-mcp/dist/index.js"],
"env": {
"OPENAPP_API_BASE": "https://api.openapp.house/api/v1",
"OPENAPP_API_KEY": "<from-dashboard>",
"OPENAPP_ORG_ID": "<ulid>"
}
}
}
}

Add "OPENAPP_MCP_ALLOW_WRITES": "1" only when operators approve physical actions from agents.

Package publication as @openapp/mcp-server on npm is planned; until then, build from source.

  • Read-only tools still reveal org structure — scope API keys minimally.
  • Write tools unlock doors, create guest links, or run scripts — keep human in the loop in agent UIs.
  • Physical unlocks: Build an access-control agent.

← go2rtc live view · Agents overview