haalaan MCP
Provides read-only tools for browsing haalaan China, Hong Kong, Macau and Greater China eSIM plans in USD and obtaining checkout links for travelers.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://mcp.haalaan.com/mcpWhat you can do with it
- Browse eSIM plans for China, Hong Kong, Macau and Greater China
- Get checkout links for specific eSIM plans
Source and maintenance
Protocol and capabilities
- Server
- haalaan 0.1.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
list_destinations — List destinations
List the destinations haalaan sells eSIMs for right now. The list comes from the live catalogue.
{
"type": "object",
"properties": {}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destinations",
"catalogue_version"
],
"properties": {
"destinations": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"name",
"scope",
"covers",
"places"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"scope": {
"enum": [
"local",
"regional",
"global"
],
"type": "string"
},
"covers": {
"type": "array",
"items": {
"type": "string"
}
},
"places": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"catalogue_version": {
"type": "string"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search_esims — Search eSIMs
Find haalaan travel eSIM plans for a destination (country name, ISO code or region). Returns only destinations currently available.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination",
"days"
],
"properties": {
"days": {
"type": "integer",
"maximum": 90,
"minimum": 1
},
"need": {
"enum": [
"light",
"standard",
"heavy"
],
"type": "string",
"default": "standard"
},
"destination": {
"type": "string",
"maxLength": 64,
"minLength": 1
}
}
}{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"status",
"matched",
"plans",
"policy",
"support",
"catalogue_version"
],
"properties": {
"plans": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"data_label",
"destination",
"covers",
"validity_days",
"price",
"price_cents",
"currency",
"billing",
"recommended",
"reset_note"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"price": {
"type": "string"
},
"covers": {
"type": "array",
"items": {
"type": "string"
}
},
"billing": {
"enum": [
"fixed",
"daily"
],
"type": "string"
},
"currency": {
"type": "string"
},
"data_label": {
"type": "string"
},
"reset_note": {
"type": "null"
},
"destination": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
},
"price_cents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"recommended": {
"type": "boolean"
},
"validity_days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}
},
"policy": {
"type": "object",
"required": [
"refunds"
],
"properties": {
"refunds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"status": {
"type": "string",
"const": "available"
},
"matched": {
"type": "object",
"required": [
"query",
"iso",
"destination_keys"
],
"properties": {
"iso": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"query": {
"type": "string"
},
"destination_keys": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"message": {
"type": "string",
"const": "No plan lasts for the whole trip. Please try again."
},
"support": {
"type": "string",
"const": "24/7 support"
},
"catalogue_version": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"status",
"matched",
"plans",
"available_destinations",
"message",
"support",
"catalogue_version"
],
"properties": {
"plans": {
"type": "array",
"items": {
"type": "object",
"required": [
"slug",
"name",
"data_label",
"destination",
"covers",
"validity_days",
"price",
"price_cents",
"currency",
"billing",
"recommended",
"reset_note"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"price": {
"type": "string"
},
"covers": {
"type": "array",
"items": {
"type": "string"
}
},
"billing": {
"enum": [
"fixed",
"daily"
],
"type": "string"
},
"currency": {
"type": "string"
},
"data_label": {
"type": "string"
},
"reset_note": {
"type": "null"
},
"destination": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
},
"price_cents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"recommended": {
"type": "boolean"
},
"validity_days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}
},
"status": {
"type": "string",
"const": "not_available_yet"
},
"matched": {
"anyOf": [
{
"type": "object",
"required": [
"query",
"iso",
"destination_keys"
],
"properties": {
"iso": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"query": {
"type": "string"
},
"destination_keys": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"message": {
"type": "string",
"const": "haalaan doesn't sell eSIMs for this destination yet."
},
"support": {
"type": "string",
"const": "24/7 support"
},
"catalogue_version": {
"type": "string"
},
"available_destinations": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"name",
"scope",
"covers",
"places"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"scope": {
"enum": [
"local",
"regional",
"global"
],
"type": "string"
},
"covers": {
"type": "array",
"items": {
"type": "string"
}
},
"places": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_travel_readiness_checklist — Travel readiness checklist
What to set up before a trip to a destination. Returns only destinations with a checklist.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"destination"
],
"properties": {
"destination": {
"type": "string",
"maxLength": 64,
"minLength": 1
}
}
}{
"type": "object",
"anyOf": [
{
"type": "object",
"required": [
"status",
"destination",
"content_version",
"items",
"support"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"steps",
"action",
"source_url"
],
"properties": {
"id": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"action": {
"anyOf": [
{
"type": "object",
"required": [
"type",
"tool",
"label"
],
"properties": {
"tool": {
"type": "string"
},
"type": {
"type": "string",
"const": "tool"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"url",
"label"
],
"properties": {
"url": {
"type": "string"
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"status": {
"type": "string",
"const": "available"
},
"support": {
"type": "string",
"const": "24/7 support"
},
"destination": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
},
"content_version": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"status",
"destination",
"items",
"support"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"steps",
"action",
"source_url"
],
"properties": {
"id": {
"type": "string"
},
"steps": {
"type": "array",
"items": {
"type": "string"
}
},
"title": {
"type": "string"
},
"action": {
"anyOf": [
{
"type": "object",
"required": [
"type",
"tool",
"label"
],
"properties": {
"tool": {
"type": "string"
},
"type": {
"type": "string",
"const": "tool"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"url",
"label"
],
"properties": {
"url": {
"type": "string"
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"source_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}
},
"status": {
"type": "string",
"const": "not_available_yet"
},
"support": {
"type": "string",
"const": "24/7 support"
},
"destination": {
"type": "object",
"required": [
"query",
"iso"
],
"properties": {
"iso": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"query": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_checkout_link — Get checkout link
Use this when the traveller picks a plan. Returns a haalaan.com link; the traveller pays there. Nothing is charged here.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9-]*$",
"maxLength": 64,
"minLength": 1
}
}
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"url",
"plan",
"policy",
"support",
"expires"
],
"properties": {
"url": {
"type": "string"
},
"plan": {
"type": "object",
"required": [
"slug",
"name",
"data_label",
"destination",
"covers",
"validity_days",
"price",
"price_cents",
"currency",
"billing",
"recommended",
"reset_note"
],
"properties": {
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"price": {
"type": "string"
},
"covers": {
"type": "array",
"items": {
"type": "string"
}
},
"billing": {
"enum": [
"fixed",
"daily"
],
"type": "string"
},
"currency": {
"type": "string"
},
"data_label": {
"type": "string"
},
"reset_note": {
"type": "null"
},
"destination": {
"type": "object",
"required": [
"key",
"name"
],
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
},
"additionalProperties": false
},
"price_cents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"recommended": {
"type": "boolean"
},
"validity_days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"policy": {
"type": "object",
"required": [
"refunds"
],
"properties": {
"refunds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"expires": {
"type": "null"
},
"support": {
"type": "string",
"const": "24/7 support"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1014 ms
- 95th percentile latency
- 1014 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1014 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http haalaan-mcp https://mcp.haalaan.com/mcpCodex
codex mcp add haalaan-mcp --url https://mcp.haalaan.com/mcpCursor
{
"mcpServers": {
"haalaan-mcp": {
"url": "https://mcp.haalaan.com/mcp"
}
}
}Cline
{
"mcpServers": {
"haalaan-mcp": {
"type": "streamableHttp",
"url": "https://mcp.haalaan.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"haalaan-mcp": {
"type": "http",
"url": "https://mcp.haalaan.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http haalaan-mcp https://mcp.haalaan.com/mcpClaude Desktop
{
"mcpServers": {
"haalaan-mcp": {
"url": "https://mcp.haalaan.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"haalaan-mcp": {
"serverUrl": "https://mcp.haalaan.com/mcp"
}
}
}Let your agent find its tools
Find servers like haalaan MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other commerce servers
Do you run haalaan MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.