Tool Catalogue
ATP MCP Server Specification · Section 4
4. Tool Catalogue
4.1 Design Principles
Scope alignment is the primary carving criterion. Each tool maps to
exactly one Cedar action.
Coarse over granular. Eight tools total. Each well-described for
correct one-shot LLM invocation.
Synchronous by default. atp_invoke_hem is the sole async tool (MCP
Tasks, EXPERIMENTAL).
4.2 Scope Normalisation
Decision MCP-D4 (CLOSED): Informal RefImpl scope names retired. Normative names:
JOURNEY_READ (retired) CONTEXT_READ (normative)
NOTIFY (retired) NOTIFICATION_SEND (normative)
PRE_ARRANGEMENT_WRITE PRE_ARRANGEMENT_WRITE (unchanged)
HEM_INVOKE HEM_INVOKE (unchanged)
4.3 Tool Summary
Decision MCP-D5 (CLOSED): Eight tools: six operational, one discovery, one administrative.
Tool Scope Async NeMo Seasalt.AI / Guest Agent
atp_get_context_package CONTEXT_READ No No Primary tool
atp_notify_traveller NOTIFICATION_SEND No Tone filter Core
atp_update_pre_arrangement PRE_ARRANGEMENT_WRITE No No Core
atp_collect_pre_arrangement_data PRE_ARRANGEMENT_WRITE No Elicitation Core
atp_invoke_hem HEM_INVOKE Yes * Required Escalation only
atp_record_safety_check SAFETY_WRITE No No Supplier / admin
atp_search_activities BOOKING_READ No No Discovery
atp_get_booking_status CONTEXT_READ No No Polling
* MCP Tasks — EXPERIMENTAL (spec 2025-11-25)
4.4 Tool Specifications
Tool 1: atp_get_context_package
Field Value
Required scope CONTEXT_READ
Cedar action ATPAction::"get_context_package"
Booking state Any post-CONFIRMATION state
Async No
NeMo Guardrails Not required
Retrieves the full Context Package for a Booking Object — confirmed itinerary, participant list, seller contacts, pre-arrangement state, meeting points, and event log summary. Primary read surface for any AI agent operating on a confirmed booking.
Input: { booking_object_id: UUID v7, fields?: string[] }
Output: Full Context Package (or requested fields subset). Payment fields require additional BOOKING_READ scope claim.
Tool 2: atp_notify_traveller
Field Value
Required scope NOTIFICATION_SEND
Cedar action ATPAction::"notify_traveller"
Booking state PRE_JOURNEY, JOURNEY, DISRUPTION_REVIEW
Async No
NeMo Guardrails Tone / content filter (Rail 2)
Sends a notification to one or more participants via a specified channel. Records a NotificationEvent to the append-only event log. Supports WHATSAPP, SMS, EMAIL. Messages are attributed to the ATP runtime actor identity.
Input: { booking_object_id, recipient_participant_id, channel, message_body, template_id? }
Output:
Tool 3: atp_update_pre_arrangement
Field Value
Required scope PRE_ARRANGEMENT_WRITE
Cedar action ATPAction::"update_pre_arrangement"
Booking state PRE_JOURNEY only
Async No
NeMo Guardrails Not required
Updates a pre-arrangement field on a participant record. Fields include dietary requirements, equipment measurements, skill assessments, insurance references, accessibility requirements. Validated against Activity Configuration Schema fragment definitions.
Input: { booking_object_id, participant_id, field_key, field_value, source }
Output: { updated_field, previous_value, event_log_entry_id, validation_result }
Tool 4: atp_collect_pre_arrangement_data
Field Value
Required scope PRE_ARRANGEMENT_WRITE
Cedar action ATPAction::"collect_pre_arrangement_data"
Booking state PRE_JOURNEY only
Async No
NeMo Guardrails Elicitation content filter
Returns the pre-arrangement data collection manifest — all fields outstanding, required vs optional, and the Activity Configuration Schema fragment governing each field. Paired tool with atp_update_pre_arrangement. Uses MCP Elicitation for structured guest input where the host supports it.
Input: { booking_object_id, filter: ALL | OUTSTANDING | REQUIRED_OUTSTANDING }
Output: Array of { participant_id, field_key, field_label, field_type, required, current_value, schema_fragment }
Tool 5: atp_invoke_hem — ASYNC / EXPERIMENTAL
Field Value
Required scope HEM_INVOKE
Cedar action ATPAction::"invoke_hem"
Booking state Any — HEM catalogue defines per-HEM preconditions
Async YES — MCP Tasks (EXPERIMENTAL, spec 2025-11-25)
NeMo Guardrails REQUIRED — Rail 1 (HEM Escalation)
Invokes a HEM (Human Escalation Mechanism) event against a Booking Object. Returns a task_id immediately. Agent polls for completion. Requires operator confirmation at CONFIRMATION Level <= 1 (DR-v6-D5, CLOSED) — enforced via MCP Elicitation before the HEM executes.
HIGHEST-PRIVILEGE TOOL. Cedar mandate MUST enumerate permitted hem_id values explicitly. Wildcard HEM_INVOKE mandates are Security Kernel-rejected (MCP-D6, CLOSED).
Input: { booking_object_id, hem_id, context: { trigger_reason, agent_assessment, recommended_action? } }
Immediate output: { task_id, status: PENDING, confirmation_required: true, elicitation_sent_to: operator }
Poll output (confirmed): { task_id, status: COMPLETE, hem_outcome, decision_object_id, event_log_entries[] }
Poll output (declined): { task_id, status: DECLINED, declined_by: operator, reason }
Tool 6: atp_record_safety_check
Field Value
Required scope SAFETY_WRITE
Cedar action ATPAction::"record_safety_check"
Booking state PRE_JOURNEY, JOURNEY
Async No
NeMo Guardrails Not required
OQ-AS-5 RESOLVED (CLOSED). Records a safety compliance check against a participant or activity item. Satisfies SUPPLIER_VERIFIED SafetyCompliance requirement. Becomes part of the immutable event log. Recording a safety check never directly triggers a state transition.
Input: { booking_object_id, check_type, subject, outcome, conditions?, checked_by, evidence_ref? }
check_type values: EQUIPMENT_FIT | MEDICAL_CLEARANCE | AGE_VERIFICATION | SKILL_ASSESSMENT | WEATHER_GO_NOGO
Output: { safety_check_id, event_log_entry_id, booking_object_status_unchanged: true }
Tool 7: atp_search_activities (Discovery)
Field Value
Required scope BOOKING_READ
Cedar action ATPAction::"search_activities"
Booking state Pre-booking — no Booking Object required
Async No
NeMo Guardrails Not required
Searches the Activity Configuration Schema registry for activities matching specified criteria. Returns Capability Declarations. Includes OCTO Bridge-sourced activities alongside ATP-native activities where the OCTO Bridge adapter is configured.
Input:
Output: Array of Capability Declarations with availability indicators. Each includes activity_id, category, operator_id, pricing_snapshot, availability_status, source (ATP_NATIVE | OCTO_BRIDGE).
Tool 8: atp_get_booking_status (Administrative)
Field Value
Required scope CONTEXT_READ
Cedar action ATPAction::"get_booking_status"
Booking state Any
Async No
NeMo Guardrails Not required
Lightweight status envelope — current state machine status, active flags, pending HEM tasks, outstanding pre-arrangements count, and last event timestamp. Used by monitoring agents and as a polling complement to atp_invoke_hem task management.
Input:
Output: { booking_object_id, state, active_flags[], pending_hem_tasks[], outstanding_pre_arrangements_count, last_event_timestamp }