aloha.fyi Hawaii
Read-only Hawaii MCP: 2,500+ tours, 600+ restaurants, events, weather, day itineraries, 4 islands.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http aloha-fyi-hawaii 'https://mcp.aloha.fyi/mcp'
{
"mcpServers": {
"aloha-fyi-hawaii": {
"type": "http",
"url": "https://mcp.aloha.fyi/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
aloha.fyi MCP Server 🌺
The first dedicated Hawaii tourism MCP server. Hawaii tours, events, and deals for AI assistants — now with AAAK structured-response support so consumer agents can parse results without re-parsing prose.
When someone asks Claude, ChatGPT, or any AI "what should I do in Hawaii?" — this MCP server returns real, bookable data:
- 2,500+ bookable experiences from partner booking platforms (live counts: /health)
- Live events across Oahu, Maui, Big Island, and Kauai, refreshed weekly
- 600+ curated restaurants across the islands
- Live weather for all four islands (OpenMeteo)
- Day-plan itineraries with morning / lunch / afternoon / dinner picks
- Affiliate tracking on every booking link
- Real MCP protocol — Streamable HTTP, stateless, spec version
2025-03-26 - AAAK v0.1 — typed
structuredContentenvelope alongside human-readable text. Seedocs/aaak-spec.md.
Powered by aloha.fyi — Hawaii's AI concierge.
Note on canonical source. This repository is the public-facing mirror of the production
mcp-serverdirectory insidebaphometnxg/Nani-V3. Production deploys are driven from there; this repo is kept in sync as a standalone reference for community use and for anyone who wants to self-host. File issues here or upstream — both work.
Hosted endpoint
Production MCP server (no install, no setup):
https://mcp.aloha.fyi/mcp
- Transport: Streamable HTTP (stateless)
- Protocol version:
2025-03-26 - Auth: none (public, read-only)
- Health: GET /health — returns
aaak: { protocol, enabled, allowlist_size }so deploy state is observable - Discovery: GET /.well-known/mcp/server.json
AAAK — structured response contract
By default, MCP tool results come back as a prose blob — agents that want to consume the data programmatically have to re-parse markdown to recover prices, booking URLs, islands, etc. AAAK fixes that.
When AAAK is enabled (and the calling client is on the allowlist), every tool result includes a typed structuredContent field carrying the data in machine-parseable form, and the marketing trailer is dropped from text to save tokens. When AAAK is off, the wire format is byte-equivalent to v1.0.0 — no surprises for clients that don't opt in.
Lossless invariants — preserved on every revenue-bearing row:
booking_url(affiliate revenue)source(compliance + attribution)price_cents(the only numeric field user decisions hinge on)island(every recommendation is island-scoped)
Example (search_hawaii_tours):
{
"ok": true,
"kind": "result",
"tool": "search_hawaii_tours",
"protocol": "aaak/0.1",
"query": { "query": "snorkeling", "island": "oahu", "limit": 1 },
"results": [
{
"title": "Hanauma Bay Snorkel",
"source": "viator",
"island": "oahu",
"area": "east_oahu",
"category": "tour",
"price_cents": 8900,
"rating": 4.7,
"review_count": 2341,
"description": "Guided snorkeling at Oahu's most famous reef...",
"booking_url": "https://aloha.fyi/r/aB3kT9pQz1",
"is_deal": false
}
],
"meta": { "count": 1, "cached": false, "source_diversity": 1 }
}
Full spec: docs/aaak-spec.md. Generated JSON Schema: docs/aaak.schema.json.
Verification scripts for self-hosters and contributors:
npm run aaak:test # 12 hand-written conformance fixtures
npm run aaak:smoke # 9 adapter-output validations
npm run aaak:gate # ~70 env-gate / trailer / allowlist invariants
npm run aaak:verify -- --expect=aaak --ua=claude-code/1.0 # live probe
Connect to Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"aloha-fyi-hawaii": {
"url": "https://mcp.aloha.fyi/mcp"
}
}
}
Restart Claude Desktop. You should see the six Hawaii tools appear in the tool picker. Try:
Find me snorkeling tours in Oahu under $100
What events are happening in Honolulu this weekend?
Plan a family adventure day on the Big Island — cheapest options
Connect to any MCP-compatible client
Any client that supports Streamable HTTP MCP can point directly at:
https://mcp.aloha.fyi/mcp
No API key, no OAuth, no signup.
Manual protocol test
curl -X POST https://mcp.aloha.fyi/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'
Tools
search_hawaii_tours
Search 2,500+ bookable Hawaii tours and activities by keyword, island, price range. Returns tours with booking links; filter by platform via source.
| Param | Type | Description | ||||
|---|---|---|---|---|---|---|
query | string (required) | e.g. "snorkeling", "helicopter tour", "family luau" | ||||
island | oahu \ | maui \ | big_island \ | kauai \ | any | Defaults to any |
max_price_dollars | number | Maximum price per person in USD | ||||
source | viator \ | gyg \ | klook \ | groupon \ | any | Filter by booking platform |
limit | number | Results (max 20, default 5) |
get_hawaii_deals
Find budget deals and discounts. Returns discounted and low-price options sorted cheapest first.
| Param | Type | Description |
|---|---|---|
activity | string (required) | e.g. "snorkeling", "helicopter", "luau" |
max_price_dollars | number | Default 100 |
limit | number | Results (max 20, default 5) |
search_hawaii_events
Find upcoming events, concerts, festivals, and nightlife across all Hawaiian islands. Updated weekly from venue and promoter sources.
| Param | Type | Description | ||||
|---|---|---|---|---|---|---|
query | string | e.g. "live music", "luau", "concert" | ||||
island | oahu \ | maui \ | big_island \ | kauai \ | any | Defaults to any |
days_ahead | number | How many days ahead to search (default 7) |
Run it yourself
git clone https://github.com/baphometnxg/aloha-fyi-mcp.git
cd aloha-fyi-mcp
npm install
npx tsc
DATABASE_URL="postgresql://..." PORT=9624 node dist/http.js
Requires:
- Node.js 20+
DATABASE_URLenv var (PostgreSQL with anexperiencestable — schema inschema.sql)
Privacy
No PII is collected by the MCP server. Stateless mode — no sessions, no cross-request profiles. Standard request metadata is logged for abuse prevention only.
Full privacy policy: aloha.fyi/privacy
About
Built by Michael Crain — Hawaii resident, cinematographer, and founder of aloha.fyi.
aloha.fyi is an AI-powered multilingual tourism concierge for Hawaii's visitor industry. The concierge agent "Nani" speaks 5 languages (English, Japanese, Korean, Chinese, Spanish) and has access to 2,500+ bookable experiences across multiple partner platforms.
This MCP server exposes a subset of that capability to any AI assistant that speaks the Model Context Protocol.
- Website: https://aloha.fyi
- Contact: alohatours@proton.me
- License: MIT
Built with aloha. Powered by AI. Rooted in Hawaiian culture. 🌺
Frequently asked questions
What is aloha.fyi Hawaii?
Read-only Hawaii MCP: 2,500+ tours, 600+ restaurants, events, weather, day itineraries, 4 islands.
How do I install aloha.fyi Hawaii?
It runs as a remote server. In Claude Code: claude mcp add --transport http aloha-fyi-hawaii 'https://mcp.aloha.fyi/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does aloha.fyi Hawaii need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is aloha.fyi Hawaii open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains aloha.fyi Hawaii?
It is published by baphometnxg. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.