AI Integrations Overview
Use Charter Boats data through Custom GPTs, MCP servers, and direct API calls
Charter Boats exposes a set of AI-optimized endpoints under /api/ai/* designed for use by LLM-based integrations. These endpoints power two official integrations and are available for third-party use:
- Custom GPT -- A ChatGPT Action that uses the OpenAPI schema to search boats, locations, routes, trips, and content
- MCP Server -- A Model Context Protocol server at
https://charter.boats/mcpthat works in Claude.ai, Claude Desktop, ChatGPT Apps, Cursor, and any MCP-compatible client. Provides rich UI widgets for boats and locations.
Both integrations call the same underlying /api/ai/* endpoints, which are optimized for AI consumption: fuzzy location matching, compact response shapes, and rate limiting tuned for conversational use.
Base URL
All AI endpoints are relative to:
Authentication
No authentication required. All AI endpoints are public. Rate limits apply per IP.
Rate Limits
| Source | Limit |
|---|---|
| Custom GPT requests | 30 requests / 10 minutes |
| All other clients | 60 requests / 10 minutes |
Rate-limited responses return 429 Too Many Requests with a Retry-After header.
Available Endpoints
| Method | Endpoint | Description |
|---|---|---|
GET | /ai/boats | Search boats by location, type, dates, budget |
GET | /ai/locations | Search marinas, islands, and destinations |
GET | /ai/pois | Find restaurants, fuel, shops near a location |
GET | /ai/routes | Find sailing passages with distance and difficulty |
GET | /ai/trips | Search curated multi-day itineraries |
GET | /ai/content | Search articles, guides, and FAQ answers |
Custom GPT
The Custom GPT uses an OpenAPI 3.1 schema (gpt-actions-schema.json) to expose the same 6 endpoints as ChatGPT Actions. The schema is configured to point at https://charter.boats/api/ai.
To set up your own Custom GPT using Charter Boats data:
- Create a new GPT in ChatGPT
- Add a new Action
- Import the OpenAPI schema from the repository (
docs/gpt-actions-schema.json) - No authentication is needed
GPT Conversation Tracking
When requests come from a Custom GPT, the server tracks search history per conversation using an openai-conversation-id header. This enables:
- Context retrieval via
GET /ai/gpt-context?oid=<conversation_id>-- returns the last search parameters so the GPT can reference previous results - URL tagging -- all URLs in responses are appended with
?oid=<conversation_id>for attribution tracking
MCP Server
The ChatGPT Apps MCP Server provides the same data through the Model Context Protocol with rich HTML widgets for boat and location results. See the dedicated page for details.