spot-ai-mcp
Unofficial community MCP server for the Spot AI camera / video-intelligence REST API. Not affiliated with or endorsed by Spot AI.
Single-file, stdio transport, no dependencies beyond Python 3.9+. Read-only by design: only GET endpoints are exposed, so it can browse cameras and intelligence data but can never modify anything in your Spot AI org.
Install
uvx spot-ai-mcp
or pip install spot-ai-mcp, or run straight from a checkout with
python3 -m spot_ai_mcp (no dependencies to install).
Register with Claude Code:
claude mcp add spot-ai -s user -e SPOT_AI_API_KEY=YOUR_KEY -- uvx spot-ai-mcp
API key
Create a key in the Spot AI dashboard's API settings, then add an authorization
(a role, e.g. Owner, optionally scoped) on the key's settings page. A key without a
role returns empty lists from every resource endpoint while get_camera_count still
works — that's the tell.
The server resolves the key lazily on the first API call:
SPOT_AI_API_KEYenvironment variable — the normal path.- Optionally, a secret-helper command, so the key never sits in an env var or config:
the server runs
$SPOT_AI_OP_BIN -f $SPOT_AI_OP_ITEM $SPOT_AI_OP_FIELD(defaults1psa -f spot.ai api_key, per 1psa, a vault-scoped 1Password service-account CLI). Point these at any command with the same flag convention.
The key is never written to disk or config by this server.
Tools
| Tool | What it does |
|---|---|
list_locations |
Locations the key can see (paginated) |
list_cameras |
Cameras with status, location, IP, MAC (paginated) |
get_camera |
One camera by id |
get_camera_count |
Number of enabled cameras in the org |
list_appliances |
Intelligent Video Recorders (paginated) |
get_zones |
Zones defined on a camera |
get_intelligence |
Counting / idle / presence events for people, vehicles, or forklifts over a date range |
get_lpr_report |
License-plate-recognition report for an LPR camera |
spot_api_get |
Escape hatch: GET any documented /v1/ or /v2/ path |
Notes
- Base URL is
https://dev-api.spot.ai, auth isAuthorization: Bearer <key>. - Cloudflare in front of the API rejects Python's default user agent with error 1010;
the server sends
User-Agent: spot-ai-mcp/<version>. - Endpoint index: https://developers.spot.ai/llms.txt (append
.mdto any docs URL for markdown, including the OpenAPI definition per endpoint).
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file spot_ai_mcp-0.1.0.tar.gz.
File metadata
- Download URL: spot_ai_mcp-0.1.0.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
542afec0d5c4658192ab726aad4760eac6ccdbd052b250914c759f86f5749c24
|
|
| MD5 |
8a8f5bb50306c8c3797c8d851ea0dcc7
|
|
| BLAKE2b-256 |
40d0c740802d7b9dc358f874f4d958c1596b7c7495a977e04ab84556a0c676a2
|
Provenance
The following attestation bundles were made for spot_ai_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on phil-bryant/spot-ai-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spot_ai_mcp-0.1.0.tar.gz -
Subject digest:
542afec0d5c4658192ab726aad4760eac6ccdbd052b250914c759f86f5749c24 - Sigstore transparency entry: 2623694289
- Sigstore integration time:
-
Permalink:
phil-bryant/spot-ai-mcp@1dbe8a912d3205c53eb5cb8012b6fd99556909d3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/phil-bryant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1dbe8a912d3205c53eb5cb8012b6fd99556909d3 -
Trigger Event:
release
-
Statement type:
File details
Details for the file spot_ai_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: spot_ai_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7933a5baf666c34c5880d08b87d8294dd343b8fac5185a4a09f38791d1ed669
|
|
| MD5 |
276402a4b1c2e41a93265068a74b439e
|
|
| BLAKE2b-256 |
46cb103ccd54a7a9bcfbcc11734b2cbd412d728df93bb082aec4246775639045
|
Provenance
The following attestation bundles were made for spot_ai_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on phil-bryant/spot-ai-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
spot_ai_mcp-0.1.0-py3-none-any.whl -
Subject digest:
c7933a5baf666c34c5880d08b87d8294dd343b8fac5185a4a09f38791d1ed669 - Sigstore transparency entry: 2623694471
- Sigstore integration time:
-
Permalink:
phil-bryant/spot-ai-mcp@1dbe8a912d3205c53eb5cb8012b6fd99556909d3 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/phil-bryant
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1dbe8a912d3205c53eb5cb8012b6fd99556909d3 -
Trigger Event:
release
-
Statement type: