Skip to main content
Glama

The Committee

Server Details

the-committee MCP — wraps StupidAPIs (keyless — no credential needed)

The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
18.8% over 74 days
Last Tested
Transport
Streamable HTTP
URL
Repository
pipeworx-io/mcp-the-committee
GitHub Stars
0
Server Listing
the-committee
ChatGPT
–
Claude
–

TDQS

B3.4/5.0

Scored across 45 tools

Disambiguation2/5

Several clusters have unclear boundaries: ask_pipeworx / ask_pipeworx_beta / ask_pipeworx_grounded / deep_research / discover_tools / suggest_questions all compete as entry points, and the Polymarket family (arbitrage, edges, edge_tracker, fill_risk, bet_research, spread, resolution_audit, resolution_diff, calibration, release_calendar_markets) overlaps heavily. Individual descriptions are detailed, but at the set level an agent must make many judgment calls about which near-duplicate tool applies.

Naming Consistency4/5

Nearly all tools use snake_case and are readable, with predictable multiword names such as polymarket_fill_risk, resolution_audit, and company_register_search. The convention is not strictly verb_noun throughout (entity_profile, company_facts, recent_alerts), but the style is consistent enough to be predictable.

Tool Count2/5

45 tools is very heavy for a coherent server surface, and many are meta-routing tools or near-duplicates rather than distinct capabilities. The set feels like a broad gateway bundled with a novelty Committee tool, not a tightly scoped server.

Completeness3/5

The surface covers many domains broadly, and memory/subscription lifecycles include create/list/delete and alert retrieval. However, the overall domain is diffuse, some tools are experimental or placeholder-like (ask_pipeworx_beta, the_committee_convene), and coverage is uneven rather than cleanly complete for any single stated purpose.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • Changedpolymarket_kalshi_spread2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  },
        -  {
        -    "topic": "bitcoin"
        -  },
        -  {
        -    "topic": "fed rate decision"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  },
        +  {
        +    "topic": "btc 15m"
        +  }
        +]
      • changedInput schema / properties / topic / description
        Previous value: -"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — plus the 15-minute crypto up/down windows btc_15m | eth_15m | sol_15m | xrp_15m | bnb_15m (\"btc 15m\", \"bitcoin 15 minute\"), which are answered by updown_venue_compare for the window in progress — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
    • Addedupdown_divergence_rate
    • Addedupdown_venue_compare
  2. 5 tool updates
    • Changedpolymarket_fill_risk1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "description": "Realizable fill risk against live order-book depth, plus Polymarket's own taker fee and the breakeven win-rate it implies (fleet #3446).",
        +  "properties": {
        +    "_hint": {
        +      "description": "Usage note — what is gross vs net of fees, and what is still unmodeled.",
        +      "type": "string"
        +    },
        +    "all_in_cost_pp": {
        +      "description": "Single-market mode: slippage_pp + fee_pp — the full round-trip cost of this fill.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "book_levels_visible": {
        +      "description": "Single-market mode: count of price levels on the side priced.",
        +      "type": "number"
        +    },
        +    "breakeven_win_rate_maker": {
        +      "description": "Single-market mode: win-rate a maker (no taker fee charged) would need — equals top_of_book.",
        +      "type": "number"
        +    },
        +    "breakeven_win_rate_taker": {
        +      "description": "Single-market mode: win-rate (0-1) the filled side needs to break even as a taker, INCLUDING the fee — always worse than the raw fill price.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "capture_ratio": {
        +      "description": "Basket mode: fraction of the theoretical edge that survives depth AND fees (fleet #3446 — was gross of fees before).",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "capture_ratio_gross": {
        +      "description": "Basket mode: the pre-fee figure capture_ratio used to report.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "dead_legs": {
        +      "description": "Basket mode: leg slugs with zero visible depth on the priced side.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "error": {
        +      "description": "Error code (orderbook_unavailable, event_books_unavailable, empty_book, bad_side, missing_input) — present only on failure.",
        +      "type": "string"
        +    },
        +    "event": {
        +      "description": "Basket mode: resolved event slug.",
        +      "type": "string"
        +    },
        +    "fee_pp": {
        +      "description": "Single-market mode: the taker fee as a percentage point of a $1 share — size-invariant, so it's the same number at any trade size.",
        +      "type": "number"
        +    },
        +    "fee_schedule": {
        +      "description": "Polymarket's published taker-fee parameters for this market, read off the market payload (fleet #3446) — never assumed fee-free.",
        +      "properties": {
        +        "basis": {
        +          "description": "Where the rate came from — payload (read off this market) is the most trustworthy.",
        +          "enum": [
        +            "payload",
        +            "category",
        +            "fallback",
        +            "fee_free"
        +          ],
        +          "type": "string"
        +        },
        +        "category": {
        +          "description": "Polymarket's fee category, e.g. 'crypto_fees_v2'.",
        +          "type": [
        +            "string",
        +            "null"
        +          ]
        +        },
        +        "exponent": {
        +          "description": "Exponent in fee = shares × rate × (p×(1-p))^exponent — 1 on every market observed.",
        +          "type": "number"
        +        },
        +        "fees_enabled": {
        +          "description": "false means this market genuinely charges no taker fee.",
        +          "type": [
        +            "boolean",
        +            "null"
        +          ]
        +        },
        +        "maker_rebate_rate": {
        +          "description": "Polymarket's published maker rebate rate, when known.",
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "taker_rate": {
        +          "description": "Taker-fee rate actually applied (0 means genuinely fee-free, never \"unknown\").",
        +          "type": "number"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "fee_usd": {
        +      "description": "Single-market mode: Polymarket taker fee in USD on the shares actually filled.",
        +      "type": "number"
        +    },
        +    "forced_directional_risk": {
        +      "description": "Basket mode: plain-English risk note naming dead/thin legs.",
        +      "type": "string"
        +    },
        +    "leg_count": {
        +      "description": "Basket mode: number of legs priced.",
        +      "type": "number"
        +    },
        +    "market": {
        +      "description": "Single-market mode: resolved market slug.",
        +      "type": "string"
        +    },
        +    "max_fillable_usd": {
        +      "description": "Single-market mode: total USD value of the entire visible side of the book.",
        +      "type": "number"
        +    },
        +    "message": {
        +      "description": "Human-readable error detail — present only on failure.",
        +      "type": "string"
        +    },
        +    "mode": {
        +      "description": "Which mode answered — set by which of market/event was passed.",
        +      "enum": [
        +        "single_market",
        +        "basket"
        +      ],
        +      "type": "string"
        +    },
        +    "partition_complete": {
        +      "description": "Basket mode: false means truncated_legs > 0 — edge figures are directional only.",
        +      "type": "boolean"
        +    },
        +    "per_leg": {
        +      "description": "Basket mode: per-leg fill detail.",
        +      "items": {
        +        "properties": {
        +          "depth_shares": {
        +            "type": "number"
        +          },
        +          "fee_usd": {
        +            "description": "This leg's own Polymarket taker fee in USD at the executed size.",
        +            "type": "number"
        +          },
        +          "fills_requested_size": {
        +            "type": "boolean"
        +          },
        +          "question": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "slippage_pp": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "slug": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "top_of_book": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          },
        +          "vwap_at_executed_size": {
        +            "type": [
        +              "number",
        +              "null"
        +            ]
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "question": {
        +      "description": "Single-market mode: the market question.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "realizable_at_executed_size": {
        +      "description": "Basket mode: VWAP sum across all legs at the executed size, net of each leg's own Polymarket taker fee (fleet #3446 — profit_usd was gross before).",
        +      "properties": {
        +        "edge_pp": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "fees_usd_total": {
        +          "description": "Sum of per_leg[].fee_usd across every leg.",
        +          "type": "number"
        +        },
        +        "note": {
        +          "description": "Present only when the basket is not executable at any size.",
        +          "type": "string"
        +        },
        +        "profit_usd": {
        +          "description": "NET of every leg's own Polymarket taker fee.",
        +          "type": "number"
        +        },
        +        "profit_usd_gross": {
        +          "description": "Before fees — kept alongside profit_usd so the fee cost is never hidden.",
        +          "type": "number"
        +        },
        +        "sum_yes": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "reasoning": {
        +      "description": "Plain-English explanation of the verdict, naming the all-in cost and breakeven.",
        +      "type": "string"
        +    },
        +    "scaled_down_by_thinnest_leg": {
        +      "description": "Basket mode: true if executed size was capped below the requested size.",
        +      "type": "boolean"
        +    },
        +    "settlement_notional_executed_usd": {
        +      "description": "Basket mode: shares-per-leg actually executable, scaled down by the thinnest leg.",
        +      "type": "number"
        +    },
        +    "settlement_notional_requested_usd": {
        +      "description": "Basket mode: requested shares-per-leg (the size_usd argument).",
        +      "type": "number"
        +    },
        +    "shares_filled": {
        +      "description": "Single-market mode: shares actually fillable from visible depth.",
        +      "type": "number"
        +    },
        +    "side": {
        +      "description": "Single-market mode: the side actually priced (buy_yes|sell_yes|buy_no|sell_no).",
        +      "type": "string"
        +    },
        +    "side_auto_selected": {
        +      "description": "Basket mode: true if side was inferred from the partition sum rather than passed explicitly.",
        +      "type": "boolean"
        +    },
        +    "size_usd_requested": {
        +      "description": "Single-market mode: the size_usd argument, clamped.",
        +      "type": "number"
        +    },
        +    "slippage_pp": {
        +      "description": "Single-market mode: |vwap - top_of_book| in percentage points.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    },
        +    "strategy": {
        +      "description": "Basket mode: which side was priced across every leg.",
        +      "enum": [
        +        "sell_yes_every_leg",
        +        "buy_yes_every_leg"
        +      ],
        +      "type": "string"
        +    },
        +    "theoretical": {
        +      "description": "Basket mode: top-of-book sum across all legs, before depth.",
        +      "properties": {
        +        "basis": {
        +          "type": "string"
        +        },
        +        "edge_pp": {
        +          "type": "number"
        +        },
        +        "sum_yes": {
        +          "type": "number"
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "thin_legs": {
        +      "description": "Basket mode: leg slugs that cannot cleanly absorb the requested size.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "title": {
        +      "description": "Basket mode: event title.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "top_of_book": {
        +      "description": "Single-market mode: best price on the side priced.",
        +      "type": "number"
        +    },
        +    "truncated_legs": {
        +      "description": "Basket mode: legs dropped by the 80-leg cap, if any.",
        +      "type": "number"
        +    },
        +    "usd_filled": {
        +      "description": "Single-market mode: dollars actually fillable from visible depth.",
        +      "type": "number"
        +    },
        +    "verdict": {
        +      "description": "Single-market mode: fill-quality verdict based on depth/slippage (independent of the fee).",
        +      "enum": [
        +        "clean",
        +        "degraded",
        +        "cannot_fill"
        +      ],
        +      "type": "string"
        +    },
        +    "vwap_fill_price": {
        +      "description": "Single-market mode: volume-weighted fill price across the requested size; null if nothing filled.",
        +      "type": [
        +        "number",
        +        "null"
        +      ]
        +    }
        +  },
        +  "type": "object"
        +}
    • Addedprediction_calibration
    • Changedresolution_audit3 fields changed
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket market slug or URL, OR a Kalshi market ticker (preferred) or event ticker (falls back to a representative market under that event)."New value: +"Polymarket (.com or .us) market slug or URL, OR a Kalshi market ticker (preferred) or event ticker (falls back to a representative market under that event)."
      • changedInput schema / properties / venue / description
        Previous value: -"Which venue to fetch the market from."New value: +"Which venue to fetch the market from. \"polymarket\" is the offshore venue (polymarket.com); \"polymarket-us\" is the separate, CFTC-regulated polymarket.us venue, matched by slug via its own search (no exact-slug lookup exists upstream)."
      • changedInput schema / properties / venue / enum
        Previous value: -[
        -  "polymarket",
        -  "kalshi"
        -]New value: +[
        +  "polymarket",
        +  "kalshi",
        +  "polymarket-us"
        +]
    • Changedresolution_diff2 fields changed
      • changedInput schema / properties / a / properties / venue / enum
        Previous value: -[
        -  "polymarket",
        -  "kalshi"
        -]New value: +[
        +  "polymarket",
        +  "kalshi",
        +  "polymarket-us"
        +]
      • changedInput schema / properties / b / properties / venue / enum
        Previous value: -[
        -  "polymarket",
        -  "kalshi"
        -]New value: +[
        +  "polymarket",
        +  "kalshi",
        +  "polymarket-us"
        +]
    • Changedresolve_entity6 fields changed
      • changedOutput schema / properties / cik_withheld / description
        Previous value: -"A CIK that came back from a FUZZY SEC name match and is NOT asserted, because the spine matched a stronger non-US candidate. The number is here so a caller who wanted the US filer can still use it; what changed is that we no longer claim it IS the answer. See `unresolved.cik` for the reason."New value: +"A CIK that came back from a FUZZY SEC name match and is NOT asserted, because the spine matched a stronger non-US candidate, or `match_status` is \"ambiguous\" or \"incomplete\" and the SEC hit was not an exact ticker, CIK or legal name (fleet #3606). The number is here so a caller who wanted the US filer can still use it; what changed is that we no longer claim it IS the answer. See `unresolved.cik` for the reason."
      • addedOutput schema / properties / company_name_withheld
        Added value: +{
        +  "description": "The company name of a FUZZY SEC name match that is NOT asserted, withheld together with `cik_withheld`. See `unresolved.cik`.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / figi_withheld / description
        Previous value: -"A FIGI that matched this name in OpenFIGI (`figi_match: \"name_search\"`) and is NOT asserted, because `match_status` is \"incomplete\": a name search cannot tell a company apart from a security carrying its name, and the registers that would have settled it are the ones we could not ask. A `ticker_map` FIGI is never withheld this way — it is corroborated by the resolved ticker it came from. Carried so a caller who accepts the caveat can use it; see `unresolved.figi`, and retry, since a transiently rate-limited register completes on the next call."New value: +"A FIGI that is NOT asserted. Either it matched this name in OpenFIGI (`figi_match: \"name_search\"`) while `match_status` is \"incomplete\" — a name search cannot tell a company apart from a security carrying its name, and the registers that would have settled it are the ones we could not ask — or it is a `ticker_map` FIGI whose ticker came from a FUZZY SEC name match that is itself withheld (`cik_withheld`), so the mapping inherits the doubt. A `ticker_map` FIGI from an EXACT SEC hit (a real ticker, a CIK, an exact legal name) is never withheld. Carried so a caller who accepts the caveat can use it; see `unresolved.figi`."
      • addedOutput schema / properties / lei_withheld
        Added value: +{
        +  "description": "A LEI that is NOT asserted: it matched the bare string exactly in GLEIF, but `match_status` is \"ambiguous\" or \"incomplete\" so the registers cannot say which company that string means, and a GLEIF hit on the same string is the same guess from another register. `relationships` is withheld with it. A LEI from an exact SEC hit, or from a complete legal name carrying its legal form, is never withheld. See `unresolved.lei`.",
        +  "type": "string"
        +}
      • changedOutput schema / properties / sec_alternatives / description
        Previous value: -"EDGAR's own discarded near-misses on a name match, surfaced instead of dropped."New value: +"EDGAR's other name-matching candidates: distinct companies, deduped by CIK, excluding this issuer's own share classes — surfaced instead of dropped so a caller can tell a genuinely CONTESTED name match from a clean one."
      • addedOutput schema / properties / ticker_withheld
        Added value: +{
        +  "description": "The ticker of a FUZZY SEC name match that is NOT asserted, withheld together with `cik_withheld` because it is the same guess. Carried so a caller who meant the US filer can still use it; see `unresolved.ticker`.",
        +  "type": "string"
        +}
  3. 13 tool updates
    • Addedarchive_compare
    • Addedarchive_evidence
    • Changedask_pipeworx1 field changed
      • addedInput schema / properties / packs
        Added value: +{
        +  "description": "OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedask_pipeworx_beta1 field changed
      • addedInput schema / properties / packs
        Added value: +{
        +  "description": "OPTIONAL. Restrict routing to these pack slugs (e.g. [\"sec-form-d\",\"sec-13f\"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
    • Changedask_pipeworx_grounded1 field changed
      • addedInput schema / properties / prefer_tool
        Added value: +{
        +  "description": "Run this exact tool instead of letting the router choose — use a name from a previous answer's alternatives[]. Arguments are still filled from your question. Unknown names are refused, never guessed.",
        +  "type": "string"
        +}
    • Addedclassify_row
    • Changedcompany_facts3 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "attribute": "revenue",
        -    "company": "AAPL",
        -    "period": {
        -      "fiscal_year": 2023,
        -      "type": "annual"
        -    }
        -  }
        -]New value: +[
        +  {
        +    "attribute": "revenue",
        +    "company": "AAPL",
        +    "period": {
        +      "fiscal_year": 2023,
        +      "type": "annual"
        +    }
        +  },
        +  {
        +    "attribute": "shares_outstanding",
        +    "company": "TSLA",
        +    "period": {
        +      "fiscal_quarter": 2,
        +      "fiscal_year": 2026,
        +      "type": "quarterly"
        +    }
        +  },
        +  {
        +    "attribute": "capex",
        +    "company": "TSLA",
        +    "period": {
        +      "fiscal_quarter": 2,
        +      "fiscal_year": 2026,
        +      "type": "quarterly"
        +    }
        +  },
        +  {
        +    "attribute": "net_income",
        +    "company": "TSLA",
        +    "period": {
        +      "fiscal_quarter": 4,
        +      "fiscal_year": 2025,
        +      "type": "quarterly"
        +    }
        +  }
        +]
      • changedInput schema / properties / attribute / description
        Previous value: -"Which figure. \"revenue\" = total consolidated revenue; \"net_income\" = net income (loss); \"cash\" = cash and cash equivalents at the period end."New value: +"Which figure. \"revenue\" = total consolidated revenue; \"net_income\" = net income (loss); \"cash\" = cash and cash equivalents at the period end; \"gross_profit\"; \"operating_income\"; \"eps_diluted\" (diluted EPS, unit USD/shares, never derived or summed); \"capex\" (cash paid for PP&E); \"operating_cash_flow\" (net cash from operating activities); \"long_term_debt\" (the noncurrent balance-sheet line where the filer tags it, else total long-term debt — `fact.measure` says which); \"shares_outstanding\" (dei cover-page common shares, unit \"shares\", as of the COVER DATE rather than the period end)."
      • changedInput schema / properties / attribute / enum
        Previous value: -[
        -  "revenue",
        -  "net_income",
        -  "cash"
        -]New value: +[
        +  "revenue",
        +  "net_income",
        +  "cash",
        +  "gross_profit",
        +  "operating_income",
        +  "eps_diluted",
        +  "capex",
        +  "operating_cash_flow",
        +  "long_term_debt",
        +  "shares_outstanding"
        +]
    • Addedcompany_register_search
    • Changedentity_profile2 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "OPTIONAL ISO 3166-1 alpha-2 of the business register you mean (\"NO\", \"FI\", \"GB\", \"JP\", \"FR\", \"EE\", \"BR\"). Only affects a NAME lookup, and is often what separates the company you mean from a US namesake. When a name resolves to a register entity with no CIK, the SEC/CIK-keyed sections are reported under `sources_skipped` with reason `not_queried` — they were never asked, which is not the same as having failed.",
        +  "type": "string"
        +}
      • changedInput schema / properties / value / description
        Previous value: -"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\"). A NAME now resolves through the national business registers as well as SEC EDGAR, so a non-US company returns its register identity and record rather than `resolved: false`."
    • Changedrelease_calendar_markets2 fields changed
      • addedOutput schema / properties / empty_reason
        Added value: +{
        +  "description": "Present ONLY on a zero-release window: \"no_releases_in_window\". The window was queried and nothing is scheduled — this is an answer, not a failure.",
        +  "type": "string"
        +}
      • addedOutput schema / properties / hint
        Added value: +{
        +  "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).",
        +  "type": "string"
        +}
    • Addedresearch_row
    • Changedresolve_entity2 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "OPTIONAL ISO 3166-1 alpha-2 of the country whose business register you mean (\"NO\", \"FI\", \"JP\", \"GB\", \"FR\", \"EE\", \"BR\"). Narrows the national-register fan-out and is often the difference between the right company and a US namesake — \"Apple\" with country \"NO\" is a Norwegian company, not Apple Inc. Omitting it searches every register we can name, which is the right default when you do not know. company only; ignored for drug.",
        +  "type": "string"
        +}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "brand": {
        +      "type": "string"
        +    },
        +    "candidates": {
        +      "description": "Rivals, best first. Populated on \"ambiguous\" and on \"matched\" alike.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "cik_withheld": {
        +      "description": "A CIK that came back from a FUZZY SEC name match and is NOT asserted, because the spine matched a stronger non-US candidate. The number is here so a caller who wanted the US filer can still use it; what changed is that we no longer claim it IS the answer. See `unresolved.cik` for the reason.",
        +      "type": "string"
        +    },
        +    "fanout_incomplete": {
        +      "description": "Present IFF at least one register in `searched[]` carried an `error` — set even when `match_status` stayed \"ambiguous\". `withheld_match` is the candidate this call declined to ASSERT because a register was missing, carried rather than discarded so a caller who accepts the caveat can still use it.",
        +      "properties": {
        +        "unavailable": {
        +          "items": {
        +            "properties": {
        +              "country": {
        +                "type": "string"
        +              },
        +              "error": {
        +                "type": "string"
        +              },
        +              "register": {
        +                "type": "string"
        +              },
        +              "register_key": {
        +                "type": "string"
        +              }
        +            },
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "withheld_match": {
        +          "type": [
        +            "object",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "figi_withheld": {
        +      "description": "A FIGI that matched this name in OpenFIGI (`figi_match: \"name_search\"`) and is NOT asserted, because `match_status` is \"incomplete\": a name search cannot tell a company apart from a security carrying its name, and the registers that would have settled it are the ones we could not ask. A `ticker_map` FIGI is never withheld this way — it is corroborated by the resolved ticker it came from. Carried so a caller who accepts the caveat can use it; see `unresolved.figi`, and retry, since a transiently rate-limited register completes on the next call.",
        +      "type": "string"
        +    },
        +    "ids": {
        +      "description": "Every identifier established: cik, ticker, company_name, lei, figi, isin, cusip, register_id, register_country. A key absent here appears in `unresolved` with a reason — never silently dropped.",
        +      "type": "object"
        +    },
        +    "ingredient": {
        +      "type": "string"
        +    },
        +    "match_explanation": {
        +      "description": "Plain words. Always present when the spine ran, and required on \"ambiguous\" and \"no_match\".",
        +      "type": "string"
        +    },
        +    "match_scoring": {
        +      "description": "The margin rule's own inputs, so a caller can see WHY it fell where it did.",
        +      "properties": {
        +        "margin": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "runner_up": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        },
        +        "thresholds": {
        +          "properties": {
        +            "floor": {
        +              "type": "number"
        +            },
        +            "margin": {
        +              "type": "number"
        +            },
        +            "match": {
        +              "type": "number"
        +            }
        +          },
        +          "type": "object"
        +        },
        +        "top": {
        +          "type": [
        +            "number",
        +            "null"
        +          ]
        +        }
        +      },
        +      "type": "object"
        +    },
        +    "match_status": {
        +      "description": "The headline to branch on. \"ambiguous\" is an ANSWER, not a failure: two companies matched the name equally well and both are in `candidates`. \"no_match\" means every register in `searched` was asked and none carried it. \"incomplete\" means one of them could NOT be asked (it carries an `error` in `searched[]`), so the candidate set is short by an unknown amount and no id is asserted — distinct from \"ambiguous\" because a RETRY is what resolves it, not a narrower query; `fanout_incomplete` names the unreachable registers and carries, under `withheld_match`, the candidate that would have been returned on a complete fan-out.",
        +      "enum": [
        +        "matched",
        +        "ambiguous",
        +        "no_match",
        +        "incomplete"
        +      ],
        +      "type": "string"
        +    },
        +    "notes": {
        +      "type": "string"
        +    },
        +    "query": {
        +      "type": "string"
        +    },
        +    "registers": {
        +      "description": "The matched entity as every register that carries it — the match (flagged `matched: true`) plus anything that collapsed into it. A Companies House number AND the LEI that crosswalks to it are the SAME answer, not rivals.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "related": {
        +      "description": "Entities that collapsed INTO the match, each carrying `collapsed_by`.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "description": "ISO-2 of the REGISTER, not of the company's operations.",
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "description": "That register's own snapshot date, per row, so a stale country is visible.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "detail_tool": {
        +            "description": "The live pack tool that returns the full record, e.g. \"brreg-no:get_entity\".",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_form": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "legal_name": {
        +            "type": "string"
        +          },
        +          "lei": {
        +            "description": "From the GLEIF crosswalk when present. Never guessed from a name.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "match_type": {
        +            "enum": [
        +              "id",
        +              "exact",
        +              "exact_form",
        +              "prefix",
        +              "tokens"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_kind": {
        +            "enum": [
        +              "legal",
        +              "trading",
        +              "former",
        +              "english",
        +              "kana"
        +            ],
        +            "type": "string"
        +          },
        +          "matched_name": {
        +            "description": "The name row that matched, exactly as the publisher spells it.",
        +            "type": "string"
        +          },
        +          "register": {
        +            "description": "Publisher + dataset, e.g. \"Brønnøysund Register Centre, Enhetsregisteret\". Never a URL or filename.",
        +            "type": "string"
        +          },
        +          "register_id": {
        +            "description": "The native id in the register's own canonical formatting.",
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "description": "Stable machine slug for the register.",
        +            "type": "string"
        +          },
        +          "registration_status": {
        +            "description": "GLEIF rows only: the LEI RECORD's lifecycle (ISSUED/LAPSED/RETIRED/...). A DIFFERENT fact from `status` — a lapsed LEI is unmaintained reference data about a company that may well still trade.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "score": {
        +            "description": "0-1, assigned centrally. An adapter never grades itself.",
        +            "type": "number"
        +          },
        +          "status": {
        +            "description": "The COMPANY's status.",
        +            "enum": [
        +              "active",
        +              "inactive",
        +              "dissolved",
        +              "unknown"
        +            ],
        +            "type": "string"
        +          },
        +          "status_raw": {
        +            "description": "The register's own status word, verbatim and unglossed.",
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          }
        +        },
        +        "required": [
        +          "country",
        +          "register",
        +          "register_key",
        +          "register_id",
        +          "legal_name",
        +          "score",
        +          "status"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "resolved": {
        +      "description": "At least one identifier was established. Read `match_status` and `unresolved` for WHICH — a company can be resolved in a national register with no CIK at all.",
        +      "type": "boolean"
        +    },
        +    "resources": {
        +      "type": "object"
        +    },
        +    "searched": {
        +      "description": "EVERY register asked, with its own as-of date and row count. A register that could not be reached carries `error` — 0 rows with an error is \"we could not ask\", 0 rows without one is \"nothing is there\", and they are different answers.",
        +      "items": {
        +        "properties": {
        +          "country": {
        +            "type": "string"
        +          },
        +          "data_as_of": {
        +            "type": [
        +              "string",
        +              "null"
        +            ]
        +          },
        +          "error": {
        +            "type": "string"
        +          },
        +          "register": {
        +            "type": "string"
        +          },
        +          "register_key": {
        +            "type": "string"
        +          },
        +          "rows": {
        +            "type": "number"
        +          }
        +        },
        +        "required": [
        +          "register",
        +          "register_key",
        +          "country",
        +          "rows"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sec_alternatives": {
        +      "description": "EDGAR's own discarded near-misses on a name match, surfaced instead of dropped.",
        +      "items": {
        +        "properties": {
        +          "cik": {
        +            "type": "string"
        +          },
        +          "company_name": {
        +            "type": "string"
        +          },
        +          "ticker": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "sources": {
        +      "description": "Per-identifier provenance. Every key in `ids` has a matching key here.",
        +      "type": "object"
        +    },
        +    "type": {
        +      "type": "string"
        +    },
        +    "unresolved": {
        +      "description": "Per-identifier reason an id could NOT be established — the honest twin of `ids`.",
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "type",
        +    "query",
        +    "resolved",
        +    "ids",
        +    "sources",
        +    "unresolved"
        +  ],
        +  "type": "object"
        +}
    • Changedsubscribe2 fields changed
      • changedInput schema / properties / params / description
        Previous value: -"Type-specific filter. sec_8k: {ticker:\"AAPL\", items?:[\"5.02\",\"1.01\"]}. polymarket_edge: {topic:\"fed\", min_spread_bps?:500}. fred_series: {series_id:\"UNRATE\"}. patent_grant: {applicant:\"Apple Inc.\"}. clinical_trial: {sponsor?:\"Pfizer\", condition?:\"lung cancer\", phase?:\"PHASE3\"} (sponsor or condition required)."New value: +"Type-specific filter. sec_8k: {ticker:\"AAPL\", items?:[\"5.02\",\"1.01\"]}. polymarket_edge: {topic:\"fed\", min_spread_bps?:500}. fred_series: {series_id:\"UNRATE\"}. patent_grant: {applicant:\"Apple Inc.\"}. clinical_trial: {sponsor?:\"Pfizer\", condition?:\"lung cancer\", phase?:\"PHASE3\"} (sponsor or condition required). form_d: {state?:\"CA\", industry?:\"Biotechnology\", min_amount?:500000, exemption?:\"06B\"} (all optional — omit all to watch every new Form D nationwide). news_keyword: {query:\"\\\"semiconductor sanctions\\\"\", lang?:\"eng\", domains?:[\"reuters.com\"]} (query required). job_post: EITHER {ats:\"greenhouse\", board_token:\"acme\"} (exact board) OR {domain:\"acme.com\"} (auto-detected), plus optional title_query/location_query substrings. tool_diff: {tool:\"form5500\", args?:{...}, fields:[\"headcount\"], schedule:\"daily\"} — re-runs that tool on schedule and fires when the named fields change; tool must be read-only and not need a Pipeworx-held platform key; schedule \"hourly\" needs the paid tier. new_entity: {state:\"CO\", name_query?:\"dental\", entity_type?:\"limited liability\"} — state is required and must be one of FL, NY, CO, OR, CT, TX, PA. tech_change: {domains:[\"acme.com\",\"example.org\"], technologies?:[\"Shopify\",\"Segment\"]} — domains required (1-200), technologies optional (exact names, case-insensitive) to narrow which detected technologies alert. Unknown keys in form_d/news_keyword/job_post/tool_diff/new_entity/tech_change params are rejected at subscribe time."
      • changedInput schema / properties / type / enum
        Previous value: -[
        -  "sec_8k",
        -  "polymarket_edge",
        -  "fred_series",
        -  "patent_grant",
        -  "clinical_trial"
        -]New value: +[
        +  "sec_8k",
        +  "polymarket_edge",
        +  "fred_series",
        +  "patent_grant",
        +  "clinical_trial",
        +  "form_d",
        +  "news_keyword",
        +  "job_post",
        +  "tool_diff",
        +  "new_entity",
        +  "tech_change"
        +]
  4. 30 tool updates
    • Changedai_visibility_check1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entity": "Tesla"
        +  }
        +]
    • Changedask_pipeworx3 fields changed
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_beta4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What is the current US unemployment rate?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question or request in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Changedask_pipeworx_grounded4 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "question": "What was Apple's fiscal 2023 revenue?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"Your question in natural language. Accepts query, q, prompt, text, input as aliases."New value: +"Your question in natural language. Accepts query, q, prompt, text, input, ask, message as aliases."
    • Addedcompany_facts
    • Changedcompare_entities1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "values": [
        +      "AAPL",
        +      "MSFT"
        +    ]
        +  }
        +]
    • Changeddeep_research9 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "depth": "quick",
        +    "question": "What is the current US unemployment rate and how has it changed over the past year?"
        +  }
        +]
      • addedInput schema / properties / ask
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / input
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / message
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / prompt
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / q
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • addedInput schema / properties / query
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
      • changedInput schema / properties / question / description
        Previous value: -"The research question, in natural language. Broad/multi-part is fine — decomposition is the point."New value: +"The research question, in natural language. Broad/multi-part is fine — decomposition is the point. Accepts query, q, prompt, text, input, ask, message as aliases."
      • addedInput schema / properties / text
        Added value: +{
        +  "description": "Alias for question.",
        +  "type": "string"
        +}
    • Changedentity_profile1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedforget4 fields changed
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
    • Changedgenerate_llms_txt1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "url": "https://pipeworx.io"
        +  }
        +]
    • Addedkalshi_weather_edge
    • Changedpipeworx_feedback1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.",
        +    "type": "other"
        +  }
        +]
    • Changedpipeworx_trending1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "window": "7d"
        +  }
        +]
    • Changedpolymarket_arbitrage1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "Fed rate decision"
        +  }
        +]
    • Changedpolymarket_edge_tracker1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "days": 14,
        +    "window": "1wk"
        +  }
        +]
    • Changedpolymarket_edges3 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "limit": 5,
        +    "window": "1wk"
        +  }
        +]
      • changedInput schema / properties / min_edge_pp / description
        Previous value: -"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage."New value: +"Minimum |edge| in percentage points to include (default 0.5). Edge is evaluated NET of slippage and Polymarket's own taker fee."
      • changedInput schema / properties / slippage_pp / description
        Previous value: -"Assumed execution slippage in percentage points per leg (default 0.3). Subtracted from raw |edge| before ranking and Kelly sizing. Polymarket has zero trading fees as of 2024 but bid/ask + thin depth typically eats 20-50bp per trade. Bump for very thin partitions; drop to 0 if you have a smarter fill model."New value: +"Assumed execution slippage in percentage points per leg (default 0.3), for bid/ask + thin depth cost that a last-trade price does not show. Subtracted from raw |edge| before ranking and Kelly sizing, ON TOP OF Polymarket's own taker fee — which is NOT zero (rate 0.04-0.07 depending on category, read off each market's own published fee schedule; see fees_pp_applied on every row and fees.ts for the full schedule). Bump slippage for very thin partitions; drop to 0 if you have a smarter fill model — the fee still applies regardless."
    • Changedpolymarket_fill_risk1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636",
        +    "side": "buy_yes",
        +    "size_usd": 1000
        +  }
        +]
    • Changedrecall4 fields changed
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key to retrieve (omit to list all keys)"New value: +"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
    • Changedrecent_changes1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "since": "30d",
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Addedrelease_calendar_markets
    • Changedremember10 fields changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "key": "target_ticker",
        +    "value": "AAPL"
        +  }
        +]
      • addedInput schema / properties / content
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / data
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / k
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • changedInput schema / properties / key / description
        Previous value: -"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\")"New value: +"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases."
      • addedInput schema / properties / label
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / name
        Added value: +{
        +  "description": "Alias for key.",
        +  "type": "string"
        +}
      • addedInput schema / properties / text
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • addedInput schema / properties / v
        Added value: +{
        +  "description": "Alias for value.",
        +  "type": "string"
        +}
      • changedInput schema / properties / value / description
        Previous value: -"Value to store (any text — findings, addresses, preferences, notes)"New value: +"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON."
    • Addedresolution_audit
    • Addedresolution_diff
    • Changedresolve_entity1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "type": "company",
        +    "value": "AAPL"
        +  }
        +]
    • Changedscan_competitor_ai_presence1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "entities": [
        +      "Pipeworx",
        +      "Zapier"
        +    ]
        +  }
        +]
    • Changedscan_dependency1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "package": "left-pad"
        +  }
        +]
    • Changedsearch_within1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "query": "supply-chain risk",
        +    "text": "Apple Inc. reported fiscal 2023 revenue of $383.285 billion, driven by strong iPhone and Services growth. Net income was $96.995 billion. The company faced supply-chain risk in China during the quarter."
        +  }
        +]
    • Changedsuggest_questions1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "topic": "finance"
        +  }
        +]
    • Changedthe_committee_convene10 fields changed
      • addedOutput schema / properties / committee
        Added value: +{
        +  "items": {
        +    "properties": {
        +      "member": {
        +        "type": "string"
        +      },
        +      "number": {
        +        "type": "number"
        +      },
        +      "statement": {
        +        "type": "string"
        +      },
        +      "vote": {
        +        "type": "string"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / deliberation_time
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / dissent
        Removed value: -{
        -  "description": "The member who dissented",
        -  "properties": {
        -    "name": {
        -      "description": "Name of the dissenting member",
        -      "type": "string"
        -    },
        -    "number": {
        -      "description": "The number the dissenter proposed",
        -      "type": "number"
        -    },
        -    "reason": {
        -      "description": "Reason for dissent",
        -      "type": "string"
        -    }
        -  },
        -  "type": "object"
        -}
      • addedOutput schema / properties / final_number
        Added value: +{
        +  "type": "number"
        +}
      • removedOutput schema / properties / members
        Removed value: -{
        -  "description": "Committee members and their arguments",
        -  "items": {
        -    "properties": {
        -      "argument": {
        -        "description": "The member's argument for their number",
        -        "type": "string"
        -      },
        -      "name": {
        -        "description": "Name of the committee member",
        -        "type": "string"
        -      },
        -      "number": {
        -        "description": "The number proposed by this member",
        -        "type": "number"
        -      }
        -    },
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • addedOutput schema / properties / minutes
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / next_meeting
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / question
        Added value: +{
        +  "type": "string"
        +}
      • removedOutput schema / properties / result
        Removed value: -{
        -  "description": "The number agreed upon by the committee",
        -  "type": "number"
        -}
      • addedOutput schema / properties / vote_result
        Added value: +{
        +  "type": "string"
        +}
    • Changedvalidate_claim1 field changed
      • addedInput schema / examples
        Added value: +[
        +  {
        +    "claim": "Apple's fiscal 2023 revenue was $383 billion"
        +  }
        +]
  5. 2 tool updates
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "will-bitcoin-reach-100k-in-july-2026"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
        -  }
        -]New value: +[
        +  {
        +    "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
    • Changedpolymarket_kalshi_spread2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  }
        +]
      • changedInput schema / properties / topic / description
        Previous value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
  6. 1 tool update
    • Changedentity_profile3 fields changed
      • changedInput schema / properties / type / description
        Previous value: -"Entity type. Only \"company\" supported today; person/place coming soon."New value: +"\"company\" or \"ticker\" — both are accepted and behave identically; `value` can be a ticker, CIK, or company name either way. person/place coming soon."
      • changedInput schema / properties / type / enum
        Previous value: -[
        -  "company"
        -]New value: +[
        +  "company",
        +  "ticker"
        +]
      • changedInput schema / properties / value / description
        Previous value: -"Ticker (e.g., \"AAPL\") or zero-padded CIK (e.g., \"0000320193\"). Names not supported — use resolve_entity first if you only have a name."New value: +"Ticker (e.g., \"AAPL\"), zero-padded CIK (e.g., \"0000320193\"), or company name (e.g., \"Moderna\") — names resolve via SEC EDGAR company-name match."

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server exposing 1,000+ pay-per-call API endpoints across agent infrastructure (memory, coordination, secrets, verification), data, compute, finance, weather, geography, and reference categories — payments via x402 protocol in USDC on Base.
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for Brazilian Federal Senate open data — 90 tools covering the legislative process, Senate administration, and citizen participation. Hosted on Cloudflare Workers (Streamable HTTP), no authentication required. Tool names and responses are in Portuguese (pt-BR), matching the official Senate data.
    69
    757 npm
    6
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.