Server definition
- Hash
- sha256:a0ec03ecc3e35919443bf79da055129a42aeeade3e6ab15168c85376fff6f29f
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Check a captain's or boat's availability. Provide exactly one of captainSlug or boatId. Omit date to get available dates for the next 90 days; provide both date (YYYY-MM-DD) and durationHours to get bookable time slots for that date. Each slot lists its offeredDurations, and every entry carries the durationId to pass to get_quote, create_booking, or create_boat_rental (null means that length is offered but not bookable through the API).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"boatId": {
"minLength": 1,
"type": "string"
},
"captainSlug": {
"minLength": 1,
"type": "string"
},
"date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"durationHours": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "check_availability",
"outputSchema": null
},
{
"description": "Book a bareboat boat rental and get a Stripe Checkout link for the charterer to complete payment. Requires captainChoiceRightAcknowledged: true (the charterer affirms their right to choose their own captain). Optionally attach a partner/affiliate code.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"boatId": {
"minLength": 1,
"type": "string"
},
"captainChoiceRightAcknowledged": {
"const": true,
"type": "boolean"
},
"date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"durationId": {
"minLength": 1,
"type": "string"
},
"email": {
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"firstName": {
"minLength": 1,
"type": "string"
},
"lastName": {
"minLength": 1,
"type": "string"
},
"partnerCode": {
"type": "string"
},
"partySize": {
"maximum": 13,
"minimum": 1,
"type": "integer"
},
"phone": {
"minLength": 1,
"type": "string"
},
"pricingTierId": {
"minLength": 1,
"type": "string"
},
"specialRequests": {
"maxLength": 500,
"type": "string"
},
"startTime": {
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
}
},
"required": [
"boatId",
"captainChoiceRightAcknowledged",
"date",
"startTime",
"durationId",
"pricingTierId",
"partySize",
"firstName",
"lastName",
"email",
"phone"
],
"type": "object"
},
"name": "create_boat_rental",
"outputSchema": null
},
{
"description": "Book a charter with a captain and get a Stripe Checkout link for the charterer to complete payment. Optionally attach a partner/affiliate code to credit a referrer.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"captainSlug": {
"minLength": 1,
"type": "string"
},
"date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"durationId": {
"minLength": 1,
"type": "string"
},
"email": {
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"firstName": {
"minLength": 1,
"type": "string"
},
"harborId": {
"minLength": 1,
"type": "string"
},
"lastName": {
"minLength": 1,
"type": "string"
},
"partnerCode": {
"type": "string"
},
"partySize": {
"maximum": 13,
"minimum": 1,
"type": "integer"
},
"phone": {
"minLength": 1,
"type": "string"
},
"pricingTierId": {
"minLength": 1,
"type": "string"
},
"specialRequests": {
"maxLength": 500,
"type": "string"
},
"startTime": {
"pattern": "^\\d{2}:\\d{2}$",
"type": "string"
}
},
"required": [
"captainSlug",
"harborId",
"date",
"startTime",
"durationId",
"pricingTierId",
"partySize",
"firstName",
"lastName",
"email",
"phone"
],
"type": "object"
},
"name": "create_booking",
"outputSchema": null
},
{
"description": "Get a boat's full profile by id, enriched with a rating summary and the most recent reviews.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"boatId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"boatId"
],
"type": "object"
},
"name": "get_boat",
"outputSchema": null
},
{
"description": "Get a captain's full profile by tenant slug, enriched with a rating summary and the most recent reviews.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"minLength": 1,
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_captain",
"outputSchema": null
},
{
"description": "Get a non-binding price quote (in cents) for a charter or rental. Provide exactly one of captainSlug or boatId, plus durationId and partySize. Pass `date` (YYYY-MM-DD) whenever you know it: the rate then comes from the operator's rate card for that day — weekday vs weekend vs holiday, including any per-date price the operator set — so the quote matches what checkout charges. Without a date, pass pricingTierId instead; the quote then reflects that tier and may differ from checkout for the actual day. Optionally pass a partnerCode to preview a discount. Returns currency, totalCents, depositCents, balanceCents, pricingModel, and (when a code is given) a discountPreview.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"boatId": {
"minLength": 1,
"type": "string"
},
"captainSlug": {
"minLength": 1,
"type": "string"
},
"date": {
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"type": "string"
},
"durationId": {
"minLength": 1,
"type": "string"
},
"partnerCode": {
"minLength": 1,
"type": "string"
},
"partySize": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"pricingTierId": {
"minLength": 1,
"type": "string"
}
},
"required": [
"durationId",
"partySize"
],
"type": "object"
},
"name": "get_quote",
"outputSchema": null
},
{
"description": "List active harbors, each with a count of active captains and listed boats operating there.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_harbors",
"outputSchema": null
},
{
"description": "Health check",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "ping",
"outputSchema": null
},
{
"description": "Search listed boats, optionally filtered by harbor, type, minimum capacity, and max hourly price, with sorting and pagination.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"harbor": {
"type": "string"
},
"limit": {
"default": 20,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"maxPrice": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"minCapacity": {
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"page": {
"default": 1,
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"sort": {
"default": "name",
"enum": [
"price_asc",
"price_desc",
"capacity",
"name"
],
"type": "string"
},
"type": {
"enum": [
"SAILBOAT",
"POWERBOAT",
"PONTOON",
"JETSKI",
"KAYAK",
"CANOE",
"YACHT",
"OTHER",
"FISHING"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_boats",
"outputSchema": null
},
{
"description": "Search bookable charter captains, optionally filtered by harbor, with sorting and pagination. Returns a paginated list with starting price and rating.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"harbor": {
"type": "string"
},
"limit": {
"default": 20,
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"page": {
"default": 1,
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"sort": {
"default": "rating",
"enum": [
"rating",
"price_asc",
"price_desc",
"name"
],
"type": "string"
}
},
"type": "object"
},
"name": "search_captains",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:a0ec03ecc3e35919443bf79da055129a42aeeade3e6ab15168c85376fff6f29f | sha256sum