owntracks-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OWNTRACKS_URL | Yes | Base URL of the Recorder, e.g. http://localhost:8083 or https://example.com/owntracks (without /api/0). | |
| OWNTRACKS_HOME | No | lat,lon of home, for "how far from home". | |
| OWNTRACKS_TIMEOUT | No | HTTP timeout in seconds. | 15 |
| OWNTRACKS_PASSWORD | No | HTTP basic auth password, if a reverse proxy sits in front. | |
| OWNTRACKS_TIMEZONE | No | Timezone, e.g. Europe/Berlin. Defaults to the system time zone. | |
| OWNTRACKS_USERNAME | No | HTTP basic auth username, if a reverse proxy sits in front. | |
| OWNTRACKS_VERIFY_SSL | No | Whether to verify SSL: true (default), false, or the path to a CA bundle. | true |
| OWNTRACKS_DEFAULT_USER | No | Who "I" / me is. | |
| OWNTRACKS_DEFAULT_DEVICE | No | Default device of that user. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| owntracks_statusA | Check the connection to the OwnTracks Recorder and show the active configuration (no secrets). |
| list_devicesA | List all OwnTracks users and their devices known to the Recorder. |
| get_last_locationA | Current (most recent) position of a user/device, or of everyone if no user is given. Returns coordinates, time and age of the fix, address (if the Recorder geocodes), regions the device is in, accuracy, speed, battery and a map link. Always mention how old the position is. |
| get_location_historyA | Route/track of a device in a time range, with distance travelled and places where it stayed. Use the 'stays' list to answer "where was X" questions and 'points' for the route. Times are in the configured local time zone. |
| get_distanceB | Straight-line distance from the latest position(s) to a point (or to the configured home). |
| reverse_geocodeA | Look up an address for coordinates in the Recorder's geocache (only already-seen places). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: connectivity/config, device listing, current location, distance calculation, historical route, and reverse geocoding. There is no meaningful overlap between any pair of tools.
Five of six tools follow a consistent verb_noun pattern (list_devices, get_last_location, get_distance, get_location_history, reverse_geocode). The odd one out, owntracks_status, breaks the pattern but remains unambiguous.
Six tools is well-scoped for a read-only location tracking server. Each tool earns its place and the set is neither thin nor bloated.
The core read operations are covered: status, device listing, current location, history, distance, and reverse geocoding. Minor gaps exist—reverse_geocode only works with cached places, and there is no tool for arbitrary geocoding or device management—but these may be outside the server's intended scope.