Developer quickstart

Use the same rules through REST or MCP.

Six read-only tools return explicit evidence, unknowns, revisions, and assumptions. Published responses identify their reviewed dataset revision and evaluation scope.

REST quickstart

curl --get https://asmaliana.com/api/v1/places \
  --data-urlencode "query=lantern" \
  --data-urlencode "locale=en"

Public facts use 1 credit. Visit-window checks use 2, itinerary validation 3, and planning 5. The current anonymous quota is 30 credits per UTC day.

Remote MCP

{
  "mcpServers": {
    "asmaliana": {
      "type": "streamable-http",
      "url": "https://asmaliana.com/mcp"
    }
  }
}

The endpoint implements Streamable HTTP with the official TypeScript SDK. It is stateless and read-only. A dedicated D1 binding provides scoped API-key lookup and atomic quota accounting; no public key is issued by default. OAuth is not advertised or implemented.

Machine-readable contracts

Capabilities

read-only

search_melaka_places

Search covered Melaka demo or verified place facts with deterministic filters and evidence-aware matching. Use it to discover stable place IDs. Do not treat missing evidence as a passed hard constraint or use it for live inventory.

GET /api/v1/places · 1 credit

read-only

get_melaka_place_facts

Retrieve rights-filtered facts, field evidence, schedules, offers, services, facilities, and revisions for one covered place ID. Do not use it to confirm live operation, ticket inventory, or a booking.

GET /api/v1/places/{place_id} · 1 credit

read-only

check_melaka_visit_window

Check whether an arrival and duration fit published schedules, exceptions, last entry, and known service status. Use before finalizing an itinerary. This is not a real-time opening, inventory, or booking confirmation.

POST /api/v1/visit-window/check · 2 credits

read-only

get_melaka_weather_advisory

Return the configured Melaka-area weather advisory state, forecast coverage, spatial granularity, validity, and evidence. Do not interpret area forecasts as venue conditions or absence of warnings as safety.

GET /api/v1/weather/advisory · 1 credit

read-only

plan_melaka_day

Build a deterministic single-day candidate itinerary of at most eight stops from covered facts and explicit route assumptions. Use for a practical draft. It does not promise a globally optimal route or live availability.

POST /api/v1/itineraries/plan · 5 credits

read-only

validate_melaka_itinerary

Validate up to eight structured stops against published windows, services, costs, constraints, and supplied transport estimates. Use for an existing itinerary. Free-text parsing, booking, and live operation checks are not supported.

POST /api/v1/itineraries/validate · 3 credits

Important semantics