# Asmaliana developer documentation

## Service identity

Asmaliana exposes evidence-aware Melaka place facts and deterministic, single-day itinerary checks. This build is configured for the reviewed verified-data publication path.

## Protocols

- REST API: `/api/v1/`
- OpenAPI 3.1: `/openapi.json` and `/openapi.yaml`
- Remote MCP Streamable HTTP: `/mcp`
- Human quickstart: `/developers`

## Tools

- [search_melaka_places](./tools/search_melaka_places.md)
- [get_melaka_place_facts](./tools/get_melaka_place_facts.md)
- [check_melaka_visit_window](./tools/check_melaka_visit_window.md)
- [get_melaka_weather_advisory](./tools/get_melaka_weather_advisory.md)
- [plan_melaka_day](./tools/plan_melaka_day.md)
- [validate_melaka_itinerary](./tools/validate_melaka_itinerary.md)

## Shared semantics

- `success: true` means the calculation completed, not that a visit is guaranteed.
- Evidence gaps produce HTTP 200 with `assessment: needs_verification`.
- Malformed, unauthorized, out-of-range, rate-limited, and provider errors use real HTTP status codes.
- POST computations are private/no-store and itineraries are not persisted.
- Request limit: 64 KiB. Response limit: 128 KiB. Single-day maximum: 8 stops.
