Skip to content

MCP Reference

FrameWorks exposes an MCP (Model Context Protocol) server for AI agent integration. Connect your AI tools to create streams, manage recordings, check billing, and query analytics.

https://bridge.frameworks.network/mcp

Discovery metadata: /.well-known/mcp.json

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
"mcpServers": {
"frameworks": {
"url": "https://bridge.frameworks.network/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}

Restart Claude Desktop after saving.

Terminal window
claude mcp add frameworks https://bridge.frameworks.network/mcp

Any MCP-compatible client can connect using the endpoint URL and authentication headers. See Wallet Auth for headless agent auth or use a bearer token.

Read-only data sources for account, billing, streams, analytics, infrastructure, support, and API discovery.

URIDescription
account://statusAccount status, blockers, and capabilities
billing://balancePrepaid balance, drain rate, estimated hours left
billing://pricingCurrent pricing rates
billing://transactionsRecent balance transactions
streams://listList all streams
streams://{id}Stream details (relay ID or stream_id)
streams://{id}/healthStream health metrics
vod://listList all VOD assets
vod://{artifact_hash}VOD asset details (relay ID or artifact hash)
analytics://usageCurrent billing period usage
analytics://viewersViewer metrics (last 24h)
analytics://geographicGeographic viewer distribution
analytics://routingRouting efficiency and cross-cluster traffic
analytics://federationFederation operations summary
analytics://network-topologyCluster topology and peer connectivity
nodes://listInfrastructure nodes
nodes://{id}Node details
clusters://listSubscribed clusters
clusters://{id}Cluster details (capacity, pricing, status)
clusters://marketplaceAvailable clusters for subscription
support://conversationsSupport conversation list
support://conversations/{conversation_id}Support conversation details
knowledge://sourcesCurated documentation sources for video streaming
schema://catalogCurated GraphQL catalog (schema + templates)

Public resources (no auth required): account://status, billing://pricing, clusters://marketplace.

Always read this first. Returns:

{
"account_ready": true,
"blockers": [],
"capabilities": {
"create_stream": true,
"create_clip": true,
"read_analytics": true
},
"billing": {
"model": "prepaid",
"balance_cents": 5000,
"details_complete": true,
"low_balance_warning": false,
"drain_rate_cents_per_hour": 12
},
"rate_limits": {
"requests_per_minute": 120
}
}

If blockers is non-empty, resolve them before billable operations.

Actions the agent can perform.

ToolDescriptionRequires
get_tenant_settingsRead tenant identity and routing settingsAuth
update_tenant_settingsUpdate tenant name, primary cluster, or modelAuth
update_billing_detailsSet billing addressAuth
get_payment_optionsGet x402 payment optionsNone
submit_paymentSubmit an x402 top-up paymentNone
topup_balanceRequest ETH or USDC deposit address (locked rate)Auth
check_topupCheck crypto payment statusAuth
create_streamCreate a push or pull streamAuth + Balance
update_streamUpdate stream settings or pull-source configAuth + Balance
delete_streamDelete a streamAuth + Balance
list_stream_keysList stream ingest keysAuth
create_stream_keyCreate an additional ingest keyAuth + Confirm
delete_stream_keyDeactivate an ingest keyAuth + Confirm
refresh_stream_keyRotate the primary stream keyAuth + Confirm
validate_stream_keyValidate an ingest keyAuth
create_clipCreate clip from streamAuth + Balance
delete_clipDelete a clipAuth
start_dvrStart DVR recordingAuth + Balance
stop_dvrStop DVR recordingAuth
delete_dvrDelete a DVR recording and stored mediaAuth + Confirm
get_retention_policyRead tenant media-retention defaults and boundsAuth
set_retention_policySet tenant media-retention defaultsAuth + Balance
update_asset_retentionOverride retention for DVR, clip, or VODAuth + Balance
reset_asset_retentionReset asset retention to the cascade defaultAuth + Balance
create_vod_uploadStart a VOD uploadAuth + Balance
complete_vod_uploadFinalize a VOD uploadAuth + Balance
abort_vod_uploadCancel an uploadAuth
delete_vod_assetDelete a VOD assetAuth + Balance
resolve_playback_endpointGet viewer playback URLsNone
list_signing_keysList playback signing keysAuth
create_signing_keyCreate a one-shot ES256 private keyAuth + Confirm
revoke_signing_keyRevoke a playback signing keyAuth + Confirm
set_playback_policySet JWT or webhook playback policyAuth + Confirm
clear_playback_policyClear playback policyAuth + Confirm
test_playback_accessTest JWT/webhook playback policy behaviorAuth
diagnose_rebufferingAnalyze rebuffering eventsAuth
diagnose_buffer_healthAnalyze buffer health and dry eventsAuth
diagnose_packet_lossAnalyze packet loss (protocol-aware)Auth
diagnose_routingAnalyze CDN routing decisionsAuth
get_stream_health_summaryAggregated stream health metricsAuth
get_anomaly_reportDetect anomalies vs baselineAuth
search_support_historySearch support conversationsAuth
introspect_schemaExplore the GraphQL schemaAuth
generate_queryGenerate a GraphQL query from templatesAuth
execute_queryExecute a GraphQL queryAuth
ask_consultantFull Skipper pipeline with confidence taggingAuth
browse_marketplaceBrowse available infrastructure clustersNone
subscribe_to_clusterSubscribe to a clusterAuth
unsubscribe_from_clusterRemove a cluster subscriptionAuth + Confirm
set_preferred_clusterSet preferred cluster for DNS steeringAuth
update_cluster_marketplaceUpdate cluster visibility, approval, or pricingAuth + Confirm
create_enrollment_tokenCreate an enrollment token for edge bootstrapAuth
get_node_infoFetch node detailsAuth
manage_nodeActivate/deactivate/drain/restart a nodeAuth
set_node_modeSet node mode (normal/draining/maintenance)Auth
get_node_healthNode health and metrics summaryAuth
create_edge_clusterCreate edge cluster (returns token and Foghorn)Auth

Public tools (no auth required): get_payment_options, submit_payment, resolve_playback_endpoint, browse_marketplace.

QoE tool responses use a consistent status enum: healthy | warning | critical | no_data.

update_billing_details

  • address_line1 (required): Street address
  • city (required): City
  • postal_code (required): Postal/ZIP code
  • country (required): ISO 3166-1 alpha-2 code
  • email, company, vat_number, address_line2: Optional

update_tenant_settings

  • name: Tenant display name.
  • primary_cluster_id: Preferred primary cluster for ingest and routing decisions.
  • deployment_model: Deployment model, for example shared, dedicated, or self_hosted.

Agents can create wallet-provisioned tenants with x402 auth and then use this tool to finish account identity and routing setup without switching to the dashboard.

topup_balance

  • amount_cents (required): Target credit amount in tenant currency cents (USD or EUR)
  • asset: USDC (default) or ETH. LPT is reserved but currently rejected (no Chainlink LPT/USD feed).

Response is a locked-rate quote: token_amount (send exactly this much), price_usd (locked at issue time via Chainlink for ETH; 1:1 for USDC), quote_source (chainlink or one_to_one), network (defaults to Arbitrum), and an expires_at 24h out. The balance credit at confirmation is received × locked_price, so you get exactly the quoted amount regardless of price drift inside the TTL.

check_topup returns status of pending | confirming | completed | expired, plus tx_hash, confirmations, and on completion credited_cents / credited_currency (USD or EUR per the account).

create_stream

  • name (required): Stream display name
  • description, record, public: Optional

create_clip

  • stream_id (required): Stream to clip from
  • title (required): Clip title
  • description, start_sec, duration_sec: Optional

resolve_playback_endpoint

  • content_id (required): playback_id, stream_id, or Relay ID
  • viewer_ip: Optional geo-routing hint
  • Returns thumbnail preview URLs in thumbnail_assets when poster and sprite assets are available.

create_vod_upload

  • filename (required): Original filename
  • size_bytes (required): File size in bytes
  • content_type, title, description: Optional

complete_vod_upload

  • upload_id (required): Upload session ID
  • parts (required): Array of { part_number, etag }

abort_vod_upload

  • upload_id (required): Upload session ID

delete_vod_asset

  • artifact_hash (required): VOD relay ID or artifact hash

introspect_schema

  • focus (required): query, mutation, subscription, or a specific type name
  • depth: Recursion depth 1-4 (default 2)

generate_query

  • field_name or field_path (one required): Field name or dot-separated path (e.g., streamsConnection, analytics.usage.streaming.viewerHoursHourlyConnection)
  • operation_type: query, mutation, or subscription (default query)

execute_query

  • query (required): GraphQL query or mutation to execute
  • variables: Variables for the query

ask_consultant

  • question (required): Question for the AI video streaming consultant
  • mode: Set to docs for docs-site read-only mode. Omit for regular consultant mode; MCP ask_consultant still blocks mutation tools, so call dedicated MCP tools directly when you intend to change platform state.

Returns a structured response with answer, confidence (verified, sourced, best_guess, or unknown), sources, and tools_used. This runs the configured Skipper pipeline — knowledge retrieval, optional web search, optional query rewriting/HyDE, and multi-step reasoning.

Positive-balance tools check prepaid balance before executing. Account status can also surface setup blockers, and x402 payments of €100 or more require billing details. See Payments — Preflight Errors for details.

Guided workflows for common tasks.

PromptDescriptionArguments
onboardingWalk through account setupNone
create_live_streamGuide to create and start streamingstream_name (optional)
troubleshoot_streamDiagnose stream issuesstream_id (required)
optimize_costsAnalyze usage, suggest savingsNone
capabilitiesExplain platform featuresNone
video_consultantExpert streaming consultant personaNone
diagnose_quality_issueGuided QoE troubleshooting workflowstream_id (required), symptom (optional)
api_integration_assistantGuided API integration workflowgoal (optional)
agent_instructionsFull MCP usage guide for agentsNone
self_hostingSelf-hosted edge deployment guideNone

The MCP server includes Skipper, an expert-level video streaming consultant. Use the video_consultant prompt to activate this mode, which guides your AI through available tools and knowledge sources.

Use ask_consultant for authenticated knowledge lookups with confidence tagging, or the diagnostic tools below for stream-level troubleshooting.

Read knowledge://sources to get curated entry points for video streaming documentation:

{
"sources": [
{ "name": "FrameWorks Docs", "index": "https://logbook.frameworks.network/", "sitemap": "..." },
{ "name": "MistServer Docs", "index": "https://docs.mistserver.org/", "sitemap": "..." },
{ "name": "FFmpeg Wiki", "index": "https://trac.ffmpeg.org/wiki/TitleIndex" },
{ "name": "OBS Wiki", "index": "https://obsproject.com/wiki/" }
]
}

Your AI can navigate these sitemaps to find codec guides, protocol references, and troubleshooting steps.

Skipper’s full knowledge base also includes SRT (Haivision), HLS (RFC 8216), nginx-rtmp, and ecosystem sources (Livepeer, WebRTC, DASH). Use ask_consultant to query the full knowledge base with confidence tagging and source citations. See the Skipper operator guide for the complete source list and how to add custom sources.

ToolUse Case
diagnose_rebufferingViewers experiencing buffering/stuttering
diagnose_buffer_healthQuality fluctuations, dry buffer events
diagnose_packet_lossProtocol-aware packet loss analysis
diagnose_routingCDN path issues, geographic performance
get_stream_health_summaryOverall stream quality assessment
get_anomaly_reportDetect sudden changes from baseline

Each tool returns structured results with status, metrics, analysis, and recommendations:

{
"status": "warning",
"metrics": { "rebuffer_count": 47, "avg_rebuffer_duration_ms": 2340 },
"analysis": "Elevated rebuffering. 47 events in 1h indicates upstream issues.",
"recommendations": [
"Reduce encoder bitrate from 6.2 Mbps to 4.5 Mbps",
"Check upload connection stability"
]
}

Access past support conversations to find previous solutions:

  • support://conversations — List all conversations
  • support://conversations/{id} — Full conversation with messages
  • search_support_history(query) — Search by keyword
  1. User reports: “My stream keeps buffering”
  2. AI reads account://status and streams://{id}/health
  3. AI calls diagnose_rebuffering and diagnose_buffer_health
  4. AI searches search_support_history("buffering") for similar past issues
  5. AI calls ask_consultant("rebuffering troubleshooting") for relevant documentation
  6. AI provides root cause analysis and encoder recommendations