arnfa-mcp
# arnfa-mcp
MCP server for **[Arnfa](https://arnfa.vercel.app)** — weather-aware trip planning across Thailand. Lets any AI agent read the Thai sky and plan a weather-fit day in 150+ areas (Bangkok neighbourhoods & districts, all 76 province cities, tourist hotspots).
Reads Arnfa's open API — **no key, no fabrication** (real forecast or an honest error).
## Tools
- `arnfa_list_areas(query?, tier?)` — find a valid area key (search by Thai/English name).
- `arnfa_plan_day(area, budget?, day?)` — an ordered, weather-fit itinerary; `day` 0–6 plans ahead.
- `arnfa_sky_now(area)` — current sky + a go-out verdict for one area.
- `arnfa_where(day?)` — rank WHERE the sky is clearest across Thailand ("ไปไหนดี").
- `arnfa_cooling_centers(lat, lng, n?)` — nearest official Bangkok cooling refuges (ห้องหลบร้อน) for dangerous heat / PM2.5.
- `arnfa_ask(message, prior?)` — ask in natural Thai/English; the grounded engine reads the real sky and narrates a plan. Pass back the previous reply's `intent` as `prior` to refine (multi-turn).
## Quickstart
```bash
npx arnfa-mcp # runs the stdio MCP server, no install
```
Wire into a client (e.g. Claude Code `.mcp.json`):
```json
{ "mcpServers": { "arnfa": { "command": "npx", "args": ["-y", "arnfa-mcp"] } } }
```
## From source
```bash
npm install && npm run build
node dist/index.js # stdio MCP server
ARNFA_BASE=http://localhost:3248 npm run smoke # quick check against a deployment
```
`ARNFA_BASE` (default `https://arnfa.vercel.app`) points the tools at any Arnfa deployment.
MIT.
TDQS
Scored across 6 tools
Most tools have clearly distinct purposes, but arnfa_plan_day and arnfa_ask both produce weather-fit plans, which could cause confusion. However, the descriptions clarify that one is a direct structured planner and the other is an AI-narrated follow-up, so the overlap is manageable.
While all tools share the 'arnfa_' prefix, the naming conventions vary: 'list_areas' and 'plan_day' use verb_noun, but 'sky_now' uses noun_adverb, 'where' is just an adverb, 'cooling_centers' is a noun phrase, and 'ask' is a bare verb. This mixed style is readable but lacks a consistent pattern.
With 6 tools covering area discovery, planning, current sky, location ranking, emergency cooling centers, and natural language queries, the count is well-scoped for the intended functionality. Each tool earns its place without unnecessary bloat or sparseness.
The tool surface covers core workflows: finding areas, planning a day, checking current conditions, choosing the clearest location, and getting emergency centers. The only minor gap is the lack of a direct multi-day forecast tool, but agents can work around it by using plan_day for specific dates.