Skip to main content

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: it can browse cameras and intelligence data but can never modify anything in your Spot AI org. Every tool wraps a GET endpoint except get_live_stream_urls, which wraps POST /v1/cameras/live — a read-like POST that only generates a viewing URL. All tools declare the readOnlyHint: true MCP annotation.

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:

  1. SPOT_AI_API_KEY environment variable — the normal path.
  2. 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 (defaults 1psa -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
get_live_stream_urls Live-stream viewing URL for up to 4 cameras
spot_api_get Escape hatch: GET any documented /v1/ or /v2/ path

Notes

  • Dual-era MCP server: speaks both the modern per-request protocol (server/discover, spec 2026-07-28) and the legacy initialize handshake (2024-11-05 through 2025-06-18), so old and new clients both work.
  • Base URL is https://dev-api.spot.ai, auth is Authorization: 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 .md to any docs URL for markdown, including the OpenAPI definition per endpoint).

License

MIT

Metadata

Release files for spot-ai-mcp 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spot-ai-mcp 0.3.0
File Size Uploaded
spot_ai_mcp-0.3.0.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spot-ai-mcp 0.3.0
File Interpreter ABI Platform
spot_ai_mcp-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.8 kB

Release files / spot_ai_mcp-0.3.0.tar.gz

Download URL spot_ai_mcp-0.3.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
1e18f45332ad73172d5edbb37dcebc94ee352912fbdae1c6f4fdce65f239fba4
BLAKE2b-256 checksum
How to use checksums
1ea256b53094ecd90aa72f4df4827d4bb3135e2eab8de8e684004059f099008d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release files / spot_ai_mcp-0.3.0-py3-none-any.whl

Download URL spot_ai_mcp-0.3.0-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9103b599d7212dbcae75781ff5d20a7cbd032e491ae5543af8c840ecab075d1a
BLAKE2b-256 checksum
How to use checksums
9c00fc1244a7a06fe86599c0e2754bda4427df84500dd0e863d7913ad319ac25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page