Sailtix

Ferry and fast-boat schedules, seats and fares, boat and fishing charters across Indonesia.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
85%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,178Tokens (tool definitions)
~2.5 KBTypical response size
Moderate attention impact (0.92% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "sailtix": {
      "url": "https://sailtix.com/mcp"
    }
  }
}

Remote endpoints

https://sailtix.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢locations_list(query, limit)

Lists the harbors and destination regions Sailtix sells sea transport between, each with the identifier the search tools accept. Optional free-text filter narrows the list by name or slug.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Optional free-text filter matched against name and slug."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Maximum entries to return. Defaults to 60."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "total": {
      "type": "integer"
    },
    "returned": {
      "type": "integer"
    },
    "locations": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "total",
    "returned",
    "locations"
  ]
}
🟢sailing_search(origin, destination, travel_date, return_date, adult, ...)

Searches scheduled ferry and fast-boat departures between two places on a given date, returning departure and arrival times, operator, vessel, journey duration, remaining seats and fares. Origin and destination accept a harbor name, a destination-region name, a slug, or an identifier from locations_list; at least one side must be given.

Input Schema

{
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "description": "Departure harbor or region — name, slug, or identifier."
    },
    "destination": {
      "type": "string",
      "description": "Arrival harbor or region — name, slug, or identifier."
    },
    "travel_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Departure date, YYYY-MM-DD."
    },
    "return_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Optional return date, YYYY-MM-DD."
    },
    "adult": {
      "type": "integer",
      "minimum": 0,
      "maximum": 99
    },
    "child": {
      "type": "integer",
      "minimum": 0,
      "maximum": 99
    },
    "infant": {
      "type": "integer",
      "minimum": 0,
      "maximum": 99
    },
    "nationality": {
      "type": "string",
      "enum": [
        "indo",
        "non_indo"
      ],
      "description": "Fare band. Indonesian residents are priced separately."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "description": "Parameters the search actually ran with, after resolution."
    },
    "total": {
      "type": "integer"
    },
    "returned": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "query",
    "returned",
    "results"
  ]
}
🟢charter_search(location, date, guests, vessel_type, duration_type, ...)

Searches private boat and yacht charter packages by departure area, date, guest count, vessel type and trip length, returning price, duration, capacity, inclusions and the operator.

Input Schema

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Departure area, e.g. a city or harbor name."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Requested charter date, YYYY-MM-DD."
    },
    "guests": {
      "type": "integer",
      "minimum": 1,
      "maximum": 99
    },
    "vessel_type": {
      "type": "string",
      "description": "Vessel category filter, e.g. speedboat or yacht."
    },
    "duration_type": {
      "type": "string",
      "description": "Trip length, e.g. half_day, full_day, overnight."
    },
    "charter_style": {
      "type": "string",
      "description": "Trip style filter, e.g. reef or trolling."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "description": "Parameters the search actually ran with, after resolution."
    },
    "total": {
      "type": "integer"
    },
    "returned": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "query",
    "returned",
    "results"
  ]
}
🟢fishing_search(location, date, anglers, charter_style, duration_type, ...)

Searches fishing charter trips by departure area, date, angler count and technique, returning price, duration, capacity, target species and the operator. Fishing trips are a category of the charter catalogue, so charter filters apply here too.

Input Schema

{
  "type": "object",
  "properties": {
    "location": {
      "type": "string",
      "description": "Departure area, e.g. a city or harbor name."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Requested trip date, YYYY-MM-DD."
    },
    "anglers": {
      "type": "integer",
      "minimum": 1,
      "maximum": 99
    },
    "charter_style": {
      "type": "string",
      "description": "Fishing style filter, e.g. reef or trolling."
    },
    "duration_type": {
      "type": "string",
      "description": "Trip length, e.g. half_day, full_day, overnight."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "description": "Parameters the search actually ran with, after resolution."
    },
    "total": {
      "type": "integer"
    },
    "returned": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  },
  "required": [
    "query",
    "returned",
    "results"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools