MCP Integration

Connect AI models to ETERA via Model Context Protocol

Overview

ETERA implements the Model Context Protocol (MCP) across all four verticals, providing a standardized interface for AI models to discover and execute travel operations.

The Restaurant Booking service also exposes MCP endpoints directly at /restaurant/booking/mcp/*, aggregating booking-specific tools.


Core Endpoints

Every MCP service exposes the same set of endpoints:

MethodEndpointDescription
GET/mcp/toolsList all available tools with schemas
GET/mcp/tools/{tool}Get details for a specific tool
POST/mcp/execute/{tool}Execute a tool with parameters
GET/mcp/servicesList registered backend services
GET/mcp/healthMCP aggregator health status
POST/mcp/refreshRefresh the tool cache

How It Works

1

Discover available tools

List all tools for a vertical to see what operations are available:

$curl "https://api.etera.dev/restaurant/mcp/mcp/tools" \
> -H "Authorization: Bearer YOUR_TOKEN"
2

Get tool details

Inspect a specific tool’s input schema to understand its parameters:

$curl "https://api.etera.dev/hotel/mcp/mcp/tools/search_hotels" \
> -H "Authorization: Bearer YOUR_TOKEN"

The response includes the tool’s inputSchema (JSON Schema) describing all required and optional parameters.

3

Execute a tool

Call the tool with the required parameters:

$curl -X POST "https://api.etera.dev/restaurant/mcp/mcp/execute/search_restaurants" \
> -H "Authorization: Bearer YOUR_TOKEN" \
> -H "Content-Type: application/json" \
> -d '{
> "query": "Italian restaurants in Dubai",
> "limit": 5
> }'

Advanced Operations

Check which backend services are registered with an MCP aggregator:

$curl "https://api.etera.dev/experience/mcp/mcp/services" \
> -H "Authorization: Bearer YOUR_TOKEN"

MCP aggregators cache tool definitions from their backend services. Force a refresh if tools have been updated:

$curl -X POST "https://api.etera.dev/flight/mcp/mcp/refresh" \
> -H "Authorization: Bearer YOUR_TOKEN"

Check the health of any MCP aggregator:

$curl "https://api.etera.dev/restaurant/mcp/mcp/health"

Architecture

Each MCP service acts as an aggregator that discovers tools from related microservices, caches schemas for fast lookup, and routes execution calls to the appropriate backend.

AI Model → MCP Aggregator → Backend Services
├── Search Service
├── Booking Service
└── Data Service

The aggregator pattern means you only need to integrate with one MCP endpoint per vertical, rather than connecting to each backend service individually.


AI Supervisor

For cross-vertical AI coordination, use the AI Supervisor at /ai/input. It automatically detects intent and routes to the appropriate vertical’s agents.

$curl -X POST "https://api.etera.dev/ai/input" \
> -H "Authorization: Bearer YOUR_TOKEN" \
> -H "Content-Type: application/json" \
> -d '{
> "inputType": "text",
> "text": "Find me a hotel in Dubai near the beach"
> }'

Next Steps