MCP (Model Context Protocol) server that exposes WAVE streaming APIs as tools for AI coding assistants (Claude Code, Cursor, Windsurf).
This README is machine-generated from WAVE's grounded Single Source of Truth — every factual claim below traces to a resolver that
npm run verifychecks against the live repo and live endpoints. Nothing here is asserted without a receipt.
npx @wave-av/mcp-server{
"mcpServers": {
"wave": {
"command": "npx",
"args": ["-y", "@wave-av/mcp-server"],
"env": {
"WAVE_API_KEY": "wave_live_..."
}
}
}
}# Via CLI
wave auth login
# Or create at https://wave.online/settings/api-keysAdd to your .mcp.json (Claude Code, Cursor, Windsurf, etc.) — see the Quick start config above.
| Tool | Description |
|---|---|
wave_list_streams |
List all streams with pagination and status filtering |
wave_create_stream |
Create a new stream with protocol and privacy options |
wave_start_stream |
Start streaming on an existing stream |
wave_stop_stream |
Stop an active stream |
wave_get_stream_health |
Get real-time health metrics for a stream |
| Tool | Description |
|---|---|
wave_list_productions |
List studio production sessions |
wave_create_production |
Create a new multi-camera production |
| Tool | Description |
|---|---|
wave_get_viewers |
Get current viewer count and breakdown |
wave_get_stream_metrics |
Get detailed stream performance metrics |
| Tool | Description |
|---|---|
wave_get_subscription |
Get current subscription plan and status |
wave_get_usage |
Get current period usage and limits |
Access WAVE entities directly via the wave:// URI scheme:
wave://streams/{id}- Stream configuration and statuswave://productions/{id}- Studio production details
| Variable | Required | Default | Description |
|---|---|---|---|
WAVE_API_KEY |
Yes | - | Your WAVE API key |
WAVE_BASE_URL |
No | https://wave.online |
API base URL |
For consumers already running inside a Claude Agent SDK
session, the same tools are available in-process — skipping the stdio subprocess
hop (~50 ms vs ~500 ms cold start). The tool list is shared with the stdio
server (src/tools/index.ts), so the two transports never drift.
@anthropic-ai/claude-agent-sdk is an optional peer dependency: stdio users
never need it. Install it only for this mode:
npm install @wave-av/mcp-server @anthropic-ai/claude-agent-sdkimport { query } from "@anthropic-ai/claude-agent-sdk";
import { createWaveSdkMcpServer } from "@wave-av/mcp-server/sdk-server";
const wave = await createWaveSdkMcpServer();
for await (const message of query({
prompt: "List my active streams",
options: { mcpServers: { wave }, env: { WAVE_API_KEY: process.env.WAVE_API_KEY } },
})) {
// handle messages
}Add to .cursor/mcp.json:
{
"mcpServers": {
"wave": {
"command": "npx",
"args": ["-y", "@wave-av/mcp-server"],
"env": { "WAVE_API_KEY": "wave_live_..." }
}
}
}Add to Windsurf MCP settings with the same configuration.
Verify your API key is set:
echo $WAVE_API_KEYRestart your AI tool after adding the MCP configuration. Most tools require a restart to detect new MCP servers.
The MCP server uses stdio transport (no network listener). If you see connection errors, check that npx can run successfully:
npx @wave-av/mcp-server --versionSend a JSON-RPC initialize request to verify:
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | npx @wave-av/mcp-server- @wave-av/sdk — TypeScript SDK (34 API modules)
- @wave-av/adk — Agent Developer Kit
- @wave-av/cli — Command-line interface
- @wave-av/create-app — Scaffold a new project
- OpenAPI spec — Full API specification
cd packages/mcp-server
pnpm install
pnpm run build
pnpm run dev # Watch mode
pnpm run type-checkMIT
Exposes the MCP tool wave-mcp-server over stdio.
Every claim below is checked by npm run verify against the live repo or endpoint — a non-pass verdict fails the gate.
| Claim | How it's verified |
|---|---|
| Documentation surface is docs.wave.online/mcp | resolved by grepping package.json |
| Published npm package name is @wave-av/mcp-server | resolved by grepping package.json |
| wave_control_camera tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| Exposes 18 MCP tools | resolved by grepping capabilities.json |
| wave_create_clip tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_create_production tool defined in src/tools/studio.ts | resolved by grepping src/tools/studio.ts |
| wave_create_stream tool defined in src/tools/streams.ts | resolved by grepping src/tools/streams.ts |
| wave_get_viewers tool defined in src/tools/analytics.ts | resolved by grepping src/tools/analytics.ts |
| wave_list_productions tool defined in src/tools/studio.ts | resolved by grepping src/tools/studio.ts |
| wave_list_streams tool defined in src/tools/streams.ts | resolved by grepping src/tools/streams.ts |
| wave_mark_highlight tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_moderate_chat tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_show_graphic tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_start_captions tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_start_stream tool defined in src/tools/streams.ts | resolved by grepping src/tools/streams.ts |
| wave_stop_stream tool defined in src/tools/streams.ts | resolved by grepping src/tools/streams.ts |
| wave_get_stream_health tool defined in src/tools/streams.ts | resolved by grepping src/tools/streams.ts |
| wave_get_stream_metrics tool defined in src/tools/analytics.ts | resolved by grepping src/tools/analytics.ts |
| wave_get_subscription tool defined in src/tools/billing.ts | resolved by grepping src/tools/billing.ts |
| wave_switch_camera tool defined in src/tools/production.ts | resolved by grepping src/tools/production.ts |
| wave_get_usage tool defined in src/tools/billing.ts | resolved by grepping src/tools/billing.ts |
| Server connects via stdio transport (no network listener) | resolved by grepping src/server.ts |
wave · mcp · model-context-protocol · ai · streaming · tools
Built by WAVE Online, LLC · wave.online · Docs · LinkedIn