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
Scored across 45 tools
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.
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.
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.
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.
3 tool updates
- Changed
polymarket_kalshi_spread2 fields changed- changed
Input schema / examplesPrevious 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" + } +] - changed
Input schema / properties / topic / descriptionPrevious 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."
- Added
updown_divergence_rate - Added
updown_venue_compare
5 tool updates
- Changed
polymarket_fill_risk1 field changed- changed
Output 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" +}
- Added
prediction_calibration - Changed
resolution_audit3 fields changed- changed
Input schema / properties / market / descriptionPrevious 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)." - changed
Input schema / properties / venue / descriptionPrevious 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)." - changed
Input schema / properties / venue / enumPrevious value: -[ - "polymarket", - "kalshi" -]New value: +[ + "polymarket", + "kalshi", + "polymarket-us" +]
- Changed
resolution_diff2 fields changed- changed
Input schema / properties / a / properties / venue / enumPrevious value: -[ - "polymarket", - "kalshi" -]New value: +[ + "polymarket", + "kalshi", + "polymarket-us" +] - changed
Input schema / properties / b / properties / venue / enumPrevious value: -[ - "polymarket", - "kalshi" -]New value: +[ + "polymarket", + "kalshi", + "polymarket-us" +]
- Changed
resolve_entity6 fields changed- changed
Output schema / properties / cik_withheld / descriptionPrevious 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." - added
Output schema / properties / company_name_withheldAdded 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" +} - changed
Output schema / properties / figi_withheld / descriptionPrevious 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`." - added
Output schema / properties / lei_withheldAdded 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" +} - changed
Output schema / properties / sec_alternatives / descriptionPrevious 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." - added
Output schema / properties / ticker_withheldAdded 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" +}
13 tool updates
- Added
archive_compare - Added
archive_evidence - Changed
ask_pipeworx1 field changed- added
Input schema / properties / packsAdded 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" +}
- Changed
ask_pipeworx_beta1 field changed- added
Input schema / properties / packsAdded 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" +}
- Changed
ask_pipeworx_grounded1 field changed- added
Input schema / properties / prefer_toolAdded 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" +}
- Added
classify_row - Changed
company_facts3 fields changed- changed
Input schema / examplesPrevious 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" + } + } +] - changed
Input schema / properties / attribute / descriptionPrevious 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)." - changed
Input schema / properties / attribute / enumPrevious 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" +]
- Added
company_register_search - Changed
entity_profile2 fields changed- added
Input schema / properties / countryAdded 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" +} - changed
Input schema / properties / value / descriptionPrevious 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`."
- Changed
release_calendar_markets2 fields changed- added
Output schema / properties / empty_reasonAdded 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" +} - added
Output schema / properties / hintAdded value: +{ + "description": "Present ONLY on a zero-release window: what to change (usually a wider `hours`).", + "type": "string" +}
- Added
research_row - Changed
resolve_entity2 fields changed- added
Input schema / properties / countryAdded 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" +} - changed
Output 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" +}
- Changed
subscribe2 fields changed- changed
Input schema / properties / params / descriptionPrevious 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." - changed
Input schema / properties / type / enumPrevious 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" +]
30 tool updates
- Changed
ai_visibility_check1 field changed- added
Input schema / examplesAdded value: +[ + { + "entity": "Tesla" + } +]
- Changed
ask_pipeworx3 fields changed- added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious 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."
- Changed
ask_pipeworx_beta4 fields changed- added
Input schema / examplesAdded value: +[ + { + "question": "What is the current US unemployment rate?" + } +] - added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious 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."
- Changed
ask_pipeworx_grounded4 fields changed- added
Input schema / examplesAdded value: +[ + { + "question": "What was Apple's fiscal 2023 revenue?" + } +] - added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious 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."
- Added
company_facts - Changed
compare_entities1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "values": [ + "AAPL", + "MSFT" + ] + } +]
- Changed
deep_research9 fields changed- added
Input schema / examplesAdded value: +[ + { + "depth": "quick", + "question": "What is the current US unemployment rate and how has it changed over the past year?" + } +] - added
Input schema / properties / askAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / inputAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / messageAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / promptAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / qAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - added
Input schema / properties / queryAdded value: +{ + "description": "Alias for question.", + "type": "string" +} - changed
Input schema / properties / question / descriptionPrevious 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." - added
Input schema / properties / textAdded value: +{ + "description": "Alias for question.", + "type": "string" +}
- Changed
entity_profile1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
forget4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious value: -"Memory key to delete"New value: +"Memory key to delete. Accepts name, k, label as aliases." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
generate_llms_txt1 field changed- added
Input schema / examplesAdded value: +[ + { + "url": "https://pipeworx.io" + } +]
- Added
kalshi_weather_edge - Changed
pipeworx_feedback1 field changed- added
Input schema / examplesAdded value: +[ + { + "message": "Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.", + "type": "other" + } +]
- Changed
pipeworx_trending1 field changed- added
Input schema / examplesAdded value: +[ + { + "window": "7d" + } +]
- Changed
polymarket_arbitrage1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "Fed rate decision" + } +]
- Changed
polymarket_edge_tracker1 field changed- added
Input schema / examplesAdded value: +[ + { + "days": 14, + "window": "1wk" + } +]
- Changed
polymarket_edges3 fields changed- added
Input schema / examplesAdded value: +[ + { + "limit": 5, + "window": "1wk" + } +] - changed
Input schema / properties / min_edge_pp / descriptionPrevious 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." - changed
Input schema / properties / slippage_pp / descriptionPrevious 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."
- Changed
polymarket_fill_risk1 field changed- added
Input schema / examplesAdded value: +[ + { + "market": "will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636", + "side": "buy_yes", + "size_usd": 1000 + } +]
- Changed
recall4 fields changed- added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious 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." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +}
- Changed
recent_changes1 field changed- added
Input schema / examplesAdded value: +[ + { + "since": "30d", + "type": "company", + "value": "AAPL" + } +]
- Added
release_calendar_markets - Changed
remember10 fields changed- added
Input schema / examplesAdded value: +[ + { + "key": "target_ticker", + "value": "AAPL" + } +] - added
Input schema / properties / contentAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / dataAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / kAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - changed
Input schema / properties / key / descriptionPrevious 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." - added
Input schema / properties / labelAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / nameAdded value: +{ + "description": "Alias for key.", + "type": "string" +} - added
Input schema / properties / textAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - added
Input schema / properties / vAdded value: +{ + "description": "Alias for value.", + "type": "string" +} - changed
Input schema / properties / value / descriptionPrevious 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."
- Added
resolution_audit - Added
resolution_diff - Changed
resolve_entity1 field changed- added
Input schema / examplesAdded value: +[ + { + "type": "company", + "value": "AAPL" + } +]
- Changed
scan_competitor_ai_presence1 field changed- added
Input schema / examplesAdded value: +[ + { + "entities": [ + "Pipeworx", + "Zapier" + ] + } +]
- Changed
scan_dependency1 field changed- added
Input schema / examplesAdded value: +[ + { + "package": "left-pad" + } +]
- Changed
search_within1 field changed- added
Input schema / examplesAdded 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." + } +]
- Changed
suggest_questions1 field changed- added
Input schema / examplesAdded value: +[ + { + "topic": "finance" + } +]
- Changed
the_committee_convene10 fields changed- added
Output schema / properties / committeeAdded value: +{ + "items": { + "properties": { + "member": { + "type": "string" + }, + "number": { + "type": "number" + }, + "statement": { + "type": "string" + }, + "vote": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" +} - added
Output schema / properties / deliberation_timeAdded value: +{ + "type": "string" +} - removed
Output schema / properties / dissentRemoved 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" -} - added
Output schema / properties / final_numberAdded value: +{ + "type": "number" +} - removed
Output schema / properties / membersRemoved 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" -} - added
Output schema / properties / minutesAdded value: +{ + "type": "string" +} - added
Output schema / properties / next_meetingAdded value: +{ + "type": "string" +} - added
Output schema / properties / questionAdded value: +{ + "type": "string" +} - removed
Output schema / properties / resultRemoved value: -{ - "description": "The number agreed upon by the committee", - "type": "number" -} - added
Output schema / properties / vote_resultAdded value: +{ + "type": "string" +}
- Changed
validate_claim1 field changed- added
Input schema / examplesAdded value: +[ + { + "claim": "Apple's fiscal 2023 revenue was $383 billion" + } +]
2 tool updates
- Changed
bet_research2 fields changed- changed
Input schema / examplesPrevious 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" + } +] - changed
Input schema / properties / market / descriptionPrevious 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."
- Changed
polymarket_kalshi_spread2 fields changed- changed
Input schema / examplesPrevious value: -[ - { - "topic": "fed" - }, - { - "topic": "btc" - } -]New value: +[ + { + "topic": "fed" + }, + { + "topic": "btc" + }, + { + "topic": "bitcoin" + }, + { + "topic": "fed rate decision" + } +] - changed
Input schema / properties / topic / descriptionPrevious 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."
1 tool update
- Changed
entity_profile3 fields changed- changed
Input schema / properties / type / descriptionPrevious 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." - changed
Input schema / properties / type / enumPrevious value: -[ - "company" -]New value: +[ + "company", + "ticker" +] - changed
Input schema / properties / value / descriptionPrevious 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
victorian-complaint MCP — wraps StupidAPIs (keyless — no credential needed)
buzzword-density MCP — wraps StupidAPIs (keyless — no credential needed)
excuse MCP — wraps StupidAPIs (keyless — no credential needed)
conspiracy-theory MCP — wraps StupidAPIs (keyless — no credential needed)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenance26 US federal data domains as 23 MCP tools. Ed25519 signed responses. Free, no API key.104 npm1MIT

oom-x402-mcpofficial
FlicenseNot gradedqualityBmaintenanceMCP 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.-- AlicenseAqualityAmaintenanceMCP 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.69757 npm6MIT

Orisha Data MCPofficial
AlicenseAqualityDmaintenanceClient-side MCP wrapper for Orisha Data's public x402 endpoints, providing free preview tools and paid market data access via x402 payments.753 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.