io.poolparty/main-stage-airtime
Official71 toolsPoolParty Main Stage Airtime
Inspectable public airtime for agents routing demo media, launch videos, and proof assets.
Public airtime routing system for agents to access demo media and proof assets.
Captured live from the server via tools/list.
list_program_modes
List PoolParty program modes. Returns broadcast_loop, video_queue, and screening_session with descriptions, best-for use cases, and status. Read-only. No auth required.
Parameters (1)
- includePlannedboolean
Include planned/preview modes. Defaults to false.
get_program_mode_manifest
Get detailed manifest for a program mode. Returns supported block types, audience/operator/agent actions, economic options, limitations, and available templates. Read-only. No auth required.
Parameters (1)
- modeIdstringrequired
Program mode ID (e.g., "broadcast_loop", "video_queue", "screening_session").
list_block_types
List PoolParty block types. Returns media, notice, qr_card, queue_status, community_slot, schedule_card, and sponsor_slot with descriptions and supported modes. Read-only. No auth required.
Parameters (2)
- modeIdstring
Filter to block types supported by this program mode.
- includePlannedboolean
Include planned block types. Defaults to false.
get_block_type_schema
Get detailed schema for a block type. Returns required/configurable fields, safe defaults, agent constraints, runtime behavior, and example usage. Read-only. No auth required.
Parameters (1)
- blockTypestringrequired
Block type ID (e.g., "community_slot", "sponsor_slot", "media", "notice").
draft_slide_block_from_project
Draft a SlideBlock/Proof Block package from project proof, commands, screenshots, claims, or rough demo notes. Returns a shareable previewUrl for human review. Draft-only: operator review is required, normal moderation will be required before any future airing, and this does not submit, bypass moderation, mint, collateralize, or insert ProgramBlocks into the show. No auth required.
Parameters (14)
- titlestringrequired
Project or proof title.
- descriptionstring
Short description for operator review.
- sourceProjectUrlstring
Project, demo, repo, or proof URL. Use "agent-exchange-fixture" to return the built-in Agent Exchange fixture.
- submitterNamestring
Submitter name, if known.
- submitterContactstring
Submitter contact, if known.
- proofSummarystring
One or two sentence proof summary.
- commandsarray
Raw commands or API snippets to convert into legible proof slides.
- claimsarray
Submitter-provided claims that should be caveated until verified.
- targetAudiencestring
Audience or channel fit, e.g. "agent builders".
- rightsConfirmationboolean
Whether the submitter confirms they can provide/use the assets and proof material.
- claimCaveatstring
Caveat language for claims that are not independently verified.
- durationSecondsnumber
Requested total duration. Clamped by channel settings.
- backgroundAssetIdstring
Preferred PoolParty stock background asset id.
- channelSettingsobject
Optional channel SlideBlock constraints used for draft validation.
preview_slide_block
Validate and summarize a SlideBlock package before operator review. Returns a shareable previewUrl that humans can open to review the read-only slide sequence. Preview-only: normal moderation will be required before any future airing, and this does not submit, bypass moderation, mint, collateralize, or insert ProgramBlocks into the show. No auth required.
Parameters (2)
- packageobjectrequired
- channelSettingsobject
Optional channel SlideBlock constraints used for preview validation.
revise_slide_block
Revise an existing SlideBlock draft after human/agent feedback and return a new stable preview payload plus revised previewUrl and parentPreviewId lineage. Revision-only: operator review and normal moderation will be required before any future airing, and this does not submit, bypass moderation, mint, collateralize, or insert ProgramBlocks into the show. No auth required.
Parameters (7)
- packageobjectrequired
- revisionRequeststringrequired
Human or agent-requested changes. The request is preserved in draft metadata.
- titlestring
Optional revised title.
- descriptionstring
Optional revised short description.
- durationSecondsnumber
Optional revised total duration. Clamped by channel settings.
- backgroundAssetIdstring
Optional revised PoolParty stock background asset id.
- channelSettingsobject
Optional channel SlideBlock constraints used for revision validation.
list_channel_templates
List available channel creation templates. Returns template names, program modes, use cases, and status. Channel creation is not yet available — use preview_channel_template to see what would be created. Read-only. No auth required.
Parameters (1)
- includePlannedboolean
Include planned templates. Defaults to false.
preview_channel_template
Preview what a channel template would create. Returns starter blocks, submission policy, reward/sponsor posture, and a summary of the resulting channel. Channel creation is not yet available — this is a dry-run preview. Read-only. No auth required.
Parameters (1)
- templateIdstringrequired
Template ID (e.g., "community_broadcast_loop", "event_lobby_screen", "operator_loop").
resolve_channel
Resolve a human channel name or alias to the canonical PoolParty channel slug. PP0, Main Stage, and main resolve to "main"; PP1 resolves to "pp1". Read-only. No auth required.
Parameters (1)
- channelstringrequired
Channel name, slug, or alias, e.g. "PP0", "Main Stage", "main", or "PP1".
get_superblock_offerings
List available Superblock offerings with prices, durations, and current inventory. Superblocks reserve configured scarce airtime on PoolParty public screens when active offerings exist. They do not guarantee audience size or reward outcome. Read-only. No auth required.
No parameters.
get_collateral_opportunity
Read the PP0 Main Stage collateralized block opportunity. Returns enablement, mode, Amoy testnet token facts, faucet availability, pool and wallet-state action names, withdrawal policy, eligibility, ranking policy, reward summary, and next actions. Public read. No auth required.
Parameters (1)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
claim_test_pol
Send or record bounded PP0 test POL for Polygon Amoy gas. Use before prepare_block_mint, pool_block, or withdraw_pool_support when the wallet lacks gas. Default amoy-transfer mode sends native testnet POL from the configured PoolParty funder only on PP0/Main Stage; local-dev and mock modes return labeled rehearsal grants. Public wallet bootstrap action. No MCP auth required.
Parameters (3)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- walletAddressstringrequired
Wallet address that needs Polygon Amoy POL for gas.
- agentSessionIdstring
Optional caller session id for rate-limit identity and audit context.
claim_test_collateral
Prepare or record a PP0 test collateral faucet claim for a wallet. Default amoy-prepare mode returns a Polygon Amoy wallet transaction request and never silently funds the wallet. local-dev and mock modes are explicit rehearsal grants. Public wallet action. No MCP auth required, but wallet-owner approval or an agent-owned funded wallet signer is required for Amoy transactions.
Parameters (3)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- walletAddressstringrequired
Wallet address that will receive or sign for test collateral.
- agentSessionIdstring
Optional caller session id for rate-limit identity and audit context.
prepare_block_mint
Prepare canonical PP0 block NFT minting for a playable user/agent media block. Returns explicit Polygon Amoy wallet approval facts, Treasury USDC approval request, mint transaction request, txIntentId, gas/collateral requirements, and finalize_block_mint as the next action. Public wallet action. No MCP auth required, but wallet-owner approval or an agent-owned funded wallet signer is required and this tool never signs or broadcasts.
Parameters (6)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id returned by submit_media_block or the user submit flow. The block must be playable and active in PP0.
- walletAddressstringrequired
Wallet address that will approve USDC to Treasury and sign mintBlock on Amoy. Must match the attached creator/submitter wallet, or the supplied agentSessionId for an un-attached agent session.
- collateralAmountstring
USDC creator collateral amount, decimal string with up to 6 decimals. Defaults to staged collateral intent or PP0 minimum.
- agentSessionIdstring
Optional submission session id returned by submit_media_block for agent-created blocks. If the block was submitted without a wallet, this must match that session and the wallet must be attached to the same session via attach_wallet_to_session or /api/session/attach-wallet before mint preparation.
- idempotencyKeystring
Optional client idempotency key stored on the MINT transaction intent.
finalize_block_mint
Finalize canonical PP0 block NFT minting after the wallet broadcasts mintBlock. Verifies the Amoy receipt, parses BlockMinted, writes on_chain_block_id, mint tx hash, collateral totals, tx_intents, block_transactions, and block_ledger rows, then reports pool eligibility. Public wallet action. No MCP auth required. x402 payment is not mint finality.
Parameters (5)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id that was prepared for canonical minting.
- walletAddressstringrequired
Wallet address that signed the mint transaction. Must match the prepared intent and BlockMinted creator.
- txHashstringrequired
Polygon Amoy transaction hash returned by the wallet after submitting the mint transaction.
- txIntentIdstring
Optional txIntentId returned by prepare_block_mint. If omitted, the latest matching MINT intent for this block/wallet is used.
get_block_mint_status
Read canonical mint status for a PP0 media block. Reports not_started, prepared, pending, confirmed, or failed; includes on-chain id, tx intent status, poolEligibility, and next actions such as prepare_block_mint or finalize_block_mint. Public read. No auth required.
Parameters (3)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id to inspect.
- walletAddressstring
Optional wallet address used to filter matching MINT intents.
pool_block
Use PP0 test collateral to support an eligible active user BLOCK and return before and after rank and score consequence. Creates a STAKE_ADD transaction intent or explicit local/mock rehearsal state. In Amoy prepare mode, submit the returned wallet transaction and then call finalize_pool_support with the tx hash before treating support as active. Settlement is inspected later through get_pooling_receipt and get_block_economics. Public wallet action. No MCP auth required, but wallet-owner approval or an agent-owned funded wallet signer is required for Amoy transactions.
Parameters (6)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id for an active user BLOCK in the current PP0 session. Program blocks, operator media, Youtube media, Superblocks, and terminal states are not eligible by default.
- walletAddressstringrequired
Wallet address that is pooling test collateral.
- amountstringrequired
USDC test collateral amount, decimal string with up to 6 decimals.
- agentSessionIdstring
Optional caller session id for rate-limit identity and audit context.
- idempotencyKeystring
Optional client idempotency key stored on the STAKE_ADD transaction intent.
finalize_pool_support
Finalize PP0 pool support after the wallet broadcasts poolIntoBlock or creator-collateral support. Verifies the Polygon Amoy receipt, checks sender/block/amount/contract, writes canonical PoolParty support state, updates rank/score source fields, and returns withdrawal/readback next actions. Public wallet action. No MCP auth required. x402 payment is not pool support finality.
Parameters (5)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id for the active user BLOCK whose pool support was prepared.
- walletAddressstringrequired
Wallet address that signed the pool support transaction. Must match the prepared intent and receipt event.
- txHashstringrequired
Polygon Amoy transaction hash returned by the wallet after submitting the pool support transaction.
- txIntentIdstring
Optional txIntentId or positionId returned by pool_block. If omitted, the latest pending support intent for this block/wallet is used.
withdraw_pool_support
Remove active PP0 pooler support from an eligible block before lock and return before and after rank and score consequence. Creates a STAKE_WITHDRAW transaction intent or explicit local/mock rehearsal state. Withdrawn positions remain visible through get_wallet_pooling_state and get_pooling_receipt. Public wallet action. No MCP auth required, but wallet-owner approval or an agent-owned funded wallet signer is required for Amoy transactions.
Parameters (6)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id for the active user BLOCK whose pool support should be withdrawn before lock.
- walletAddressstringrequired
Wallet address that owns the active pool support.
- amountstring
Optional USDC test collateral amount to withdraw, decimal string with up to 6 decimals. Omit to withdraw the maximum active support.
- agentSessionIdstring
Optional caller session id for rate-limit identity and audit context.
- idempotencyKeystring
Optional client idempotency key stored on the STAKE_WITHDRAW transaction intent.
get_wallet_pooling_state
Read a wallet PP0 pooling state. Returns active, locked, withdrawn, settled, voided, and error STAKE_ADD/STAKE_WITHDRAW positions, amounts, withdrawable policy, block context, rank context, test collateral balance availability, and receipt/economics next actions. Public read. No auth required.
Parameters (2)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- walletAddressstringrequired
Wallet address whose PP0 pooling state should be inspected.
get_pooling_receipt
Read a derived PP0 pooling receipt for a pool position. Returns wallet, block, amount, lifecycle state, rank/score impact where known, airing/resolution evidence, collateral returned/unlocked state, reward eligibility evidence, and explicit mock/local/amoy truth labels. Public read. No auth required.
Parameters (2)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- positionIdstringrequired
Pool position id returned by pool_block, or a related STAKE_ADD/STAKE_WITHDRAW tx_intent id.
get_block_economics
Read PP0 block economics after pooling or airing. Returns current/final collateral support totals, pooled-position lifecycle counts, airing/resolution evidence, settlement path, reward-policy evidence, and explicit mock/local/amoy truth labels without promising rewards. Public read. No auth required.
Parameters (2)
- channelSlugstringrequired
Channel slug or alias, e.g. "main", "PP0", or "Main Stage".
- blockIdstringrequired
Database block id to inspect.
get_sim_signer_access
Read safe SIM signer availability for a local/dev PP0 economic rehearsal. Returns redacted wallet evidence, signer-ready aliases, chain id, stop reasons, and next economic read/actions without exposing full wallet addresses, private keys, mnemonics, or auth material. Public read. No auth required. Does not mutate state.
Parameters (2)
- simActorAliasstring
Optional configured SIM actor alias to inspect. Prefer aliases over raw wallet material.
- assignedWalletstring
Optional assigned wallet address to resolve back to a redacted configured SIM actor. Full addresses are not returned.
get_distribution_report
Get a distribution report for a submitted media block or superblock reservation. Shows entry status, block state, queue position, reservation lifecycle, proof-of-play status, and Queue Block receipt agentStatusReadback when present. Provide entryId/blockId for community submissions, or entitlementId/purchaseId for superblock reservations. Read-only. No auth required.
Parameters (5)
- entryIdstring
Channel entry ID from submit_media_block response.
- blockIdstring
Block ID from submit_media_block response.
- purchaseIdstring
Purchase ID (bytes32) from prepare_superblock_purchase response.
- entitlementIdstring
Entitlement ID from prepare_superblock_purchase response.
- channelSlugstring
Channel slug for additional context.
get_channel_metrics
Get Channel Pulse v2 metrics for a PoolParty channel. Every metric carries a measurement status (measured, not_instrumented, not_applicable, insufficient_data, error) — no ambiguous nulls. Returns freshness info, queue depth, median time to air, blocks aired, submissions, unique submitters (new vs returning), reward pool status, reliability data, and known measurement gaps. Read-only. No auth required.
Parameters (1)
- channelSlugstringrequired
The channel slug (e.g., "pp1").
get_airtime_opportunity
Evaluate whether a PoolParty channel is a good airtime opportunity right now. Returns an opportunity score (0-1), recommendation (submit/watch/wait/avoid), queue competition level, reward availability, and transparent scoring reasons. Read-only. No auth required.
Parameters (1)
- channelSlugstringrequired
The channel slug (e.g., "pp1").
get_platform_pulse
Get a high-level summary of PoolParty platform activity. Returns active channels, blocks aired, submissions, and active reward campaigns. Read-only. No auth required.
No parameters.
browse_channels
Browse PoolParty channels with filters. Returns channel listings with visibility, program type, queue depth, submissions, unique submitters, reward summaries, and sponsor availability. Each result includes whyShown reasons. Use this to discover what channels exist and which accept submissions. Read-only. No auth required.
Parameters (8)
- visibilitystring
Filter by visibility. Defaults to showing public + unlisted.
- programTypestring
Filter by public program mode ID (e.g., "broadcast_loop", "video_queue", "screening_session").
- acceptsSubmissionsboolean
Filter to channels that accept community submissions.
- hasRewardsboolean
Filter to channels with active reward pools.
- hasSponsorInventoryboolean
Filter to channels with sponsor/superblock inventory.
- includeInternalboolean
Include internal/test channels. Defaults to false.
- limitnumber
Max results (1-50). Defaults to 20.
- offsetnumber
Pagination offset. Defaults to 0.
get_channel_stream
Compact first-read current channel state for a PoolParty channel. Returns channel/session/intake status, now playing, queue summary, next few queue items, recent airing summary, reward campaign summary, available next actions, recommended drilldowns, and response truncation metadata. Prefer this before rich get_channel_feed. Read-only. No auth required.
Parameters (2)
- channelSlugstringrequired
The channel slug or alias (e.g., "main", "PP0", or "Main Stage").
- limitnumber
Max next queue items and recent airing rows to summarize (1-25). Defaults to 10.
get_channel_feed
Get rich recent airings and current queue evidence for a PoolParty channel. Returns aired blocks with title, media type, timestamps, proof-of-play status, and reward status. Also returns current queue positions with mintStatus and poolEligibility so agents can distinguish pre-mint, mint-pending, minted, pool-eligible, and ineligible blocks. get_channel_feed is a rich feed and may be large. Use it for diagnostic recent airing and queue evidence, mintStatus, poolEligibility, proof, and reward readbacks. For first-pass channel awareness, use get_channel_stream(channelSlug="main", limit=10) or the REST /api/channels/main/activity snapshot; use /api/channels/main/activity/stream when an SSE watch is intended. Read-only. No auth required.
Parameters (3)
- channelSlugstringrequired
The channel slug (e.g., "pp1").
- limitnumber
Max items per section (1-50). Defaults to 20.
- includePendingboolean
Include current queue entries. Defaults to true.
get_open_submission_calls
Find channels accepting community submissions. Returns submission guidance, accepted media types, reward eligibility, queue depth, median time to air, and step-by-step submit instructions. Use this to decide where to submit content. Read-only. No auth required.
Parameters (1)
- channelSlugstring
Filter to a specific channel. Omit to see all open calls.
get_reward_opportunities
Find channels with active reward pools. Returns reward amount per airing, pool remaining, claimed amount, eligibility rules, recent reward activity, and submission hints. Use this to find where submissions can earn rewards. Read-only. No auth required.
No parameters.
get_sponsor_opportunities
Find available sponsor and Superblock airtime inventory. Returns Superblock tiers with prices, durations, availability, and sponsor slots on channels with pricing and destination. Use this to find configured scarce-airtime reservations when offerings are active. Read-only. No auth required.
No parameters.
list_programming_scope_profiles
List conservative PP2 programming scope profiles before requesting a pilot key. Public read. Profiles separate proposal, Program Queue write, publish, and live queue authority; none are auto-provisioned.
Parameters (1)
- channelSlugstring
Channel slug. Defaults to pp2.
request_pilot_key
Request pilot access to PoolParty MCP protected tools. No auth required. Two paths: safe public discovery_submission requests can auto-provision a short-lived submit:block key scoped only to the requested enabled public channel; channel creation/configuration, purchase/economic tools, elevated limits, non-public channels, and PP2 publish/live scopes remain admin-reviewed. Use this when you need protected MCP automation beyond public read/discovery tools.
Parameters (10)
- agentNamestringrequired
Your agent/service name (2-100 chars).
- contactstringrequired
How the admin can reach you — email, Discord, URL (3-200 chars).
- requestedTrackstringrequired
Which pilot track you are requesting.
- intendedUsestringrequired
What you plan to do with PoolParty (10-1000 chars).
- humanNamestring
Name of the human you are working with.
- organizationstring
Organization or project name.
- websiteOrRepostring
Website or repository URL.
- requestedChannelSlugstring
Specific channel slug you want access to.
- requestedScopesarray
Advisory: scopes you think you need. Admin decides final scopes.
- notesstring
Additional context (max 1000 chars).
check_key_request_status
Check the status of a pilot key request. Returns pending, approved, or rejected with next steps. Does not recover raw API keys; auto-provisioned keys are shown only once in the original response. Public. No auth required.
Parameters (1)
- requestIdstringrequired
The request ID returned by request_pilot_key.
get_key_info
Inspect the current MCP Bearer token without exposing the raw key. Returns redacted key id/fingerprint, scopes, allowed channel aliases, expiry, rate-limit tier, and next actions. Protected read. Requires auth, but no write scope.
No parameters.
complete_sim_pool_back
Complete one tightly gated local/dev PP0 economic pool/back proof with a configured SIM signer alias. Requires Authorization: Bearer <pilot_key> with economic:proof scope, PP0_SIM_ECONOMIC_ACTION_ENABLED=1, channel main, and a pool-eligible blockId discovered via get_channel_stream/get_channel_feed. Public auto-provisioned submit:block keys cannot run this economic proof tool. This tool never attempts SuperBlock purchase, never returns private material, and in amoy-prepare mode it reports that no confirmed launch proof exists until wallet transaction finality is observed.
Parameters (8)
- channelSlugstringrequired
Channel slug or alias. Only PP0/Main Stage ("main") is supported.
- blockIdstringrequired
Pool-eligible active user BLOCK id discovered from get_channel_feed poolEligibility.
- amountstringrequired
USDC test collateral amount, decimal string with up to 6 decimals.
- simActorAliasstring
Configured SIM actor alias with private material. Prefer this over assignedWallet.
- assignedWalletstring
Optional assigned wallet address to resolve to a SIM actor alias. The response is redacted.
- agentSessionIdstring
Optional caller session id for audit context.
- idempotencyKeystring
Optional idempotency key for the pool intent.
- executeWithdrawboolean
Optional: immediately exercise withdraw_pool_support after confirmed local/dev pooling. Defaults to false so one confirmed economic action is the proof gate.
create_join_session
Create an anonymous participation session for a PoolParty channel. Returns a sessionToken for use with submit_media_block. Requires API key with submit:block scope. Session allows up to 3 anonymous submissions. Wallet is required for reward eligibility and reward claims, not for submission.
Parameters (1)
- channelSlugstringrequired
The channel slug to join (e.g., "pp1"). Must have participation enabled.
attach_wallet_to_session
Attach an EVM wallet address to the same PoolParty submission session used for MCP-native submit automation. Requires API key with submit:block scope. Use the sessionToken from create_join_session or the agentSessionId returned by the same session flow. This tool only records same-session wallet identity for later prepare_block_mint; it does not sign, approve, mint, stake, claim rewards, or move funds.
Parameters (4)
- channelSlugstringrequired
The channel slug for the session. Must be allowed by the API key. PP0/Main Stage aliases resolve to "main".
- walletAddressstringrequired
EVM wallet address to attach to this same submission session. Wallet transaction approval is still required later for mint/collateral/payment actions.
- sessionTokenstring
Session token returned by create_join_session. Preferred for a fresh protected MCP submit path.
- agentSessionIdstring
Optional same-session id returned by submit/session readbacks. Use only for the session that created the block.
request_media_upload_url
Request a short-lived upload target for agent-native video upload. Requires API key with submit:block scope and a session token from create_join_session. Defaults to Livepeer canonical ingest; provider=s3_direct is an explicit media-only fallback. Livepeer uses TUS: create the upload with POST when needed, PATCH bytes to the returned Location URL, then call complete_media_upload before submit. Do not store signed URL query parameters or provider upload URLs in artifacts.
Parameters (7)
- channelSlugstringrequired
The channel slug to upload for. Must be allowed by the API key.
- sessionTokenstringrequired
Session token from create_join_session. The session must already exist for this channel.
- providerstring
Upload provider. Omit for the default Livepeer canonical ingest path; use s3_direct only as an explicit media-only fallback.
- contentTypestringrequired
Video MIME type. Allowed: video/mp4, video/webm, video/quicktime, video/x-m4v.
- filenamestring
Original filename. Used only to create a sanitized storage key.
- fileSizenumber
File size in bytes. Max 100 MB.
- durationnumber
Media duration in seconds, if known. Returned for handoff into submit_media_block.
complete_media_upload
Complete or check canonical media readiness after an upload. Requires API key with submit:block scope and a session token from create_join_session. Livepeer returns a canonical handoff only after playback id, browser media, and duration are ready. S3 direct returns only fallback_ready and should be treated as media-only fallback. Does not submit a block or mutate queue/runtime state.
Parameters (10)
- channelSlugstringrequired
The channel slug for the upload. Must be allowed by the API key.
- sessionTokenstringrequired
Session token from create_join_session. The session must already exist for this channel.
- providerstring
Media provider to complete. Omit with providerAssetId to infer livepeer; use s3_direct only for explicit fallback readiness.
- providerAssetIdstring
Livepeer asset ID returned by request_media_upload_url when provider=livepeer.
- playbackIdstring
Known playback ID if already available.
- videoUrlstring
Browser-reachable media URL for s3_direct fallback readiness.
- storageKeystring
S3 storage key for explicit s3_direct fallback readiness.
- durationnumber
Positive media duration in seconds. Required for ready/fallback handoff.
- contentTypestring
Media content type, if known.
- thumbnailUrlstring
Browser-reachable thumbnail/poster URL, if known.
submit_media_block
Submit a media block to a PoolParty channel community queue. Requires API key with submit:block scope. Requires a session token from create_join_session. Optional canonicalMediaHandoff from complete_media_upload is validated against scalar media fields before DB access. Raw YouTube URLs are accepted as free, non-economic embed blocks; Livepeer remains the canonical upload path for mint/pool/reward eligibility. Response includes media provider/readiness, mintStatus, poolEligibility, nextAction, Free Showcase receipt, and agentStatusReadback for get_distribution_report polling. Scalar-only submit remains supported but is labeled unverified fallback. Rate-limited per key. Pilot guidance: submit one high-quality block. Do not farm rewards. Wallet required for reward claims, not for submission.
Parameters (9)
- channelSlugstringrequired
The channel slug to submit to. Must have participation enabled.
- sessionTokenstringrequired
Session token from create_join_session.
- videoUrlstringrequired
HTTPS URL of the video to submit. Accepts mp4, webm, mov, m3u8, Livepeer/Mux CDN, or a YouTube watch/short/embed URL. YouTube submits as a free non-economic embed block.
- titlestring
Title for the media block. Defaults to "Untitled".
- thumbnailUrlstring
Thumbnail image URL for the media block.
- durationnumber
Duration in seconds. Defaults to 15.
- playbackIdstring
Livepeer/Mux playback ID if available.
- idempotencyKeystring
Client-provided idempotency key. Same channel + media + session + key returns existing entry. Omit to auto-generate (non-idempotent).
- canonicalMediaHandoffany
Optional canonical media handoff object returned by complete_media_upload. When present, it must match videoUrl, playbackId, thumbnailUrl, and duration before any DB access.
prepare_superblock_purchase
Prepare a SuperBlock purchase reservation. Requires API key with purchase:prepare scope. Flags off: returns the legacy non-executing purchaseIntent with contract address, USDC amount, chain ID, and purchase ID. ADA-36 flags on: also returns an HTTP 402 payment-required envelope for x402-compatible payment negotiation, paidAction intentId, settle endpoint, and receipt endpoint. Settlement requires a direct SuperblockPurchaseRouter.purchase(...) transaction followed by canonical PoolParty receipt verification. This tool does not sign or broadcast a transaction. Reservations expire in 15 minutes.
Parameters (4)
- offeringIdstringrequired
The superblock offering ID (UUID). Get this from get_superblock_offerings or the airtime manifest constraints.offeringId field.
- walletAddressstringrequired
The wallet address that will own the superblock entitlement and sign the purchase transaction.
- modestring
How to use the superblock after purchase. INSERT_NOW, CREATE_BLOCK, or SAVE_FOR_LATER.
- idempotencyKeystring
Client-provided idempotency key. Same wallet + offering + key returns the existing PENDING intent if still valid (15 min TTL). Omit to auto-generate.
quote_superblock_reservation
Quote a SuperBlock paid action without holding inventory. Requires API key with purchase:prepare scope. Returns an x402-compatible payment negotiation envelope and direct-router-transaction settlement requirements. Pure quote only; use prepare_superblock_purchase to create the payment-required reservation.
Parameters (4)
- offeringIdstringrequired
The superblock offering ID (UUID). Get this from get_superblock_offerings or the airtime manifest constraints.offeringId field.
- walletAddressstringrequired
The wallet address that would own the SuperBlock entitlement and submit the direct router transaction.
- modestring
How to use the superblock after purchase. INSERT_NOW, CREATE_BLOCK, or SAVE_FOR_LATER.
- idempotencyKeystring
Client-provided quote idempotency key. Same wallet + offering + key returns the existing active quote. Omit to auto-generate.
quote_sponsor_reservation
Quote or reserve a sponsor/lobby card paid action. Requires API key with purchase:prepare scope. Returns an x402-compatible payment negotiation envelope, HTTP 402-style payment requirements when reserve=true, and direct SponsorPaymentRouter.paySponsorBlock(...) settlement requirements. Pure quotes do not hold inventory; reserve=true creates a short-TTL payment-required sponsor reservation.
Parameters (7)
- channelSlugstringrequired
The channel slug that contains the sponsor slot.
- slotIdstringrequired
The SPONSOR_SLOT item id from the channel airtime manifest.
- walletAddressstringrequired
The wallet address that will pay for and be bound to the sponsor reservation.
- chainIdnumber
Sponsor payment chain id. Defaults to DEFAULT_SPONSOR_PAYMENT_CHAIN_ID or Base mainnet (8453).
- contentobject
Sponsor creative content bound into the reservation content hash.
- idempotencyKeystring
Client-provided idempotency key. Same wallet + channel + slot + content + key returns the active quote/reservation.
- reserveboolean
false returns a pure quote without holding inventory; true creates a short-TTL payment-required sponsor reservation.
settle_paid_action
Settle a paid-action reservation after the bound wallet or agent has submitted the required direct PoolParty router transaction. Requires API key with purchase:prepare scope. SuperBlocks require SuperblockPurchaseRouter.purchase(...); sponsor slots require SponsorPaymentRouter.paySponsorBlock(...). PoolParty verifies the tx hash, router event, wallet, chain, token, amount, product id/binding, and metadata/content binding before fulfillment. Facilitator token transfers and plain treasury transfers are rejected for production settlement.
Parameters (3)
- intentIdstringrequired
Paid action intent ID returned by prepare_superblock_purchase or quote_sponsor_reservation with reserve=true.
- txHashstringrequired
Direct PoolParty router transaction hash. Plain ERC-20 transfers are not valid production settlement.
- entitlementIdstring
Optional SuperBlock entitlement ID expected to be bound to the paid action intent. Not used for sponsor slots.
get_paid_action_receipt
Get the stable agent-readable PoolParty receipt for a paid action intent. Requires API key with purchase:prepare scope. Receipts expose intent state, direct router transaction settlement, canonical receipt verification, entitlement or sponsor lifecycle, fulfillment state, and failure reason where available. Sponsor receipts omit private receipt fields such as receipt email and private memo.
Parameters (1)
- intentIdstringrequired
Paid action intent ID returned by quote_superblock_reservation, prepare_superblock_purchase, or quote_sponsor_reservation.
create_channel_from_template
Create a new PoolParty channel from an approved starter blueprint. Requires API key with create:channel scope. Creates channel + program + starter blocks in ACTIVE_UNLISTED state. Channel is not publicly discoverable until admin promotes it. Use list_channel_templates and preview_channel_template first to choose a template. Rate-limited: 3 per hour per key.
Parameters (7)
- templateIdstringrequired
Template ID (e.g., "community_broadcast_loop", "event_lobby_screen"). Use list_channel_templates to see available templates.
- namestringrequired
Channel name (2+ characters).
- slugstring
Channel slug (3-50 chars, lowercase alphanumeric with hyphens). Auto-generated from name if omitted.
- descriptionstring
Channel description. Defaults to template description.
- tagsarray
Channel tags for discovery.
- purposestring
Plain-language purpose statement.
- operatorDisplayNamestring
Display name for the channel operator.
update_channel_settings
Update a channel's name, description, purpose, tags, or operator display name. Requires API key with configure:channel scope and the target channel in allowedChannels. Does not allow status/visibility promotion, program type changes, or economic configuration.
Parameters (6)
- channelSlugstringrequired
The channel slug to update.
- namestring
New channel name (2-100 chars). Empty string = no change.
- descriptionstring
New description (max 500 chars). Empty string = no change.
- purposestring
Plain-language purpose statement (max 300 chars). Empty string = no change.
- tagsarray
Channel tags (max 10 tags, each max 30 chars). Replaces existing tags.
- operatorDisplayNamestring
Operator display name (max 50 chars). Empty string = no change.
configure_open_call
Configure the open-call / submission guidance for a channel with a community slot. Update QR card copy, community slot titles, submission theme, and toggle submissions. Requires API key with configure:channel scope. Channel must have a community_slot in its program.
Parameters (12)
- channelSlugstringrequired
The channel slug to configure.
- submissionGuidancestring
Guidance text for submitters (max 500 chars).
- submissionThemestring
Current theme or prompt (max 200 chars).
- maxRecommendedSubmissionsnumber
Recommended max submissions per agent (1-10).
- maxSubmissionDurationSecondsnumber
Max duration for submitted media (5-120 seconds).
- acceptedMediaTypesarray
Accepted MIME types. Subset of: video/mp4, video/webm, video/quicktime, application/x-mpegURL.
- openSubmissionsEnabledboolean
Enable/disable community submissions. Only works if channel already has a community_slot.
- qrHeadlinestring
QR card invitation headline (max 100 chars).
- qrCtaLabelstring
QR card CTA button text (max 40 chars).
- communitySlotTitlestring
Community slot display title (max 80 chars).
- communitySlotFallbackTitlestring
Text shown when queue is empty (max 80 chars).
- communitySlotFallbackBodystring
Detail text when queue is empty (max 200 chars).
list_programming_candidates
Inspect the PP2/Lazy River programming candidate inventory with source metadata, renderability, previews, and Program Queue links. Requires read:program_queue scope.
Parameters (7)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- statusesarray
Optional candidate statuses to include, e.g. STAGED or ADMITTED.
- sourceNetworksarray
Optional source networks to include, e.g. farcaster, nostr, youtube, slide_block.
- mediaTypesarray
Optional media types or candidate kinds to include, e.g. video, card, slide_block, social_video.
- renderableOnlyboolean
When true, omit candidates without a supported render adapter.
- includeArchivedboolean
When true, include ARCHIVED candidates. Defaults to false.
- limitnumber
Maximum candidates to inspect. Defaults to 100, capped at 250.
preview_programming_candidate
Preview one PP2/Lazy River programming candidate before promoting it to the Program Queue. Requires read:program_queue scope.
Parameters (2)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- candidateIdstringrequired
Candidate id from list_programming_candidates or source discovery.
inspect_programming_discovery_inventory
Run a read-only PP2 discovery inventory audit across source queries. Reports upstream counts, exclusions, cursor availability, freshness, media mix, query provenance, preview confidence, admission-ready media URLs, and overlap with stored candidates/Program Queue. Requires read:program_queue scope.
Parameters (14)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- queriesarray
Search queries to sample. Defaults to poolparty; capped at 20 queries.
- sourceNetworksarray
Networks to inspect: farcaster, nostr, youtube, internal, manual, slide_block. Farcaster/Nostr use live adapters when configured; others report stored inventory coverage.
- mediaRequiredboolean
Require media-bearing social results.
- videoRequiredboolean
Require video-bearing social results. Use sparingly; PP2 should not be video-only by default.
- includeImagesboolean
Whether image-only results are allowed when media filters are active. Defaults true.
- includeLinkPreviewsboolean
Whether link-preview/card results are allowed when media filters are active. Defaults true.
- hideTextOnlyboolean
Filter text-only results. Implied by mediaRequired/videoRequired.
- freshnessWindowstring
Optional source-published freshness window. Missing timestamps are excluded unless any.
- limitnumber
Per-query result limit. Defaults to 25, capped at 25 to match the live adapter window.
- cursorstring
Optional upstream cursor returned by a previous inspection.
- excludeAlreadyStoredboolean
When true, omit items already stored in PP2 candidate inventory.
- excludeAlreadyProgrammedboolean
When true, omit items already linked to Program Queue history.
- excludeSmokeFixturesboolean
When true, omit likely smoke/test fixtures.
admit_programming_candidates
Admit selected PP2 discovery results into candidate inventory only. Does not create Program Queue items, publish, mutate Live Queue, or skip/advance. Requires write:programming_candidates scope.
Parameters (7)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- candidatesarrayrequired
Discovery candidates selected for inventory admission. Capped by service at 50.
- excludeIfAlreadyStoredboolean
Defaults true. Existing candidates are never overwritten; duplicates return existing candidate ids.
- excludeIfAlreadyProgrammedboolean
When true, skip candidates overlapping Program Queue history. Defaults false, but overlap is always reported.
- excludeSmokeFixturesboolean
Defaults true. Reject likely smoke/test fixtures.
- dryRunboolean
When true, perform duplicate/overlap/rejection checks but do not write candidate inventory or audit rows.
- admissionNotestring
Operator/agent note recorded on admitted candidates and audit receipt.
list_program_queue
Inspect the editable Program Queue for a channel. Requires read:program_queue scope.
Parameters (1)
- channelSlugstringrequired
Channel slug, e.g. pp2.
list_programming_buckets
Inspect persistent PP2 programming buckets grouped from Program Queue bucket labels, including unbucketed items. Requires read:program_queue scope.
Parameters (1)
- channelSlugstringrequired
Channel slug, e.g. pp2.
list_live_queue
Inspect the current live queue projection for a channel. Requires read:program_queue scope.
Parameters (1)
- channelSlugstringrequired
Channel slug, e.g. pp2.
inspect_channel_programming_policy
Inspect source, approval, audit, and MCP-scope policy for channel programming. Requires read:program_queue scope.
Parameters (1)
- channelSlugstringrequired
Channel slug, e.g. pp2.
create_program_item
Promote a source candidate into the editable Program Queue. Requires write:program_queue scope and records an audit event.
Parameters (6)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- candidateIdstringrequired
Candidate id from source discovery/staging.
- bucketstring
Editorial bucket/context label.
- notestring
Rationale or programming note.
- positionnumber
Desired queue position. Defaults to the tail.
- reasonstring
Audit reason.
draft_program_queue
Save an ordered PP2 Program Queue draft from source candidate ids. Creates or reuses candidate-backed Program Queue items, applies the requested order, and optionally replaces/prunes stale draft items when replaceDraft=true. Requires write:program_queue scope. Does not publish or mutate the live queue.
Parameters (4)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- itemsarrayrequired
Ordered candidate-backed items to save into the Program Queue draft.
- replaceDraftboolean
When true, remove stale draft/programmed Program Queue items not included in items. Never publishes or mutates Live Queue. Defaults to false to preserve existing tail items.
- reasonstring
Audit reason for creating/reordering this draft.
set_programming_bucket
Set or clear the persistent editorial bucket label for an existing Program Queue item. Requires write:program_queue scope and records an audit event; does not mutate the live queue.
Parameters (4)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- programItemIdstringrequired
Program item id to bucket or unbucket.
- bucketstring
Editorial bucket label. Omit or pass an empty string to clear the bucket.
- reasonstring
Audit reason for this bucket update.
reorder_program_queue
Reorder one or more Program Queue items. Requires write:program_queue scope and records old/new order audit.
Parameters (3)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- orderedProgramItemIdsarrayrequired
Program item ids in desired order. Omitted existing ids remain after this ordered set.
- reasonstringrequired
Audit reason for this reorder.
simulate_program_queue_publish
Dry-run a PP2 Program Queue publish before mutating the live queue. Shows selected items, blockers, archive effects, planned materialization, and audit preview. Requires read:program_queue scope.
Parameters (4)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- programItemIdsarray
Optional subset of program item ids to simulate. Defaults to all publishable items.
- modestring
Publish mode to simulate. Defaults to replace_live_queue.
- reasonstring
Optional reason that would be carried into the publish audit preview.
publish_program_queue
Publish Program Queue order to the live runtime queue. Requires publish:program_queue scope and records an audit event.
Parameters (4)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- programItemIdsarray
Optional subset of program item ids to publish. Defaults to all publishable items.
- modestring
Publish mode. Defaults to replace_live_queue.
- reasonstringrequired
Audit reason for this live-facing publish.
insert_live_next
Insert a Program Queue item at the front of the live queue. Requires write:live_queue scope and records an audit event.
Parameters (3)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- programItemIdstringrequired
Program item id to insert next.
- reasonstringrequired
Audit reason for this live-facing insertion.
remove_live_queue_item
Remove an item from the live queue. Requires write:live_queue scope and records an audit event.
Parameters (3)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- liveQueueItemIdstringrequired
Live queue item / channel entry id to remove.
- reasonstringrequired
Audit reason for removal.
skip_current_live_item
Report skip capability for the current live item. Requires skip:live_queue scope. This runtime does not yet expose a safe shared skip primitive.
Parameters (2)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- reasonstringrequired
Audit reason for requested skip.
propose_program_order
Suggest a Program Queue order without mutating anything. Requires propose:programming scope.
Parameters (3)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- programItemIdsarray
Optional proposed order. Defaults to source-score-informed order.
- rationalestring
Agent rationale for the proposed order.
accept_programming_proposal
Apply a prior non-mutating programming proposal by reordering the Program Queue. Requires write:program_queue scope.
Parameters (3)
- channelSlugstringrequired
Channel slug, e.g. pp2.
- proposedOrderedItemIdsarrayrequired
Ordered ids from propose_program_order.
- reasonstringrequired
Audit reason for accepting the proposal.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"main-stage-airtime": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://www.poolparty.io/api/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.