Local read-only MCP server for the SpatialFlow API
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"spatialflow-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# spatialflow-mcp A local, read-only [MCP](https://modelcontextprotocol.io) server for SpatialFlow. It lets an AI assistant such as Claude Desktop, Claude Code or Cursor answer questions about your own workspace: where devices are, which geofences they entered, how long trucks sat at a facility, and how workflows ran. It talks to the public SpatialFlow API with your API key and runs on your machine over stdio. It only issues `GET` requests. There are no tools that create, change or delete anything. ## Run You need [uv](https://docs.astral.sh/uv/). `uvx` fetches the package from PyPI and runs it on Python 3.10 or newer. ```bash SPATIALFLOW_API_KEY=<your-api-key> uvx spatialflow-mcp ``` `pip install spatialflow-mcp` works too and puts a `spatialflow-mcp` command on your path. | Variable | Required | Default | |----------|----------|---------| | `SPATIALFLOW_API_KEY` | yes | none | | `SPATIALFLOW_API_URL` | no | `https://api.spatialflow.io` | Logs go to stderr. The API key is never logged or returned in tool output. ## Create a read-only key In the dashboard, open Settings, API Keys, then Create API Key. Turn on **Read-only mode** so the API rejects anything but `GET` for this key, even if a bug or a prompt injection asked for more. Give it only the permissions below. Set an expiry if you can. The key acts inside the workspace it was created in. | Tool | Key permission | |------|----------------| | `list_devices`, `get_device`, `get_recent_locations`, `list_geofence_events`, `detention_report`, `fleet_report` | `devices:read` | | `list_geofences` | `geofences:read` | | `list_workflows`, `list_workflow_executions` | `workflows:read`, and the key's owner must be a workspace owner or manager | A tool whose permission the key lacks returns a short permission error; the others still work. ## Claude Desktop Add this to `claude_desktop_config.json` and restart Claude Desktop: ```json { "mcpServers": { "spatialflow": { "command": "uvx", "args"…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.