Architecture, with evidence
Bots are the UI
Bring your own AI. NitroBot supplies scoped tools, durable records and a trusted place to review effects.
Keep the conversation with your AI
NitroBot does not add another general-purpose chat app. Your AI calls MCP tools; browser surfaces support setup, inspection and human review. The operational tools authenticate the caller and derive workspace authority before calling application services.
find_reservations returns checked options and prices. prepare_reservation saves a proposal and returns a review URL; preparing alone neither reserves capacity nor charges money. The calls below use fictional IDs and a sample timestamp, and illustrate two separate tools/call requests.
{"method":"tools/call","params":{"name":"find_reservations","arguments":{"workspaceId":"example-marina","customerId":"example-customer","serviceId":"berth","resourceIds":["slip-a"],"startsAt":1791331200000,"durationMs":86400000}}}
{"method":"tools/call","params":{"name":"prepare_reservation","arguments":{"workspaceId":"example-marina","customerId":"example-customer","serviceId":"berth","resourceIds":["slip-a"],"startsAt":1791331200000,"durationMs":86400000}}}One command owns the commitment
The review surface and MCP commit tool use the same application command. Approval binds the proposal hash and revisions, and commit rechecks mutable authority. Changing the transport does not bypass the review rules.
prepare_extraction_candidates validates proposed fields against literal source spans. Model confidence never gives those candidates fact authority; accepting evidence is a separate reviewed operation.
A separate tool surface for Scenarios
NitroBot Scenarios exposes participant-scoped tools such as get_context, search_world and submit_turn. Participants inspect their permitted view, preview a submission and seal its exact hash. These tools act on fictional scenario records, not operational bookings.
{"method":"tools/call","params":{"name":"get_context","arguments":{}}}
{"method":"tools/call","params":{"name":"search_world","arguments":{"query":"resources","limit":10}}}