Charter Captain
Discover Lake Michigan charter captains & boats, check availability, get quotes, and book.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"charter-captain": {
"url": "https://api.chartercaptain.com/mcp/mcp"
}
}
}원격 엔드포인트
https://api.chartercaptain.com/mcp/mcpstreamable-http할 수 있는 일
도구 목록
도구 (10)
🟢ping
Health check
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_captains(harbor, sort, page, limit)
Search bookable charter captains, optionally filtered by harbor, with sorting and pagination. Returns a paginated list with starting price and rating.
입력 스키마
{
"type": "object",
"properties": {
"harbor": {
"type": "string"
},
"sort": {
"default": "rating",
"type": "string",
"enum": [
"rating",
"price_asc",
"price_desc",
"name"
]
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢search_boats(harbor, type, minCapacity, maxPrice, sort, ...)
Search listed boats, optionally filtered by harbor, type, minimum capacity, and max hourly price, with sorting and pagination.
입력 스키마
{
"type": "object",
"properties": {
"harbor": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"SAILBOAT",
"POWERBOAT",
"PONTOON",
"JETSKI",
"KAYAK",
"CANOE",
"YACHT",
"OTHER",
"FISHING"
]
},
"minCapacity": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"maxPrice": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"sort": {
"default": "name",
"type": "string",
"enum": [
"price_asc",
"price_desc",
"capacity",
"name"
]
},
"page": {
"default": 1,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_captain(slug)
Get a captain's full profile by tenant slug, enriched with a rating summary and the most recent reviews.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"minLength": 1
}
},
"required": [
"slug"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_boat(boatId)
Get a boat's full profile by id, enriched with a rating summary and the most recent reviews.
입력 스키마
{
"type": "object",
"properties": {
"boatId": {
"type": "string",
"minLength": 1
}
},
"required": [
"boatId"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_harbors
List active harbors, each with a count of active captains and listed boats operating there.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_availability(captainSlug, boatId, date, durationHours)
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).
입력 스키마
{
"type": "object",
"properties": {
"captainSlug": {
"type": "string",
"minLength": 1
},
"boatId": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"durationHours": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_quote(captainSlug, boatId, date, durationId, pricingTierId, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"captainSlug": {
"type": "string",
"minLength": 1
},
"boatId": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"durationId": {
"type": "string",
"minLength": 1
},
"pricingTierId": {
"type": "string",
"minLength": 1
},
"partySize": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"partnerCode": {
"type": "string",
"minLength": 1
}
},
"required": [
"durationId",
"partySize"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_booking(captainSlug, harborId, date, startTime, durationId, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"captainSlug": {
"type": "string",
"minLength": 1
},
"harborId": {
"type": "string",
"minLength": 1
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$"
},
"durationId": {
"type": "string",
"minLength": 1
},
"pricingTierId": {
"type": "string",
"minLength": 1
},
"partySize": {
"type": "integer",
"minimum": 1,
"maximum": 13
},
"firstName": {
"type": "string",
"minLength": 1
},
"lastName": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 1
},
"specialRequests": {
"type": "string",
"maxLength": 500
},
"partnerCode": {
"type": "string"
}
},
"required": [
"captainSlug",
"harborId",
"date",
"startTime",
"durationId",
"pricingTierId",
"partySize",
"firstName",
"lastName",
"email",
"phone"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_boat_rental(boatId, captainChoiceRightAcknowledged, date, startTime, durationId, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"boatId": {
"type": "string",
"minLength": 1
},
"captainChoiceRightAcknowledged": {
"type": "boolean",
"const": true
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"startTime": {
"type": "string",
"pattern": "^\\d{2}:\\d{2}$"
},
"durationId": {
"type": "string",
"minLength": 1
},
"pricingTierId": {
"type": "string",
"minLength": 1
},
"partySize": {
"type": "integer",
"minimum": 1,
"maximum": 13
},
"firstName": {
"type": "string",
"minLength": 1
},
"lastName": {
"type": "string",
"minLength": 1
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string",
"minLength": 1
},
"specialRequests": {
"type": "string",
"maxLength": 500
},
"partnerCode": {
"type": "string"
}
},
"required": [
"boatId",
"captainChoiceRightAcknowledged",
"date",
"startTime",
"durationId",
"pricingTierId",
"partySize",
"firstName",
"lastName",
"email",
"phone"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거