Skip to main content
Glama
615,561 tools. Updated 2026-09-27 10:27

"Dash" matching MCP tools:

  • Submit a transcoding job. Args: source: URL of the input video (https://, s3://, or `tus:<uuid>`). outputs: list of format-spec dicts. Each MUST have an `output` field whose value is one of: mp4, webm, advanced_hls, advanced_dash, webm_dash, repack, mp3, m4a, hls_audio, flac, gif, thumbnail, thumbnails, smart_thumbnail, metadata, speech_to_text, vmaf, video_intelligence, ai_detection, waveform. The OUTER array is named `format` in the Qencode schema (this tool wraps it for you). The INNER STRING field naming the type is `output` — NOT `format`. This is the most common composition mistake. Example of a valid entry: { "output": "mp4", "video_codec": "libx264", "audio_codec": "libfdk_aac", "resolution": 720, "optimize_bitrate": 1, "audio_bitrate": 128, "destination": { "url": "<destination_prefix>/<new filename or folder>" } } Media Storage `destination.url` is `{destination_prefix}/{new key}` — a NEW file or folder, never a listed object's `destination_url` (that is the existing file, for reading as `source`). Folder outputs (HLS / STT / VI / thumbnails) take `{destination_prefix}/folder` with no trailing slash. Do not assemble the host. `s3://<bucket>/…` is rejected here (the API would demand `key`/`secret`). Inputs the encoder fetches (`source`, `distorted`, subtitle files, `logo.source`) use `cdn_url` when public and `destination_url` when private. Video Intelligence `source` must be https — `cdn_url` only; a private object cannot be a VI source. For HLS/DASH ABR, put per-rendition params on each entry of an inner `stream[]` array (not on the format object directly). Output-specific required fields (see matching recipe): advanced_hls / advanced_dash / webm_dash / hls_audio — non-empty `stream[]` of objects. A bare `{"output": "advanced_hls"}` is rejected. Fetch `qencode://recipe/hls_abr` (or `audio_outputs` for `hls_audio`) before composing. vmaf — `distorted` URL of the encoded video; `source` is the reference original (encoder v1 is auto-selected). video_intelligence — `mode` one of description, categorization, moderation, search, custom (NOT `features`). Source must be https:// and meet duration minimums (description etc. ≥10s, search ≥4s) — check via metadata or tell user if too short. Example vmaf entry: { "output": "vmaf", "distorted": "https://example.com/encoded.mp4", "destination": {"url": "<destination_prefix>/vmaf.json"} } Example HLS entry (params on `stream[]`, not on the format object): { "output": "advanced_hls", "segment_duration": 6, "stream": [{ "video_codec": "libx264", "audio_codec": "libfdk_aac", "resolution": 720, "framerate": "30", "keyframe": "60", "optimize_bitrate": 1, "audio_bitrate": 128 }] } Example video_intelligence entry: { "output": "video_intelligence", "mode": "description", "destination": {"url": "<destination_prefix>/vi"} } payload: optional opaque callback tag echoed by Qencode. Must be a string (or omitted). A JSON object is not submitted — the tool returns `{"error": "..."}` asking you to retry with a string. It is not the job body (`outputs` is). Do not put `source` or `format` in `payload`. `encoder_version` is injected automatically when omitted: `2` by default, `1` when any output is `vmaf`. Stitch jobs (multi-source `stitch` array) are not supported here — use `start_encode2_raw` with `encoder_version: 2` per `qencode://recipe/stitching`. Other composition defaults in this server's instructions (libfdk_aac, optimize_bitrate, per-stream ABR params, etc.) still belong in each `outputs[]` entry — consult the matching recipe via `search_qencode_docs` + `fetch_qencode_doc` before submitting. After this returns a `task_token`, in the SAME reply call `list_jobs` with that token. If the job is already Done with a playable video URL, also `open_player`. If the deliverable is a json/txt/srt/vtt file, call `fetch_job_result` and give the user both the URL and the extracted content.
    ConnectorOAuth
  • Browse the contents of a Qencode Media Storage bucket. Args: bucket: bucket name (see `list_buckets`). An unknown bucket fails with `bucket_not_found`. prefix: optional key prefix to filter by (e.g. `raw/`). continuation_token: pass the `next_token` from a previous truncated response to fetch the next page. Returns `{objects, is_truncated, region, public}` plus `next_token` when truncated. Each object has `key`, `size`, `last_modified`, `extension` (from the key, e.g. `m3u8` / `mp4` / `""`), `destination_url` (that object's S3 URL — private `source` / stitch / subs / logo, not dest), and `cdn_url` when the bucket is public (playback and public fetch). Copy those URLs; do not assemble them. Job dest is always a NEW path `{destination_prefix}/{new filename or folder}` from `list_buckets`. Public playback is `cdn_url`. A private progressive file (`.mp4` / `.webm`) plays via `get_download_url`. Do not call `get_download_url` for HLS/DASH. One call returns up to ~1000 objects; page with `continuation_token=next_token` when `is_truncated` is true.
    ConnectorOAuth
  • Return a time-limited download URL for an existing object. Args: bucket: bucket name. An unknown bucket returns `{url: "", method: "GET", error: "..."}` — not an MCP error. Call `list_buckets` and retry with a listed name. key: full object key (e.g. `out/result.mp4`). A missing key returns the same envelope with recovery instructions; call `list_objects` and retry with a listed key. Do not retry the same key. expires: presigned-URL lifetime in seconds, clamped to [300, 600]. Values outside the range are silently clamped, not rejected. Returns `{url, method: "GET", expires_at}`. The `url` is always a presigned GET URL that stops working at `expires_at` (a timestamp within the clamped [300, 600] s window) — this holds for every bucket, regardless of its `public` flag. It is not a permanent link. A lasting link to watch or share a public object is `cdn_url` from `list_objects` (`cdn_origin` + `/` + key). A private progressive file (`.mp4` / `.webm`, no `cdn_url`) is played by passing this `url` to `open_player`. Do not append anything — an extra query parameter breaks the signature. Do not pass this `url` to `open_player` for HLS/DASH, and do not use it as an HLS `source`. Also use it to download a private object or to feed `fetch_job_result`. Encode inputs use `cdn_url` (public) or `destination_url` (private), not this presigned GET.
    ConnectorOAuth
  • [FREE] Open a SolvScore credit file for your own agent so it can be underwritten. Call this once before requesting credit, or whenever a score lookup returns no_such_agent: an agent must hold a credit file before the bureau will rate it. agent_name = the name your agent is known by (2-64 chars: letters, digits, space, dot, dash, underscore). wallet = optional Base L2 address as 0x followed by 40 hex characters. Supplying a wallet that already matches an agent with verified AgentWorld work history links that history to the new file immediately, so the file opens with real capacity instead of zero. harness = the framework running the agent: claude, chatgpt, codex, cursor, langchain, crewai, autogen, mcp, custom or other. contact = optional email or URL the bureau can reach you at. Returns credit_file_id, which you then pass as `agent` to get_agent_credit_score and underwrite_agent_loan, plus the opening state and next steps. Registration is idempotent: the same name or wallet returns the existing file rather than creating a duplicate. Expect a thin file. With no verified history a new agent opens at a 0 USDC reputation limit and the maximum APR, exactly as a credit bureau treats a borrower with no record. Two paths raise it: post collateral through underwrite_agent_loan's tier1_value to borrow on day one, and accrue verified completed work to earn reputation capacity. Free and unauthenticated - no API key, no payment header.
    ConnectorNo auth
  • Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoin-hit-150k"; walks child markets, checks date-axis / threshold-axis ordering AND computes the partition_check (sum of YES prices across mutually-exclusive legs — should ≈1; deviations >3pp emit a BUY/SELL EVERY LEG signal). `topic` (for cross-event scanning): pass a seed question like "Strait of Hormuz traffic returns to normal" or "Fed rate decision"; searches related events across the platform, flattens markets, runs the comparator on the union. Cross-event mode catches "...by May 31" vs "...by Jun 30" patterns that single-event misses. SEMANTIC ANCHOR: cross-event pairs require ≥0.30 Jaccard similarity on question tokens (prevents Powell-Fed-Pause being paired with Powell-DOJ-probe); skipped_low_similarity surfaces the rejected pair count. PARTITION FILTER: drops will-person-X / will-manager-Y / will-someone-else- placeholder slugs; partitions with >20% placeholder fraction return null arb signal. Response: opportunities[] (gap_pp, suggested_trade, reasoning, monotonicity violation context), and in event mode partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, arbitrage.fill_check prices it against live CLOB depth (theoretical_edge_pp_at_book vs realizable_edge_pp at 1000 shares/leg, thin_legs[]) — realizable_edge_pp ≤ 0 means the overround exists only at last-trade, not in the book; do not trade it. For custom sizing use polymarket_fill_risk.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A local dashboard and Model Context Protocol server for managing a multi-project portfolio whose entire state lives in markdown files.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-native PostgreSQL health checker with 26 MCP tools for query analysis, bloat detection, migration safety, and CI integration.
    12 npm
    1
    MIT

Matching MCP Connectors

  • Extract the settlement clause of a single Polymarket or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at, the precision of the computation (e.g. "1-minute candle close" vs "60-second trailing average" vs "election outcome"), the evidence standard (official_source | consensus_reporting | any_credible_report | unspecified), and void_handling (cancellation/postponement settlement — reused verbatim from bet_research's cancellation_rule detector, not re-derived). Parses Polymarket's `description` field (fetched via polymarket_market) or Kalshi's `rules_primary` + `rules_secondary` fields (fetched via kalshi_market) with regex + a small vocabulary — no LLM pass, so an unusual clause reports confidence:"low" rather than a guess. Pass `market` as a Polymarket slug/URL or a Kalshi market ticker (e.g. "KXBTCD-26SEP1317-T66999.99"); a Kalshi EVENT ticker (e.g. "KXBTCD-26SEP1317") also works — it picks one representative market under that event, since the settlement mechanism is normally shared across all strikes/legs in one event. Use this before treating a polymarket_kalshi_spread row as a real arbitrage: two ladders that look alike can settle on different sources, at different times, with different precision — this tool is how you check. Pair with resolution_diff to compare two markets directly. KNOWN GAP: idiosyncratic phrasing that doesn't match the vocabulary returns confidence:"low" and evidence_standard:"unspecified" rather than an LLM-guessed answer.
    ConnectorNo auth
  • [FIND] START HERE when you know what you want. Free-text search across every active RRG listing. This endpoint answers DEFINED intent, not open browse. Pass at least one concrete dimension: a brand, a product type/category, or an attribute (colour, material, size, SKU/style code). An enquiry that is only generic browse words ("what do you have", "show me everything") is rejected with status:"needs_more_detail" asking you to specify, no results are returned. To browse without intent, call list_drops instead. Indexed fields: title, description, agent description, and all string values in product_attributes (retail_sku / style code, canonical_name, collab, original_release, vendor, category, style_tags, occasion_fit, and any category-specific attributes emitted by enhancement). Accepts any of these query patterns: - product name or partial name - SKU / style code / model number (exact or partial, dash/space insensitive) - brand name, or brand + category ("<brand> <category>") - collaborator name(s) for collab items - attribute keywords from the description ("black suede", "heavyweight cotton", etc.) Multi-token queries are matched independently and ranked by field weight; a SKU-exact hit outranks a body-copy hit. Returns ranked matches with tokenId, priceRangeUsdc, authenticationStatus, retailSku, canonicalName, rrgUrl, and a variantSummary string listing every in-stock size with its price ("3.5=$1583, 4=$1899, 10.5=$770, …"). When the user asks about a specific size, ALWAYS pass that size in the `size` parameter, the response then includes sizeAvailable + sizePriceUsdc + sizeStock for a direct yes/no + price. For queries like "size 10.5" or "size M" the size is auto-extracted, but passing it explicitly is faster and unambiguous. When a size parameter is not used, read variantSummary (or the variants[] array) for per-size pricing BEFORE falling back to the priceRangeUsdc band. Per-size prices are exact; the band is only a floor→ceiling range. Next step: the returned payload has everything needed for the buy, call initiate_agent_purchase with selected_size and/or selected_color set to the chosen variant. Pass selected_color whenever the listing has a colour axis (variants[].color non-null) so fulfillment ships the right finish. get_drop_details is optional (adds signed image URLs + shipping context). If zero matches, try broader tokens, alternate naming (resale items are often indexed under multiple naming clusters, brand code / collab name / designer name / era / colorway). If still zero, call list_drops to browse.
    ConnectorNo auth
  • [FIND] START HERE when you know what you want. Free-text search across every active RRG listing. This endpoint answers DEFINED intent, not open browse. Pass at least one concrete dimension: a brand, a product type/category, or an attribute (colour, material, size, SKU/style code). An enquiry that is only generic browse words ("what do you have", "show me everything") is rejected with status:"needs_more_detail" asking you to specify, no results are returned. To browse without intent, call list_drops instead. Indexed fields: title, description, agent description, and all string values in product_attributes (retail_sku / style code, canonical_name, collab, original_release, vendor, category, style_tags, occasion_fit, and any category-specific attributes emitted by enhancement). Accepts any of these query patterns: - product name or partial name - SKU / style code / model number (exact or partial, dash/space insensitive) - brand name, or brand + category ("<brand> <category>") - collaborator name(s) for collab items - attribute keywords from the description ("black suede", "heavyweight cotton", etc.) Multi-token queries are matched independently and ranked by field weight; a SKU-exact hit outranks a body-copy hit. Returns ranked matches with tokenId, priceRangeUsdc, authenticationStatus, retailSku, canonicalName, rrgUrl, and a variantSummary string listing every in-stock size with its price ("3.5=$1583, 4=$1899, 10.5=$770, …"). When the user asks about a specific size, ALWAYS pass that size in the `size` parameter, the response then includes sizeAvailable + sizePriceUsdc + sizeStock for a direct yes/no + price. For queries like "size 10.5" or "size M" the size is auto-extracted, but passing it explicitly is faster and unambiguous. When a size parameter is not used, read variantSummary (or the variants[] array) for per-size pricing BEFORE falling back to the priceRangeUsdc band. Per-size prices are exact; the band is only a floor→ceiling range. Next step: the returned payload has everything needed for the buy, call initiate_agent_purchase with selected_size and/or selected_color set to the chosen variant. Pass selected_color whenever the listing has a colour axis (variants[].color non-null) so fulfillment ships the right finish. get_drop_details is optional (adds signed image URLs + shipping context). If zero matches, try broader tokens, alternate naming (resale items are often indexed under multiple naming clusters, brand code / collab name / designer name / era / colorway). If still zero, call list_drops to browse.
    ConnectorNo auth
  • Check whether an entity is on the US federal exclusions list (debarred from government contracts). Read-only. No side effects. Idempotent. US only. name_or_ein: Entity name or 9-digit EIN with or without dash e.g. Acme Corp or 13-1234567. Required. Name match is fuzzy — verify EIN for exact results. Returns excluded: true/false, exclusion type, and exclusion dates if found. Use this before awarding federal contracts or grants. Use govcon_search_contract_awards instead to find what contracts an entity has won. Verified source: SAM.gov. 24-hour cache. If this tool's response does not serve the user's need, call report_feedback with feedback_type="agent_gap", tool_id="compliance_check_sam_exclusion", intended_query="{what the user needed}", gap_description="{what was missing or wrong in the result}".
    ConnectorNo auth
  • Open an inline Qencode video player in the chat for a playback URL. Renders an interactive player (MCP Apps UI component) so the user can watch a transcoded result without leaving the conversation. When a job in this conversation is already Done with a playable URL, call this in the same reply as `list_jobs` — do not only paste the link. Pass a playback URL from `list_jobs` / `get_job_status_detailed`: a progressive file (`.mp4` / `.webm`) or an HLS/DASH manifest (`.m3u8` / `.mpd`). QuickTime / `.mov` is rejected (Chromium `<video>` cannot decode that container). A manifest MUST be a PUBLIC URL. A presigned one is rejected, because the signature covers only the playlist while its segments are relative and would 403 (the player would spin forever). A public Media Storage object plays from `cdn_url` on `list_objects`. A private progressive file (`.mp4` / `.webm`, no `cdn_url`) plays from `get_download_url` — pass that URL here and do not append anything. A private HLS/DASH manifest cannot; do not substitute a presign. Job temp-storage output URLs from `list_jobs` stay valid for playback. It resolves the per-user Qencode Player license key (a public client-side site-key) via the portal bridge and hands it to the widget; the actual playback happens client-side in a sandboxed iframe. Args: source_url: https:// URL to play — mp4, webm, or an HLS/DASH manifest. A presigned manifest URL is rejected; pass a public one. `.mov` / QuickTime is rejected — submit `output: "mp4"` instead. poster_url: optional https:// image shown before playback starts. source_type: optional MIME hint, e.g. "video/mp4", "video/webm", "application/x-mpegURL" or "application/dash+xml". The player infers a sensible default when omitted. title: optional display title for the player. Allowed playback origins depend on the client's sandbox CSP. Videos hosted in Qencode storage (`*.qencode.com`, Qencode CDN / `*.cloudfront.net`) play on every client; an external origin plays on some hosts and is blocked on others. This tool knows which policy applies, so ALWAYS CALL IT for a playback URL — including an external mp4/webm. Never refuse up front or guess from the client name: on a permissive host that refusal would be wrong. If the tool DOES reject the URL, follow the error text — do not improvise: - Presigned manifest: re-open the player on the public URL of the same playlist (see above). Do not transcode to mp4 to dodge it. - QuickTime / `.mov`: do NOT retry `open_player`. Tell the user in-chat playback needs MP4, then submit `output: "mp4"` (not `repack` + `container: "mov"`) and open the resulting `.mp4`. - External origin on a strict client: do NOT silently transcode. Tell the user only Qencode-storage videos can be viewed in this client, and OFFER to create a Qencode Media Storage bucket and upload the video into it (`create_bucket` then `download_url_to_bucket` — server-side ingest, no re-encode); once they agree, open the player on the resulting Qencode URL. When the result carries a non-null `client_note`, pass its point on to the user in the same reply. It describes how THIS client presents the player — e.g. hosts that put the widget in a collapsed tool-call block, where the user sees no video until they expand it. Note: only public / temporary-storage outputs are supported for now. Signed-cookie / DRM playback does not work inside the chat sandbox yet.
    ConnectorOAuth
  • AI Visibility 360 | the caller's OWN brand-visibility report across the AI assistants (ChatGPT, Claude, Gemini, Perplexity, optionally Grok/DeepSeek/Mistral), read deterministically from stored runs server-side (the exact numbers the user sees in the app | nothing re-derived, NO LLM runs on this read and no run is started). In one sentence: which brands ChatGPT, Claude, Gemini and Perplexity recommend when someone asks about your category. Call it when a user asks "how visible is my brand in ChatGPT", "do assistants recommend us or a competitor", "which sources do the assistants cite", "what should we do to show up more", "did the AI visibility work turn into real traffic". Sections: overview (visibility score with delta and rank, the brand-vs-competitor leaderboard with visibility / share of voice / sentiment / average position, the per-provider score matrix and the concrete models that answered), prompts (per-prompt brand score vs the strongest competitor plus per-question-category rollups), sources (citation share of the brand's own domains, the cited-domain leaderboard, which providers expose citations at all), actions (the deterministic to-do queue: earned = pages to get featured on, owned = pages to build, each with impact and status), answers (the newest stored assistant answers with detected brand mentions and cited domains, text truncated honestly), impact (GA4 sessions referred by AI assistants for the property explicitly linked to this brand; an unlinked brand gets the honest empty state and the reason, never another property's numbers). EVERY number here counts only questions that do NOT name your own brand: a question naming the brand has already handed the assistant the answer. That holds for visibility, share of voice, rank and the per-assistant matrix AND for sources, gaps, pages, assistant searches, domain movers, perception and action effects. The questions that do name it are still measured, in `rankings_branded`, and the `population` block (present on every section set) carries both counts | never add the two together. The two evidence views keep every row instead: the prompt table (flag `names_you`) and `answers` (flag `question_names_your_brand`). A metric the window cannot support is null or absent (an honest dash), never a zero. Reads ONLY brands owned by the calling account; runs, prompt edits and settings are deliberately not exposed here. Recipe: pull the sections you need and interpret them yourself, citing the numbers. For a custom deliverable, write your derived table with create_dataset + write_rows and chart it with create_chart_from_spec. Requires the caller's own autario account (API key or OAuth) with an AI Visibility brand set up | see get_app_context("ai-visibility").
    ConnectorNo auth
  • Validate a metafield namespace and key before you define it. FREE. Shopify metafield namespaces and keys are lowercase alphanumerics and underscores; a capital letter or a dash is rejected at definition time, usually after the rest of the import has already run. Typical input {"namespace": "custom", "key": "Care-Instructions"} returns {"ok": false, "problems": ["key: dashes and capitals are not allowed"], "suggested_key": "care_instructions"}. Use when designing metafields. Not for the CSV column that carries them — that is product_csv_check. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"}. Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
    ConnectorNo auth
  • One page of a public account's timeline, projected down to what fits a context window. Calls the same upstream as `get_instagram_user_posts` and keeps, per post: code, full caption text, taken_at, media_type, like/comment/play counts, owner, ONE image URL and ONE video URL (the largest variant of each), video_duration, and the carousel slide count. Measured: 632 KB raw becomes about 20 KB; nothing is summarised and no post is dropped — every post and every caption byte survives, in upstream order. What does NOT survive: the other 9 resolution variants per image, dash manifests, and ~100 internal flag fields per post. If you need any of those — downloading every resolution, building a player, forensic detail — call `get_instagram_user_posts` instead; it returns the upstream response untouched. Page with `next_max_id` from the previous response; `more_available` says whether another page exists.
    ConnectorOAuth
  • One page of a public account's timeline, projected down to what fits a context window. Calls the same upstream as `get_instagram_user_posts` and keeps, per post: code, full caption text, taken_at, media_type, like/comment/play counts, owner, ONE image URL and ONE video URL (the largest variant of each), video_duration, and the carousel slide count. Measured: 632 KB raw becomes about 20 KB; nothing is summarised and no post is dropped — every post and every caption byte survives, in upstream order. What does NOT survive: the other 9 resolution variants per image, dash manifests, and ~100 internal flag fields per post. If you need any of those — downloading every resolution, building a player, forensic detail — call `get_instagram_user_posts` instead; it returns the upstream response untouched. Page with `next_max_id` from the previous response; `more_available` says whether another page exists.
    ConnectorOAuth
  • One page of a public account's timeline, projected down to what fits a context window. Calls the same upstream as `get_instagram_user_posts` and keeps, per post: code, full caption text, taken_at, media_type, like/comment/play counts, owner, ONE image URL and ONE video URL (the largest variant of each), video_duration, and the carousel slide count. Measured: 632 KB raw becomes about 20 KB; nothing is summarised and no post is dropped — every post and every caption byte survives, in upstream order. What does NOT survive: the other 9 resolution variants per image, dash manifests, and ~100 internal flag fields per post. If you need any of those — downloading every resolution, building a player, forensic detail — call `get_instagram_user_posts` instead; it returns the upstream response untouched. Page with `next_max_id` from the previous response; `more_available` says whether another page exists.
    ConnectorOAuth
  • Use this when the reference for a part is a 2D engineering drawing PDF (orthographic views with dimensions), not a photo. Deterministic, no vision model: reads the vector linework (stroke width, dash) and positioned text; classifies visible / hidden / center / dimension / extension lines; reads the title block scale, units and projection symbol; identifies front / top / side views by projection alignment (third- or first-angle); ties dimension text to its lines (⌀, R, 4×, ±, THRU, depth). Dimension values win over measured lengths. Rebuilds the part as the view silhouette extruded by the depth an orthogonal view shows, or a turned part revolved from its half-silhouette, plus holes from ⌀ circles with THRU or hidden-line depth. Returns `script` — a `.kcad.ts` with role-named params (width, thickness, holeDia, hole1X, dia1, step1Length …) — and `ledger`, an assumption ledger where stated dimensions are `visible`, symmetry-derived positions `inferred`, defaults `assumed` and an unstated depth `missing`; a dimension that disagrees with the linework keeps its value and records the disagreement as an open fact. With verify (default) the script is evaluated, re-projected through the svg-drawing view stage and compared: `fidelity.verdict` is match | partial | mismatch | failed with per-axis extents, hole diameters and per-view silhouette IoU. Pass `out` to write the script and its `<stem>.ledger.json` (resolve open facts with resolve_assumptions, then set_param). A scanned (raster-only) page fails with reference.drawing.raster-only — use trace_from_image for those.
    ConnectorNo auth
  • Realizable-vs-theoretical edge check against live CLOB order-book depth. REQUIRES one of `market` (single-market mode) or `event` (basket/partition mode). SINGLE-MARKET: pass a market slug/URL + side (buy_yes|sell_yes|buy_no|sell_no, default buy_yes) + size_usd (default 1000 — max spend on buys, target proceeds on sells); walks the ladder and returns top_of_book, vwap_fill_price, slippage_pp, shares_filled, max_fillable_usd, and a verdict (clean|degraded|cannot_fill). BASKET: pass an event slug/URL + side (sell_yes = capture overround by selling every leg, buy_yes = capture underround; default auto from partition sum) + size_usd interpreted as settlement notional S (shares per leg; each share pays $1); returns theoretical_sum vs realizable_sum (top-of-book vs VWAP across all legs), capture_ratio, profit_usd at executed size, per-leg fill detail, thin_legs[], max_clean_notional_usd, and forced_directional_risk naming the legs most likely to strand you unhedged. USE THIS before acting on any polymarket_arbitrage SELL/BUY-EVERY-LEG signal or any polymarket_edges trade above ~$500 — theoretical overround on thin books is not capturable, and partial basket fills convert an arb into an unhedged directional position (the dominant loss mode in real arb-bot P&L). FEES ARE NOT MODELLED HERE: vwap_fill_price/profit_usd are GROSS of Polymarket's own taker fee (rate 0.04-0.07 by category — see polymarket_edges/fees.ts), on top of which this tool prices depth-crossing cost; a thin-margin fill that looks clean here can still be net-negative after the fee.
    ConnectorNo auth
  • Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one city and settlement date with market_prob (mid), forecast_prob, and edge_pp per strike, plus the settlement clause verbatim. BACKTEST (`backtest_days: N`): scores an archived gridded forecast against the market on settled days and returns brier_market vs brier_forecast with a plain-English `verdict`, so the edge is MEASURED rather than asserted. READ THE WARNINGS — they are not boilerplate. (1) These markets DO NOT settle on the NWS. They settle on The Weather Company (weather.com) at a Kalshi station code such as CLINYC, which the response quotes verbatim; so part of every edge_pp is NWS-vs-Weather-Company disagreement about the same day at the same station, which is not mispricing and not tradeable. `settlement_vs_forecast_basis_f` from backtest mode is that part as a number. (2) The station is DERIVED from the settlement clause, never from the city name: Chicago settles at MIDWAY and New York at CENTRAL PARK, so a city-centre forecast would misprice a whole ladder. A station that cannot be resolved yields rows with no forecast and a reason, never a guessed coordinate. (3) forecast_prob assumes a normal distribution around the NWS high whose width is ASSUMED, not fitted (stated in `distribution_assumption`) — run backtest mode to see whether it is calibrated. (4) edge_pp is gross: no Kalshi fees, no bid-ask. MEASURED RESULT, AND IT IS NOT THE FLATTERING ONE: on the first backtest (KXHIGHNY, 13 settled days to 2026-09-11, 58 market observations) the MARKET beat the forecast — Brier 0.1008 for the market against 0.1594 for the archived gridded forecast, lower being better. So on that sample there is NO forecast edge to sell, and a large edge_pp is more likely to be the model disagreeing with a better-informed market than an opportunity. The measured settlement-vs-forecast basis was 1.7F mean absolute over 8 pinnable days, slightly warm-biased, which is a big share of a typical edge_pp on a 2-degree bracket. Re-run backtest_days before believing any edge; if a later sample reverses this, the numbers say so. NWS is US-only, so the ~30 international Kalshi weather series (London, Paris, Tokyo) return market prices with forecast_unavailable rather than a forecast. Precipitation series are listed but not yet priced. Cities: nyc, chicago, los angeles, miami, austin, houston, denver, philadelphia — or pass `series_ticker` for any other (e.g. "KXHIGHTBOS").
    ConnectorNo auth
  • JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in the next N hours, and which live markets resolve on them. This is a POSITIONING tool, not a speed product: results are cached like every other pack (≤ 60s TTL) and there is no push/webhook — do not use this to try to beat a release, use it to see what is coming and what is already priced. CATEGORIES: econ (CPI, Employment Situation/jobs report, GDP, PCE, PPI, retail sales, housing starts, jobless claims — via fred_release_dates per known release_id, since FRED's own cross-release calendar mostly returns recent actuals, not future dates), fed (the next FOMC meeting's rate decision, via fomc_calendar), fda (PDUFA action dates + FDA advisory-committee meetings, via pdufa_catalysts / fda_adcom_calendar), sec (SEC final rules whose own DATES clause names an effective date in the window, via federal-register recent_rules — usually finds nothing in a short window since SEC rules typically take effect 30–60 days out, which is an accurate answer, not a bug), court (ALWAYS EMPTY today — court-listener has no forward-looking scheduled-hearing calendar, only filing/termination dates, so this category returns zero releases with unsupported:true rather than fabricate one). Omit `categories` or pass "all" for every category. MATCHING AND ITS HONESTY CONTRACT: every release is returned even when it has ZERO matched markets — a release is never dropped just because nothing on Polymarket or Kalshi resolves on it (most FDA/SEC releases will show markets:[]; that is signal, not a gap). Every matched market carries resolves_on_this_release: "true" (the venue's own close/end date sits within ~36h of the release AND the question passed a subject filter — econ and fed only), "likely" (same subject filter, but the venue closes days away from the release date), or "unclear" (a keyword hit with no date to anchor against — always true for the fda category, which has no ladder structure to check a date against). matched_by names the mechanism (a Kalshi series ticker, a Polymarket search query, or an FDA keyword probe) so a caller can judge the match rather than trust a label. scheduled_at carries both `utc` and `et`; econ releases use the standing BLS/Census 8:30am ET convention (FRED's calendar itself has no clock time), FOMC decisions use the 2:00pm ET convention, and FDA/SEC dates are date_only:true (no reliable clock time exists for either). DO NOT treat a matched market as a real arbitrage or a settled fact on its own — a market question sharing tokens with a release name is not proof it settles on that release's own published number. Call resolution_audit / resolution_diff (fleet #1909) on a specific market before sizing anything here. An empty window (zero releases across every requested category) returns error:"no_releases_in_window" with a widen-the-window hint rather than an empty array — econ releases especially cluster on specific dates each month, so a 48h window often straddles a dead stretch.
    ConnectorNo auth
  • Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise). ONLY for tools served by this Pipeworx connection — if the tool came from a different MCP server in your client (another vendor's Gmail, Splunk, Slack, etc. connector), we cannot fix it and reporting it here only delays you; file it with that server instead. Not sure? Pipeworx tool names are the ones this connection lists. Describe the issue in terms of Pipeworx tools/packs — don't paste the end-user's prompt. Filing without an account returns a `claim_token`; pass it back later as pipeworx_feedback({claim_token:"pwfb_…"}) to read whether it was fixed and what changed. The team reads digests daily and signal directly affects roadmap. Rate-limited to 5 per identifier per day. Free; doesn't count against your tool-call quota.
    ConnectorNo auth