About Luxxon
Luxxon combines a TypeScript SDK and MCP server for agents that need live visual data from real-world locations. It provides JPEG frames and session controls for existing sessions; session creation is not yet supported by the SDK or MCP server.
Key features
- 01Retrieve JPEG frames from sessions
- 02Check live session state
- 03Cancel sessions early
- 04TypeScript HTTP SDK using fetch
Use cases
- 01Provide a vision model with a session frame
- 02Check whether a live session is active
- 03Stop an existing session early
MCP support
Exposes tools to retrieve a session frame, inspect session state, and cancel a session. Sessions must currently be created through the REST API.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
12Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| lat | number | Yes | WGS84 latitude of the point to observe (decimal degrees) |
| lng | number | Yes | WGS84 longitude of the point to observe (decimal degrees) |
| maxDurationSeconds | number | Yes | Upper bound on session length, in seconds. The meter stops at /end or this duration, whichever is first. |
| quoteId | string | No | Optional quoteId from get_pricing_quote to lock the rate. Without it, the spot rate at create-time is used. |
| timeoutMs | number | No | Max time to wait for the operator to go LIVE (ms). Default 30000. If the operator hasn't gone LIVE by then, returns the sessionId + current state instead of erroring — use wait_for_live to keep waiting or cancel_session to give up. |
Details
From the project READMELuxxon — TypeScript SDK + MCP server
Programmable vision for AI agents. Request live video or single frames from real-world locations, settled on-chain in USDC.
This repo contains:
| Package | Purpose |
|---|---|
packages/sdk | TypeScript HTTP client for the Luxxon API. Pure fetch, no native deps. |
packages/mcp | MCP server exposing Luxxon as agent-callable tools (stdio transport, works with Claude Desktop / Cursor / any MCP client). |
examples/ | Runnable agent examples — copy, paste, run. |
API: docs.luxxon.dev — https://api.luxxon.dev/api/v1.
Why an MCP server
Agents have fetch(), not <video> tags. The MCP server turns Luxxon
into a set of tools any MCP-aware agent can call directly:
get_frame(sessionId)→ JPEG bytes ready for a vision modelget_session(sessionId)→ current state of a live sessioncancel_session(sessionId)→ early termination
Drop the server into your Claude Desktop config and your agent can see the world.
Quickstart — TypeScript SDK
import { Luxxon } from "@luxxon/sdk";
const lx = new Luxxon({ apiKey: process.env.LUXXON_API_KEY });
// Read the latest frame from a LIVE session (returns a Buffer).
const jpeg = await lx.sessions.frame("sess_abc123");
Quickstart — MCP server
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"luxxon": {
"command": "npx",
"args": ["-y", "--package=@luxxon/mcp", "luxxon-mcp"],
"env": { "LUXXON_API_KEY": "lxxn_live_..." }
}
}
}
Restart Claude Desktop; the three tools appear under "Luxxon".
Status
v0, building in public. The SDK + MCP cover the agent-read surface today (frames, session state, cancel). Session creation lands behind a custodial-wallet sign path that's still being built on the API side — for now you create sessions yourself via the REST API and use this SDK/MCP to consume them.
Public dev console + Python/Go/CLI SDKs follow. Watch this repo.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.