Module

Integrations

The connective layer — a native MCP endpoint with per-scope tools, a playground running real calls, scoped API keys, webhooks with replay, and an embeddable booking widget.

Register Waitlist →Read the docs →

What it is

Integrations is where the claim the rest of this site makes becomes a screen. There is an MCP endpoint an agent connects to with a bearer token; the tool list it receives is filtered to that key's permissions, and tools marked sensitive require an explicit confirmation. Around it sit the ordinary things a platform needs — scoped keys, webhooks with delivery history and replay, a playground, and a no-code booking widget.

01

A native MCP endpoint, filtered to the key

An agent connects with an endpoint and a bearer token. Every tool is listed with what it does and the exact scope it needs — list reservations, list guests, list bookings, read KPIs, create a guest — and the ones that change something are flagged sensitive and require confirmation. The tool list an agent receives is the tool list its key permits, so scoping is not advisory.

The MCP Agents screen in Nerve. A “Connect an MCP client” panel gives the endpoint and bearer-token instructions and states two rules — the tool list is filtered to the key's permissions, and sensitive tools require confirmation. Each tool below is listed with what it does and the exact scope it needs.
The MCP endpoint is a product screen, not a roadmap item.
02

Every call, its channel, and its outcome

One log covers app, API and MCP. A row names when the call happened, which key made it, what it tried to do, and whether it was allowed. A key reaching past its scopes shows “denied” against the exact tool it tried — which makes a misconfigured agent a five-second diagnosis instead of an afternoon.

The agent and API activity log in Nerve. Each row records when a call happened, which key made it, the channel — api, mcp or app — the action, and the outcome pilled ok, denied or error.
A key without the scope shows “denied” against the exact tool it tried.
03

Real requests, real responses, including the refusal

The playground issues a short-lived scratch key, shows the scopes it carries and a countdown to expiry, and runs the calls in the browser. One endpoint returns 200 with the raw JSON; another returns 403 because the scratch key does not hold its scope. Both are worth seeing before you build.

The API Playground in Nerve, running calls in the browser. One request returns 200 with the raw JSON reservation list; another, whose scope the scratch key does not hold, returns 403. Each endpoint shows the scope it needs and its own Run button.
A real request and a real response — including the one that is refused.
04

Keys scoped to operations, webhooks with replay

A key is created against an explicit permission grid — individually selectable scopes named for the operation they allow — and its scopes are visible in the list without opening it. Webhooks subscribe to named events, keep a full delivery history including the verbatim transport error, and any single delivery can be replayed.

The API Keys screen in Nerve. Two keys are listed with a truncated prefix, an “active” pill, a creation date and a Revoke button, with the granted scopes shown beneath each name as code tags.
What a key can do is visible without opening it.
A webhook registered in Nerve. The card shows its name, an “active” pill, the endpoint it posts to and the events it subscribes to as code tags, with buttons to send a test delivery or open the delivery history.
Subscribe to the events you want; replay any delivery that failed.
05

The no-code path onto the same availability

An embeddable widget takes dates and a promo code and searches the same availability the API serves, so a property with no developer still gets commission-free direct bookings. Direct and channel bookings then sit in one list, distinguished by how the money is collected.

Nerve's embeddable booking widget on a demo page standing in for a hotel's own website. Headed “Book your stay”, it takes check-in and check-out dates and an optional promo code above a “Search availability” button, footed “Powered by Nerve · commission-free direct booking”.
The no-code path onto the same availability the API serves.
What it means for an agent

This is the module an agent is a first-class user of rather than an operator of. It discovers what it may call from the tool list, gets a 403 naming the scope when it reaches past that, and leaves a row in the activity log either way. Nothing here is a separate integration surface: the tools are the operations the other nine modules already expose.

Go deeper

Every screen above is documented, operation by operation, against the shipped product.

Register Waitlist →Start from your property type →

Wondering whether this is for a property your size?

← All features