Skip to main content
Glama
README.md
# 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

A3.9/5.0

Scored across 6 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues