PoolParty Main Stage Airtime
REMOTE · WWW.POOLPARTY.IO · SCANNED AUG 4
Inspectable public airtime for agents routing demo media, launch videos, and proof assets.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 71 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (poor).Fail
- Context-footprint check failed: tool/resource definitions use about 11847 tokens (~153/item across 77 items; 71 tools + 6 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management30
- Stability observed for 9 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 99% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · www.poolparty.io
claude mcp add --transport http io-poolparty-main-stage-airtime https://www.poolparty.io/api/mcp
[mcp_servers.io-poolparty-main-stage-airtime] url = "https://www.poolparty.io/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"io-poolparty-main-stage-airtime": {
"type": "remote",
"url": "https://www.poolparty.io/api/mcp",
"enabled": true
}
}
} openclaw mcp add io-poolparty-main-stage-airtime --url https://www.poolparty.io/api/mcp --transport streamable-http
mcp_servers:
io-poolparty-main-stage-airtime:
url: "https://www.poolparty.io/api/mcp" {
"mcpServers": {
"io-poolparty-main-stage-airtime": {
"type": "http",
"url": "https://www.poolparty.io/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 1 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 29 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 60
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Aug 2026 · Probed https://www.poolparty.io/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.poolparty.io | CN=YR2,O=Let's Encrypt,C=US | 10 Jun 2026 | 8 Sept 2026 | RSA 2048 | SHA256-RSA | 6b8d698c24336a7b45c76e2f8d0b3cc39b3 |
| SANs: www.poolparty.io | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
DNSSEC insecure
Validation of www.poolparty.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| poolparty.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.poolparty.io/api/mcp | Verified | 200 | |
| http (plaintext) | http://www.poolparty.io/api/mcp | HTTPS enforced | 308 | https://www.poolparty.io/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
prepare_superblock_purchase ~251
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.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Client-provided idempotency key. Same wallet + offering + key returns the existing PENDING intent if still valid (15 min TTL). Omit to auto-generate. |
| mode | string | — | How to use the superblock after purchase. INSERT_NOW, CREATE_BLOCK, or SAVE_FOR_LATER. |
| offeringId | string | yes | The superblock offering ID (UUID). Get this from get_superblock_offerings or the airtime manifest constraints.offeringId field. |
| walletAddress | string | yes | The wallet address that will own the superblock entitlement and sign the purchase transaction. |
No output schema declared.
No examples provided.
preview_channel_template ~87
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.
| Name | Type | Req | Description |
|---|---|---|---|
| templateId | string | yes | Template ID (e.g., "community_broadcast_loop", "event_lobby_screen", "operator_loop"). |
No output schema declared.
No examples provided.
preview_programming_candidate ~68
Preview one PP2/Lazy River programming candidate before promoting it to the Program Queue. Requires read:program_queue scope.
| Name | Type | Req | Description |
|---|---|---|---|
| candidateId | string | yes | Candidate id from list_programming_candidates or source discovery. |
| channelSlug | string | yes | Channel slug, e.g. pp2. |
No output schema declared.
No examples provided.
preview_slide_block ~101
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.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSettings | object | — | Optional channel SlideBlock constraints used for preview validation. |
| package | object | yes | — |
No output schema declared.
No examples provided.
propose_program_order ~74
Suggest a Program Queue order without mutating anything. Requires propose:programming scope.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| programItemIds | array | — | Optional proposed order. Defaults to source-score-informed order. |
| rationale | string | — | Agent rationale for the proposed order. |
No output schema declared.
No examples provided.
publish_program_queue ~100
Publish Program Queue order to the live runtime queue. Requires publish:program_queue scope and records an audit event.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| mode | string | — | Publish mode. Defaults to replace_live_queue. |
| programItemIds | array | — | Optional subset of program item ids to publish. Defaults to all publishable items. |
| reason | string | yes | Audit reason for this live-facing publish. |
No output schema declared.
No examples provided.
quote_sponsor_reservation ~245
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.
| Name | Type | Req | Description |
|---|---|---|---|
| chainId | number | — | Sponsor payment chain id. Defaults to DEFAULT_SPONSOR_PAYMENT_CHAIN_ID or Base mainnet (8453). |
| channelSlug | string | yes | The channel slug that contains the sponsor slot. |
| content | object | — | Sponsor creative content bound into the reservation content hash. |
| idempotencyKey | string | — | Client-provided idempotency key. Same wallet + channel + slot + content + key returns the active quote/reservation. |
| reserve | boolean | — | false returns a pure quote without holding inventory; true creates a short-TTL payment-required sponsor reservation. |
| slotId | string | yes | The SPONSOR_SLOT item id from the channel airtime manifest. |
| walletAddress | string | yes | The wallet address that will pay for and be bound to the sponsor reservation. |
No output schema declared.
No examples provided.
quote_superblock_reservation ~184
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.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotencyKey | string | — | Client-provided quote idempotency key. Same wallet + offering + key returns the existing active quote. Omit to auto-generate. |
| mode | string | — | How to use the superblock after purchase. INSERT_NOW, CREATE_BLOCK, or SAVE_FOR_LATER. |
| offeringId | string | yes | The superblock offering ID (UUID). Get this from get_superblock_offerings or the airtime manifest constraints.offeringId field. |
| walletAddress | string | yes | The wallet address that would own the SuperBlock entitlement and submit the direct router transaction. |
No output schema declared.
No examples provided.
remove_live_queue_item ~76
Remove an item from the live queue. Requires write:live_queue scope and records an audit event.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| liveQueueItemId | string | yes | Live queue item / channel entry id to remove. |
| reason | string | yes | Audit reason for removal. |
No output schema declared.
No examples provided.
reorder_program_queue ~85
Reorder one or more Program Queue items. Requires write:program_queue scope and records old/new order audit.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| orderedProgramItemIds | array | yes | Program item ids in desired order. Omitted existing ids remain after this ordered set. |
| reason | string | yes | Audit reason for this reorder. |
No output schema declared.
No examples provided.
request_media_upload_url ~267
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.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | The channel slug to upload for. Must be allowed by the API key. |
| contentType | string | yes | Video MIME type. Allowed: video/mp4, video/webm, video/quicktime, video/x-m4v. |
| duration | number | — | Media duration in seconds, if known. Returned for handoff into submit_media_block. |
| fileSize | number | — | File size in bytes. Max 100 MB. |
| filename | string | — | Original filename. Used only to create a sanitized storage key. |
| provider | string | — | Upload provider. Omit for the default Livepeer canonical ingest path; use s3_direct only as an explicit media-only fallback. |
| sessionToken | string | yes | Session token from create_join_session. The session must already exist for this channel. |
No output schema declared.
No examples provided.
request_pilot_key ~334
Request pilot access to PoolParty MCP protected tools. No auth required. Requires a self_attestation questionnaire (declared attribution). 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. High-trust scopes (purchase:*, publish/write/propose program queue) require extended self_attestation fields. Use this when you need protected MCP automation beyond public read/discovery tools.
| Name | Type | Req | Description |
|---|---|---|---|
| agentName | string | yes | Your agent/service name (2-100 chars). |
| contact | string | yes | How the admin can reach you — email, Discord, URL (3-200 chars). |
| humanName | string | — | Name of the human you are working with. |
| intendedUse | string | yes | What you plan to do with PoolParty (10-1000 chars). |
| notes | string | — | Additional context (max 1000 chars). |
| organization | string | — | Organization or project name. |
| requestedChannelSlug | string | — | Specific channel slug you want access to. |
| requestedScopes | array | — | Advisory: scopes you think you need. Admin decides final scopes. |
| requestedTrack | string | yes | Which pilot track you are requesting. |
| selfAttestation | object | — | Declared self-attestation questionnaire. REQUIRED for all requests (missing/invalid returns VALIDATION_ERROR listing the fields). High-trust scopes require the extended fields. |
| websiteOrRepo | string | — | Website or repository URL. |
No output schema declared.
No examples provided.
resolve_channel ~84
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.
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | yes | Channel name, slug, or alias, e.g. "PP0", "Main Stage", "main", or "PP1". |
No output schema declared.
No examples provided.
revise_slide_block ~182
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.
| Name | Type | Req | Description |
|---|---|---|---|
| backgroundAssetId | string | — | Optional revised PoolParty stock background asset id. |
| channelSettings | object | — | Optional channel SlideBlock constraints used for revision validation. |
| description | string | — | Optional revised short description. |
| durationSeconds | number | — | Optional revised total duration. Clamped by channel settings. |
| package | object | yes | — |
| revisionRequest | string | yes | Human or agent-requested changes. The request is preserved in draft metadata. |
| title | string | — | Optional revised title. |
No output schema declared.
No examples provided.
set_programming_bucket ~112
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bucket | string | — | Editorial bucket label. Omit or pass an empty string to clear the bucket. |
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| programItemId | string | yes | Program item id to bucket or unbucket. |
| reason | string | — | Audit reason for this bucket update. |
No output schema declared.
No examples provided.
settle_paid_action ~185
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.
| Name | Type | Req | Description |
|---|---|---|---|
| entitlementId | string | — | Optional SuperBlock entitlement ID expected to be bound to the paid action intent. Not used for sponsor slots. |
| intentId | string | yes | Paid action intent ID returned by prepare_superblock_purchase or quote_sponsor_reservation with reserve=true. |
| txHash | string | yes | Direct PoolParty router transaction hash. Plain ERC-20 transfers are not valid production settlement. |
No output schema declared.
No examples provided.
simulate_program_queue_publish ~124
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.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| mode | string | — | Publish mode to simulate. Defaults to replace_live_queue. |
| programItemIds | array | — | Optional subset of program item ids to simulate. Defaults to all publishable items. |
| reason | string | — | Optional reason that would be carried into the publish audit preview. |
No output schema declared.
No examples provided.
skip_current_live_item ~66
Report skip capability for the current live item. Requires skip:live_queue scope. This runtime does not yet expose a safe shared skip primitive.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | Channel slug, e.g. pp2. |
| reason | string | yes | Audit reason for requested skip. |
No output schema declared.
No examples provided.
submit_media_block ~395
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.
| Name | Type | Req | Description |
|---|---|---|---|
| canonicalMediaHandoff | — | — | Optional canonical media handoff object returned by complete_media_upload. When present, it must match videoUrl, playbackId, thumbnailUrl, and duration before any DB access. |
| channelSlug | string | yes | The channel slug to submit to. Must have participation enabled. |
| duration | number | — | Duration in seconds. Defaults to 15. |
| idempotencyKey | string | — | Client-provided idempotency key. Same channel + media + session + key returns existing entry. Omit to auto-generate (non-idempotent). |
| playbackId | string | — | Livepeer/Mux playback ID if available. |
| sessionToken | string | yes | Session token from create_join_session. |
| thumbnailUrl | string | — | Thumbnail image URL for the media block. |
| title | string | — | Title for the media block. Defaults to "Untitled". |
| videoUrl | string | yes | 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. |
No output schema declared.
No examples provided.
update_channel_settings ~182
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.
| Name | Type | Req | Description |
|---|---|---|---|
| channelSlug | string | yes | The channel slug to update. |
| description | string | — | New description (max 500 chars). Empty string = no change. |
| name | string | — | New channel name (2-100 chars). Empty string = no change. |
| operatorDisplayName | string | — | Operator display name (max 50 chars). Empty string = no change. |
| purpose | string | — | Plain-language purpose statement (max 300 chars). Empty string = no change. |
| tags | array | — | Channel tags (max 10 tags, each max 30 chars). Replaces existing tags. |
No output schema declared.
No examples provided.
withdraw_pool_support ~237
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.
| Name | Type | Req | Description |
|---|---|---|---|
| agentSessionId | string | — | Optional caller session id for rate-limit identity and audit context. |
| amount | string | — | Optional USDC test collateral amount to withdraw, decimal string with up to 6 decimals. Omit to withdraw the maximum active support. |
| blockId | string | yes | Database block id for the active user BLOCK whose pool support should be withdrawn before lock. |
| channelSlug | string | yes | Channel slug or alias, e.g. "main", "PP0", or "Main Stage". |
| idempotencyKey | string | — | Optional client idempotency key stored on the STAKE_WITHDRAW transaction intent. |
| walletAddress | string | yes | Wallet address that owns the active pool support. |
No output schema declared.
No examples provided.