MCP.so
Sign In

Luxxon

@daniel-underpass

About Luxxon

On-demand live vision for AI agents. Open a session at a lat/lng, receive a JPEG snapshot or WebRTC stream, settle per-second in USDC on Base. The agent-first way to give an LLM eyes on the physical world.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "luxxon": {
      "command": "npx",
      "args": [
        "-y",
        "--package=@luxxon/mcp",
        "luxxon-mcp"
      ],
      "env": {
        "LUXXON_API_KEY": "<YOUR_LUXXON_API_KEY>"
      }
    }
  }
}

Tools

12

Open a Luxxon session at a lat/lng, push-dispatch the longest-idle operator in range, and wait for the operator to go LIVE. Returns the sessionId either way: if LIVE within timeoutMs, the response includes whepUrl + a hint to call get_frame; if still ASSIGNED/REQUESTED after timeoutMs, the response includes the sessionId + current state + a hint to call wait_for_live or cancel_session. Only NO_COVERAGE (no operator in range at dispatch time) errors hard. Charges the workspace's pool per second of LIVE time at session end.

Continue waiting on an existing session (REQUESTED or ASSIGNED) until it reaches LIVE. Use this after request_live_view returned with state≠LIVE, or after re-discovering a sessionId via list_sessions. Returns whepUrl on success. If the operator still hasn't gone LIVE within timeoutMs, returns the current state + sessionId so you can call again or cancel_session.

List sessions in the caller's workspace, newest first. Useful for recovering a sessionId when a previous request_live_view returned without one, or for auditing recent activity. Filter client-side by state (REQUESTED, ASSIGNED, LIVE, ENDED, EXPIRED, CANCELLED).

Read the current state of a Luxxon session (REQUESTED, ASSIGNED, LIVE, ENDED, etc.) plus meter fields (cleanSeconds, chargedMicroUsdc, settlementTxHash).

Fetch the latest decoded video frame from a LIVE Luxxon session as a JPEG image. Hand the returned image straight to a vision model. Returns FRAME_NOT_AVAILABLE for ~3-5s after a session goes LIVE while the first keyframe arrives — retry if you hit that.

Return a WHEP playback URL for a LIVE session. For agents with their own WebRTC stack; most agents should prefer get_frame instead.

End a LIVE Luxxon session. Closes the meter; computes cleanSeconds; the relayer settles on-chain shortly after. For pre-LIVE sessions use cancel_session instead.

Cancel a pre-LIVE Luxxon session (REQUESTED or ASSIGNED). For LIVE sessions use end_session — this one will error with INVALID_STATE.

Get a price quote for a session at a lat/lng + duration. Returns a quoteId, rate per second, and an estimated total — all in µUSDC (1 USDC = 1,000,000 µUSDC). Optional input for request_live_view to lock the rate.

Public list of live operator coverage circles (centroid + radius + device kind). Anonymized — no operator ids. Useful as a pre-flight check before request_live_view.

Workspace pool balance + last on-chain sync block. Use to decide whether to top up before a session.

On-chain settlement state + tx hash for a session after end_session. State machine: NOT_READY → PENDING → SUBMITTED → CONFIRMED. txHash is set once SUBMITTED.

Overview

What is Luxxon?

Luxxon is an MCP server that provides on-demand live video from anywhere on Earth for AI agents. Agents open a session at a latitude/longitude, a human operator (or future drone/PTZ camera) attaches a video publisher via WHIP, and the agent receives a JPEG snapshot or a WebRTC subscriber URL. Every chargeable second settles on-chain in USDC on Base (currently Base Sepolia testnet).

How to use Luxxon?

Install the server in any MCP-compatible host (Claude Desktop, Cursor, Claude Code, Cline, etc.) by adding the JSON configuration with the npx command and your LUXXON_API_KEY environment variable. Use the tools to request a live view, get a snapshot, or subscribe to a stream. Currently, the consumer wallet must sign per-session via the console; a request_live_view tool will ship later.

Key features of Luxxon

  • On-demand live video from any global location.
  • Get a JPEG snapshot (get_frame) or a WebRTC stream URL (get_stream_url).
  • Per-second billing settled on-chain in USDC on Base.
  • Read-oriented tool surface: get_session, get_frame, get_stream_url, cancel_session.
  • Uses WHIP/WHEP protocols for publisher/subscriber connections.
  • Non-custodial, EIP-712-authorized metered payments.

Use cases of Luxxon

  • Verify a claim by having an agent view a location in real time.
  • Score a property by visually inspecting it through a live operator.
  • Watch a corridor for security or monitoring purposes.
  • Inspect a construction or remote site for status updates.

FAQ from Luxxon

What is Luxxon and what problem does it solve?

Luxxon is a public API that gives AI agents live video from anywhere on Earth, eliminating the need to build a custom vision stack. It combines a marketplace of human and machine operators with per-second, non-custodial on-chain settlement.

How do I install the Luxxon MCP server?

Add the following JSON to your MCP host's configuration:

{
  "mcpServers": {
    "luxxon": {
      "command": "npx",
      "args": ["-y", "--package=@luxxon/mcp", "luxxon-mcp"],
      "env": { "LUXXON_API_KEY": "<YOUR_LUXXON_API_KEY>" }
    }
  }
}

Get an API key from console.luxxon.dev by connecting a wallet, creating a workspace, and minting a key on the test environment.

What tools does Luxxon offer?

The server provides get_session (read session state), get_frame (JPEG snapshot), get_stream_url (WHEP WebRTC URL), and cancel_session (cancel a pre-LIVE session).

How does billing work?

Every chargeable second of a live video session is settled on-chain in USDC on Base. Currently the system runs on Base Sepolia testnet; mainnet will launch when the platform announces readiness.

Is Luxxon production-ready?

The server is in alpha on testnet. The wire protocol is stable, but the MCP tool surface is read-oriented today. A request_live_view tool (allowing

Frequently asked questions

What is Luxxon and what problem does it solve?

Luxxon is a public API that gives AI agents live video from anywhere on Earth, eliminating the need to build a custom vision stack. It combines a marketplace of human and machine operators with per-second, non-custodial on-chain settlement.

How do I install the Luxxon MCP server?

Add the following JSON to your MCP host's configuration: ```json { "mcpServers": { "luxxon": { "command": "npx", "args": ["-y", "--package=@luxxon/mcp", "luxxon-mcp"], "env": { "LUXXON_API_KEY": "<YOUR_LUXXON_API_KEY>" } } } } ``` Get an API key from [console.luxxon.dev](https://console.luxxon.dev) by connecting a wallet, creating a workspace, and minting a key on the test environment.

What tools does Luxxon offer?

The server provides `get_session` (read session state), `get_frame` (JPEG snapshot), `get_stream_url` (WHEP WebRTC URL), and `cancel_session` (cancel a pre-LIVE session).

How does billing work?

Every chargeable second of a live video session is settled on-chain in USDC on Base. Currently the system runs on Base Sepolia testnet; mainnet will launch when the platform announces readiness.

Is Luxxon production-ready?

The server is in alpha on testnet. The wire protocol is stable, but the MCP tool surface is read-oriented today. A `request_live_view` tool (allowing

Comments

More Developer Tools MCP servers