Dawarich MCP
# Dawarich MCP
Minimal read-only MCP server for loading information from a Dawarich instance.
## Tools
- `dawarich_get_stats` -> `GET /api/v1/stats`
- `dawarich_get_timeline` -> `GET /api/v1/timeline`
- `dawarich_list_visits` -> `GET /api/v1/visits`
- `dawarich_list_points` -> `GET /api/v1/points`
- `dawarich_get_track_points` -> `GET /api/v1/tracks/:track_id/points`
- `dawarich_get_track_detail` -> compact detail for one journey
- `dawarich_export_track` -> one journey as summary, JSON, GeoJSON, or CSV
- `dawarich_reverse_geocode` -> GPS coordinates to address via reverse geocoder
- `dawarich_summarize_journeys` -> simple from-to trip table for a date range
## Setup
```powershell
npm install
$env:DAWARICH_URL="https://your-dawarich.example.com"
$env:DAWARICH_API_KEY="replace-with-your-api-key"
npm start
```
By default the API key is sent as `?api_key=...`, matching Dawarich docs.
If your instance expects bearer auth, set:
```powershell
$env:DAWARICH_AUTH_MODE="bearer"
```
Reverse geocoding defaults to OpenStreetMap Nominatim. For regular use, set a
clear user agent:
```powershell
$env:DAWARICH_GEOCODER_USER_AGENT="dawarich-mcp/0.3.0 contact=you@example.com"
```
You can also point it at another compatible reverse geocoder:
```powershell
$env:DAWARICH_GEOCODER_URL="https://your-geocoder.example.com/reverse"
```
## Example Prompts
```text
Nacti detail cesty 12725 a rekni mi start, cil a kolik mela bodu.
```
```text
Exportuj cestu 12725 jako GeoJSON.
```
```text
Geolokuj souradnice 49.7281335, 13.3269319.
```
```text
Vypis moje pracovni cesty za minuly tyden jako jednoduchou tabulku:
pondeli Chudenice -> Plzen, utery Chudenice -> Rybitvi.
Pouzij dawarich_summarize_journeys s weekdays_only=true, modes=["driving"] a include_markdown=true.
```
## Add To Codex
From this folder:
```powershell
codex mcp add dawarich `
--env DAWARICH_URL="https://your-dawarich.example.com" `
--env DAWARICH_API_KEY="replace-with-your-api-key" `
-- node C:\Users\zilvar\Documents\Codex\2026-08-06\najd\outputs\dawarich-mcp\src\server.js
```
Then restart Codex or the ChatGPT desktop app. Use `/mcp` to confirm the server is connected.
## Test With Inspector
```powershell
npm run inspect
```
## Notes
This server intentionally exposes read-only tools only. Add write tools, such as visit updates or merges, only after confirming the read flow works and you are comfortable letting an assistant modify location-history data.
TDQS
Scored across 9 tools
Each tool targets a distinct data type or operation: stats aggregates, timeline summarizes days, visits identifies places, track points and list points differ by scope, track detail is a compact overview, export transforms, reverse geocode converts coordinates, and summarize_journeys creates a trip table. Even the two point-related tools are clearly separated by whether they target a specific track or a date range.
All tools follow the consistent pattern dawarich_<verb>_<noun>. Verbs are either get, list, export, reverse, or summarize, making the action easy to predict. No camelCase or mixed conventions are present.
With 9 tools, the server is well-scoped for a location history integration. Each tool covers a meaningful query or export need without unnecessary redundancy or bloat.
The server covers the main read-side workflows: overview stats, timelines, visits, raw points, track details, export in multiple formats, geocoding, and journey summaries. A minor gap is the lack of a direct photo retrieval tool despite timeline mentioning photos, and no write operations, but that appears outside the intended read-only scope.