Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://gateway.pipeworx.io
Added "edgar_filing_exhibit_text" and "prediction_calibration"; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 6 more (57 tools before, 59 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨43 unchanged words⟩ Routes the question to the right one of67,997115 tools across18391872 verified sources, fills arguments, returns the structured ⟨165 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same67,997115 tools, same arguments, same response shape) ⟨68 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨8 unchanged words⟩ as ask_pipeworx — picks the right tool from67,997115 across18391872 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's18391872 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ , routes each to the right one of67,997115 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨91 unchanged words⟩ values by default, each labeled with fiscal_period(FY/Q1/Q2/Q3/Q4)and form, newest first, PLUS a `latest` field holding the single freshest data point. Every row also carries `period_start`/`period_end`/`duration_days` so the window a value covers is never ambiguous. Q4 rows are DERIVED (FY minus Q1-Q3, ⟨16 unchanged words⟩ 2024" questions are answerable directly from `values`. CASH-FLOW-STATEMENT concepts (OperatingCashFlow, Capex and siblings) are filed CUMULATIVELY by most filers — a 10-Q's six-month figure is reported under the SAME period label the discrete quarter would use. Those rows are labeled `fiscal_period` "H1" (six months) or "9M" (nine months) with `ytd:true`, never "Q2"/"Q3" bare, and a discrete-quarter sibling (`derived:true`, e.g. Q2 = H1 minus Q1) is added alongside so "capex Q2" is still answerable without presenting the six-month total as a quarter. Income-statement lines (Revenue, NetIncomeLoss) are usually filed quarter-only already and are unaffected. For one specific period, pass `fiscal_year` and/or `fiscal_period` ⟨72 unchanged words⟩ a stale annual figure never masks a newerquarter.quarter; for a YTD-shaped concept, `latest` prefers the discrete derived quarter over the as-filed cumulative figure, so it is never silently a 2-3x-too-large number. Use for "what was AAPL's revenue in ⟨21 unchanged words⟩
⟨371 unchanged words⟩ part (going_concern | liquidity | capital_resources | subsequent_events | risk_factors — 10-K Item 1A, bounded from its heading to the next Item heading, table-of-contents hits and cross-references skipped; the response carries `section_diagnostics` with its length and where it ended); `search` runs within that slice when both ⟨167 unchanged words⟩
⟨4 unchanged words⟩ :"liquidity","ticker":"ACTU"},{"form_type":"10-K","section":"risk_factors","ticker":"AAPL"},{"accession":"0001683168-26-003909","cik":"1652935"," ⟨720 unchanged words⟩ back to the whole document (section_found:false). risk_factors applies to 10-K text only and is the filer-written wording, untagged: it is not a classification of the risks.","enum":["going_concern","liquidity","capital_resources","subsequent_events","risk_factors"],"type":"string"},"ticker": ⟨99 unchanged words⟩
Realizable-vs-theoretical edge check against live CLOB order-bookdepth.depth — AND Polymarket's own taker fee, which is never zero and is folded in rather than left for you to add (fleet #3446: r/PredictionsMarkets flagged a "clean" fill that quietly omitted it as optimistic in the direction that loses money). REQUIRES one of `market` (single-market mode) or ⟨33 unchanged words⟩ top_of_book, vwap_fill_price, slippage_pp, shares_filled, max_fillable_usd,andverdict (clean|degraded|cannot_fill), fee_schedule ({category, taker_rate, exponent, maker_rebate_rate, fees_enabled, basis} — read off THIS market, never assumed free), fee_usd/fee_pp at the actual VWAP fill, breakeven_win_rate_taker (the win probability your side needs just to cover price + fee — ~51.8% on averdict50c crypto taker fill, not 50%), breakeven_win_rate_maker (clean|degraded|cannot_fillno fee charged to makers — any rebate is in fee_schedule.maker_rebate_rate)., and all_in_cost_pp = slippage_pp + fee_pp. BASKET: pass an event slug/URL + side ( ⟨36 unchanged words⟩ (top-of-book vs VWAP across all legs), capture_ratio
Extract the settlement clause of a single Polymarket (.com or .us) or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at (falling back to the market TITLE when the clause itself says "the time range specified in the title" — e.g. Polymarket's 15-minute Chainlink TWAP family), the precision of the computation (e.g. "1-minute candle close" vs "60-second trailing average" vs "twap_60s_lookback"/"twap_30s_lookback" vs "election outcome"), comparison_basis — what is compared to what (end_average_vs_start_average | close_vs_open; orthogonal to precision, since venues can share this comparison shape while computing each endpoint differently), the evidence standard (official_source | consensus_reporting | any_credible_report ⟨15 unchanged words⟩ . Parses Polymarket's `description` field (fetched via polymarket_market, or via polymarket_us_search for the .us venue) or Kalshi's `rules_primary` + `rules_secondary` fields (fetched ⟨21 unchanged words⟩ a guess. Pass `market` as a Polymarket slug/URL (either venue) or a Kalshi market ticker (e.g. "KXBTCD-26SEP1317-T66999.99" ⟨44 unchanged words⟩ that look alike can settle on different sources (Polymarket.com's Chainlink TWAP stream vs Kalshi/Polymarket US's CF Benchmarks BRTI), at different times, or with a different
⟨10 unchanged words⟩ of `a` and `b`; either can be Polymarket .com, Polymarket US, or Kalshi) — runs resolution_audit on both sides and compares source, settle time, precision, comparison_basis, and evidence standard. Returns `equivalent`: "true" only ⟨52 unchanged words⟩ at 5pm EDT — SAME asset, DIFFERENTcontractcontract; or ["source","precision"] for Polymarket.com's Chainlink 15-minute TWAP clause (precision "twap_60s_lookback") against Kalshi's 15-minute KXBTC15M clause (precision "60-second trailing average" off CF Benchmarks' BRTI) — different source and a different lookback mechanism, even though BOTH compare an end-of-window average to a start-of-window average, so comparison_basis is EQUAL there and correctly NOT in differing_fields — verified live 2026-10-22, fleet #3447); "unclear" when one or both sides ⟨14 unchanged words⟩ — read raw_clause yourself in that case). comparison_basis is flagged as differing whenever both sides resolved one and they disagree, independent of whether source/precision also matched. Only flagsa fieldsource/evidence_standard as differing when BOTH sides gave a SPECIFIC ⟨66 unchanged words⟩
Edgar Filing Exhibit Text — Full text of an EXHIBIT attached to a filing — not the filing's own primary document (use edgar_filing_text for that). This is the only way to read an 8-K's Exhibit 99.1/99.2 press release — a quarterly production-and-delivery report, an earnings release, a KPI update — because the 8-K body itself routinely just says "see the attached exhibit" and carries none of the numbers; the figures live in the exhibit document. Pass the filer's `ticker` or `cik` plus either an `accession` (from edgar_company_filings) or a `form_type` to auto-resolve the latest matching filing (defaults to "8-K" when bot…
Prediction Calibration — REALIZED win rate by shown price and minutes elapsed for short-horizon crypto up/down markets, net of taker fee — read from our own settled-outcomes archive, not from live prices. Answers the one question no venue will: "a side shown at 82 with five minutes left, how often did it ACTUALLY win?" Returns a grid of (price bucket x minute elapsed) -> n, realized_win_rate_pp, mean_shown_price_pp, calibration_gap_pp (realized minus shown — zero means the book is calibrated), breakeven_win_rate_pp (the shown price plus the taker fee that was actually in force for that market), and net_edge_pp (reali…
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 8 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,876997 tools across18111839 verified sources, fills arguments, returns the structured ⟨165 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Added "company_register_search"; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 4 more (56 tools before, 57 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,739876 tools across17751811 verified sources, fills arguments, returns the structured ⟨165 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Added "archive_compare", "archive_evidence", "classify_row" and 1 more; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 4 more (52 tools before, 56 now)
⟨44 unchanged words⟩ the question to the right one of 6,475739 tools across16851775 verified sources, fills arguments, returns the structured ⟨135 unchanged words⟩ routes to live news + the *-news-feeds packs. Optionally pass packs:["slug","slug"] to restrict routing to specific sources ("answer this using THESE packs"); omit it for full-catalog routing.
⟨38 unchanged words⟩ for question.","type":"string"},"packs":{"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"},"
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,470475 tools across16841685 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 3 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,431470 tools across16801684 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 3 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,404431 tools across16751680 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,404431
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 4 more
⟨44 unchanged words⟩ the question to the right one of 6,350404 tools across16591675 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
⟨17 unchanged words⟩ price of bitcoin"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨25 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 3 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,332350 tools across16531659 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Authorization not required, issuer https://gateway.pipeworx.io
Certificate changed, valid to 2026-12-18
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,320332 tools across16491653 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Authorization not required, issuer https://gateway.pipeworx.io
Added "edgar_company_snapshot"; changed the definition of "ai_visibility_check", "ask_pipeworx", "ask_pipeworx_beta" and 23 more (51 tools before, 52 now)
{"examples":[{"entity":"Tesla"}],"properties":{"_apiKey":{"description":"Optional ⟨97 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,056320 tools across15721649 verified sources, fills arguments, returns the structured
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,045056 tools across15711572 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 18 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 6,032045 tools across15691571 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 6,Added "company_facts", "kalshi_weather_edge", "release_calendar_markets" and 2 more; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 3 more (46 tools before, 51 now)
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨43 unchanged words⟩ Routes the question to the right one of56,961032 tools across15521569 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Authorization not required, issuer https://gateway.pipeworx.io
Certificate recorded, valid to 2026-10-18
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨44 unchanged words⟩ the question to the right one of 5,957961 tools across 1552 verified sources, fills arguments, ⟨146 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Beta version of ask_pipeworx: identical universal router (same 5,957961
First tool surface recorded: 46 tools (server version 0.1.0)
Showing the latest 46 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
before
—after
{"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"}⟨9 unchanged words⟩ properties":{"market":{"description":"Polymarket (.com or .us) market slug or URL, OR a Kalshi market ⟨19 unchanged words⟩ ":"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).","enum":["polymarket","kalshi","polymarket-us"],"type":"string"}},"required" ⟨4 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,876997 across18111839 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨175 unchanged words⟩ FY2026 and Apple's ending 2025-09-27 is FY2025. Attributesin v1: revenue, net_income,cash.cash, gross_profit, operating_income, eps_diluted, capex, operating_cash_flow, long_term_debt, shares_outstanding (the dei COVER-PAGE share count, so its period end is the cover date, after the quarter closed — that is the most current count the filing carries). Units are not all USD: shares_outstanding is in `shares` with currency null, eps_diluted in `USD/shares`. A discrete quarter the filer never filed — every Q4, and Q2/Q3 of cash-flow lines, which are filed year-to-date — is DERIVED as YTD(q) minus YTD(q-1) and comes back with `reported: false`, the subtraction named in `derivation` (fy_minus_9m / ytd_9m_minus_6m / ytd_6m_minus_3m) and both legs with their filings in `derived_from`; test `reported` if you will only accept a figure lifted from a filing. Per-share and balance-sheet figures are NEVER derived. Every non-answer is a named status — `unavailable` ⟨92 unchanged words⟩
⟨6 unchanged words⟩ {"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"}}],"properties":{"as_of":{"description": ⟨41 unchanged words⟩ = cash and cash equivalents at the periodend.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).","enum":["revenue","net_income","cash","gross_profit","operating_income","eps_diluted","capex","operating_cash_flow","long_term_debt","shares_outstanding"],"type":"string"},"basis": ⟨307 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's18111839 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,876997 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨74 unchanged words⟩ \"StockholdersEquity\", \"EarningsPerShareDiluted\", \"LongTermDebt\", \"SharesOutstanding\" (newest cover-page count, dei), \"Capex\", \"OperatingCashFlow\", \"ResearchAndDevelopment\", \"SGA\", \"CostOfRevenue\", \"DilutedShares\", \"PublicFloat\". Exact us-gaap or dei tag names also work.","type":"string"},"fiscal_period":{ ⟨236 unchanged words⟩
⟨30 unchanged words⟩ / `ticker` are accepted as aliases for it. **When the question is about ONE filing rather than the list, say which one**: pass `accession` to narrow to it, or `filed` ("2026-09-29", "2026-09") when you know only the date, and add `include_primary_text:true` to get that filing's text back here instead of chaining a second call. Filter by form type — "10-K" (annual ⟨79 unchanged words⟩
⟨13 unchanged words⟩ "ticker_or_cik":"Amyris"}],"properties":{"accession":{"description":"Narrow the list to ONE filing you already know the accession of, dashed or not (e.g. \"0001628280-26-063820\") — use this when the question is about a specific filing rather than \"what has this company filed\". Pair it with `include_primary_text:true` to get that filing's text back in the same call. A named accession that does not belong to this filer is an explicit error, never a silently unfiltered list.","type":"string"},"cik":{"description":"Alias for `ticker_or_cik` — ⟨14 unchanged words⟩ a CIK.","type":"string"},"filed":{"description":"Only filings filed on this date, in this month, or in this year — \"2026-09-29\", \"2026-09\", \"2026\" (US spellings \"09/29/2026\" and \"September 29, 2026\" are accepted too). Use it when the question names WHEN (\"Tesla's September 29 2026 8-K\") and you do not have the accession: without it the newest filing of that form is returned, which for an 8-K is routinely a different filing from the one asked about.","type":"string"},"form_type":{"description":"Filter by SEC form ⟨9 unchanged words⟩ Omit for all types.","type":"string"},"include_primary_text":{"description":"When true, also return the primary document's text (HTML stripped to plaintext, capped at ~40,000 chars) under `primary_text`, for the SINGLE filing `accession` names. Ignored — with a note saying so — when no accession narrows the list, since the text of twenty filings is not a thing this tool returns; use edgar_filing_text for that.","type":"boolean"},"limit":{"description":"Max filings ⟨59 unchanged words⟩
⟨32 unchanged words⟩ to auto-resolve the latest filing — pass form_typeinstead.instead, and the response will say `accession_source:\"auto_selected\"` and list under `auto_selected.candidates` the other filings you might have meant. If the question names WHICH filing (a date, \"the September 29 8-K\"), pass `filed` or the accession rather than relying on that choice.","type":"string"},"cik":{"description" ⟨4 unchanged words⟩ e.g. \"320193\"). Provide this OR ticker.","type":"string"},"filed":{"description":"Only consider filings filed on this date, in this month, or in this year — \"2026-09-29\", \"2026-09\", \"2026\" (US spellings \"09/29/2026\" and \"September 29, 2026\" accepted). **Pass this whenever the question names a date** (\"Tesla's September 29 2026 8-K\"): without it the NEWEST filing of that form is used, and for an 8-K that is routinely a different filing.","type":"string"},"filing_date":{"description":"Alias for `filed`.","type":"string"},"form_type":{ ⟨180 unchanged words⟩
⟨180 unchanged words⟩ different phrase rather than assuming the tool failed. A `search` response carries ONLY the matched passages, so it reports `returned_chars` against `total_chars` and sets `truncated:true` whenever those differ — read a figure's absence from it as "the phrase did not match there", never as "the filing does not say it", and re-read without `search` (or at a passage `offset`) to confirm. (Do not read `search.truncated` as a completeness signal: it is about the SEARCH — false means every distinct match location was returned — and is routinely false on a response holding a third of the document.) **For a question asking two facts from the ⟨268 unchanged words⟩
⟨38 unchanged words⟩ the latest filing of form_type for the giventicker/cik.ticker/cik — the response then says `accession_source:\"auto_selected\"` and lists under `auto_selected.candidates` the other filings you might have meant. If the question names WHICH filing (a date, \"the September 29 8-K\"), pass `filed` or an accession instead of relying on that choice.","type":"string"},"cik":{"description" ⟨13 unchanged words⟩ ,"contains":{"description":"Alias for `search`.","type":"string"},"filed":{"description":"Only consider filings filed on this date, in this month, or in this year — \"2026-09-29\", \"2026-09\", \"2026\" (US spellings \"09/29/2026\" and \"September 29, 2026\" accepted). **Pass this whenever the question names a date** (\"Tesla's September 29 2026 8-K\"): without it the NEWEST filing of that form is read, and for an 8-K that is routinely a different filing — verified live 2026-10-18, the newest TSLA 8-K was six days later, 3,061 chars, and contained none of the credit-facility figures asked about.","type":"string"},"filing_date":{"description":"Alias for `filed`.","type":"string"},"find":{ ⟨629 unchanged words⟩
⟨42 unchanged words⟩ 8-K" current event, "DEF 14A" proxy), date range, anddateoptionallyrange.one filer (`entity`). Returns `total_hits` FIRST — the true match count for your filters, independent of how many rows you asked for — then entity name, CIK, form type, filing/period dates ⟨35 unchanged words⟩ unregistered sale), which carry the actual signal. **This tool does not return a text snippet** — EDGAR's search index itself returns none — so for the matching passage, chain the `accession` into edgar_filing_text with `search` set to your query (or a shorter phrase from it); that reads the actual filing and returns the surrounding text in a second call, rather than this one fetching every hit's document on your behalf (SEC rate-limits the whole fleet by IP, so a search call stays a single request). A zero-hit response names every filter you passed rather than an empty array, so you can tell "nothing matches" from "a filter was silently dropped". Use when you need to find filings matching ⟨16 unchanged words⟩
⟨12 unchanged words⟩ "limit":10,"query":"Tesla revenue"},{"entity":"AAPL","limit":3,"query":"artificial intelligence"}],"properties":{"cik":{"description":"Alias for `entity`.","type":"string"},"end_date":{"description":"End date in YYYY-MM-DD format (e.g., \"2024-12-31\"). If you pass this without `start_date`, `start_date` is defaulted to EDGAR full-text search's coverage floor (2001-01-01) rather than silently ignored.","type":"string"},"entity":{"description":"Narrow results to ONE filer, by ticker (\"AAPL\"), company name (\"Apple Inc.\"), or CIK (\"320193\") — omit to search across every filer. Aliases `ticker_or_cik` / `cik` / `ticker` are also accepted, the spellings this pack's other tools use for the same thing.","type":"string"},"form_type":{"description":"Filter by SEC form ⟨47 unchanged words⟩ in YYYY-MM-DD format (e.g., \"2024-01-01\"). If you pass this without `end_date`, `end_date` is defaulted to today rather than silently ignored.","type":"string"},"ticker":{"description":"Alias for `entity`.","type":"string"},"ticker_or_cik":{"description":"Alias for `entity`.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨104 unchanged words⟩ //edgar/company/{cik}/filings/{accession} URIs); fundamentals (LATESTthe10-KlatestRevenuesANNUAL+Revenues, NetIncomeLoss+, Cash,sorteddiluted EPS, capex and operating cash flow, each with its period_end,DESCSEC form and the accession of the filing it came from — plus EntityCommonStockSharesOutstanding, which is the newest COVER-PAGE share count the filer has published rather than an annual one, so its period_end is a cover date after the quarter closed and it is the right per-share denominator; a filer tagging a fallback concept appears under the name of that tag instead, e.g. PaymentsToAcquireProductiveAssets instead of PaymentsToAcquirePropertyPlantAndEquipment); patents (USPTO PatentsView API sunset May ⟨192 unchanged words⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,739876 across17751811 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨26 unchanged words⟩ for question.","type":"string"},"prefer_tool":{"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"},"prompt":{"description":"Alias for question.", ⟨46 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's17751811 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,739876 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"country":{"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"},"type":{"description":"\"company\" or \"ticker\ ⟨37 unchanged words⟩ or company name (e.g., \"Moderna\").—AnamesNAMEresolvenowviaresolves through the national business registers as well as SEC EDGAR,company-namesomatch.a non-US company returns its register identity and record rather than `resolved: false`.","type":"string"}},"required": ⟨4 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"country":{"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"},"type":{"description":"Entity type: \" ⟨87 unchanged words⟩
before
—after
{"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"}⟨140 unchanged words⟩ params:{state:"CO", name_query?, entity_type?}), "tech_change" (a watched domain's website technology stack adds or drops a technology — params:{domains:["acme.com"], technologies?}). Delivery channels: feed (always on — ⟨29 unchanged words⟩
⟨315 unchanged words⟩ , 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 inform_d/news_keyword/job_post/tool_diff/new_entityform_d/news_keyword/job_post/tool_diff/new_entity/tech_change params are rejected at subscribe time.","type ⟨12 unchanged words⟩ ","news_keyword","job_post","tool_diff","new_entity","tech_change"],"type":"string"}},"required" ⟨4 unchanged words⟩
Company Register Search — Search the NATIONAL BUSINESS REGISTERS by company name and get the register's own id back — a Companies House number, a Norwegian organisasjonsnummer, a Finnish business id, a SIREN, a Japanese corporate number, an Estonian registry code, a CNPJ, or an LEI. Use this when you want the OFFICIAL REGISTERED ENTITY and the country is not the US, or when you do not know which country it is. Registers searched: Companies House (GB), Enhetsregisteret (NO), PRH/YTJ (FI), Sirene (FR), 法人番号公表サイト (JP), RIK e-Business Register (EE), and the GLEIF LEI crosswalk, which reaches jurisdictions we have no regis…
Beta version of ask_pipeworx: identical universal router (same 6,475739 tools, same arguments, same response shape) with candidate routing improvements enabled live whenever one is under test.ANo candidateroutingispromptactive(v9-eval-disjoint-examples)rightisnowlive(theonlasteverywascallretiredhere;onask_pipeworxoutcomeservesevidenceit2026-07-26),tosoathisslicecurrentlyofmatchestrafficask_pipeworxonly.exactly. Use it exactly like ask_pipeworx when you want ⟨29 unchanged words⟩
⟨27 unchanged words⟩ for question.","type":"string"},"packs":{"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"},"prompt":{"description":"Alias for question.", ⟨48 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,475739 across16851775 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨259 unchanged words⟩ no accession behind it). Source: SEC EDGAR, XBRLcompanyconceptfinancial facts, one publisher read once — see `corroboration`. ⟨11 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16851775 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,475739 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨15 unchanged words⟩ "fiscal_year":"2024","period":"annual"},{"cik":"CAPR","concept":"Cash"}],"properties":{"cik":{"description": ⟨294 unchanged words⟩
⟨54 unchanged words⟩ FRED observations — params:{series_id:"UNRATE"}), "patent_grant" (new USPTO grants for an applicant), "clinical_trial" (new/updated ClinicalTrials.gov studies), "form_d" (new SEC Form D fundraise notices — params:{state?, industry?, min_amount?, exemption?}, all optional), "news_keyword" (GDELT keyword news alerts, metadata+link only — params:{query, lang?, domains?}), "job_post" (new public job-board postings — params:{ats?, board_token?} or {domain?}, plus optional title_query/location_query), "tool_diff" (re-runs any read-only tool on a schedule and fires on change — params:{tool, args?, fields[], schedule}), "new_entity" (new business registrations from a state business-entity registry — params:{state:"CO", name_query?, entity_type?}). Delivery channels: feed (always on — ⟨29 unchanged words⟩
⟨183 unchanged words⟩ \"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. Unknown keys in form_d/news_keyword/job_post/tool_diff/new_entity params are rejected at subscribe time.","type":"object"},"type":{"description" ⟨4 unchanged words⟩ ","polymarket_edge","fred_series","patent_grant","clinical_trial","form_d","news_keyword","job_post","tool_diff","new_entity"],"type":"string"}},"required" ⟨4 unchanged words⟩
Archive Compare — What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extracts the readable text of both, and returns a text-level diff: the segments removed and added, a similarity score, and both capture timestamps with their gaps from the requested dates. It diffs readable text, not markup, so a restyled page with the same words reads changed:false. Identical captures answer changed:false with the reason (same capture, identical content digest, or identical text), never an empty diff. A date with no captu…
Archive Evidence — What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arquivo.pt, reads it, and returns the readable text (HTML stripped) with the capture timestamp, a link to the archived copy, and the GAP between the date asked for and the capture actually used (e.g. "Captured 1.5 day(s) before the requested date"). One call replaces the find-capture, fetch-record, parse-HTML chain. If no archive holds a capture within max_gap_days (default 30) it answers status "no_capture" and names the nearest capture …
Classify Row — Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry, ICP fit, etc.), one small model call. Same evidence contract as research_row: each label comes back {label, applies, evidence_url, quote, status: found|inferred|not_established} — "found" only when the model's quote is independently verified as a verbatim substring of the text used. Pass text directly (cheapest — no fetch) or entity.domain to fetch the homepage once as a fallback. No text and no domain means every label is not_establ…
Research Row — Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company'…
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,470475 across16841685 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16841685 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,470475 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,431470 across16801684 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16801684 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,431470 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨180 unchanged words⟩ different phrase rather than assuming the tool failed. **For a question asking two facts from the same filing** ("revenue and test volume in the latest 10-Q"), pass `search` as `|`-separated phrases (e.g. "revenue|tests processed") to get both in this one call under `searches[]` — and when a phrase names a financial total (revenue, net income, EPS, ...), the matching XBRL figure for this exact accession comes back under `xbrl` even if that total never appears as an absolute number in the prose (common: filings often state only the growth delta/percentage in text). Optionally set `section` to return just one part ⟨182 unchanged words⟩
⟨393 unchanged words⟩ (no `search`) to read more surrounding text. **For TWO OR MORE facts from this same filing in one call, separate phrases with `|`** (e.g. \"Signatera revenue|tests processed\") — each is searched independently and reported under `searches[]`, keyed by `phrase`, instead of the singular `search`. This is the way to answer a compound question (\"what was revenue AND test volume in the latest 10-Q\") without a second call. Note: a phrase naming a financial TOTAL (revenue, net income, EPS, assets, cash, gross/operating profit, long-term debt, stockholders equity, shares outstanding) often has NO verbatim match at all, because filers frequently state only the growth delta/percentage in prose and report the actual total exclusively in XBRL — when a phrase names one of these, the response also attaches that concept's value for THIS SAME accession under `xbrl` (sourced like edgar_company_concept, not text-matched), so you don't need a separate edgar_company_concept call just to get the number the text search alone would report as a false \"not found\". Accepted aliases: `contains`, `find`, `phrase`.","type ⟨134 unchanged words⟩
⟨462 unchanged words⟩ (zero releases across every requested category) returnserrorthe SAME shape as a populated one — release_count:0, releases:[] — plus empty_reason:"no_releases_in_window"withand awiden-the-window`hint`hinttellingratheryouthantoanwiden,emptysoarrayyou—nevereconbranch on the response shape and never have to guess whether zero means "nothing is scheduled" or "the lookup failed". Econ releases especially cluster on specific dates each month ⟨9 unchanged words⟩
⟨7 unchanged words⟩ :"string"},"type":"array"},"empty_reason":{"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"},"hint":{"description":"Present ONLY on a zero-release window: what to change (usually a wider `hours`).","type":"string"},"notes":{"items":{"type":"string" ⟨117 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,404431 across16751680 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16751680 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,404431 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨78 unchanged words⟩ 10-Q\", \"8-K\", \"DEF 14A\" — or a `|`-separated SET (\"10-K|10-Q\") for \"the most recent of either, whichever is newer\". Omit both accession and form_type to get the single most recent filing ofanyANYtype.type at all (routine 8-Ks/Form 4s/Form 144s included, not just annual/quarterly reports) — use the `|` set instead when you specifically want the newest 10-K or 10-Q.","type":"string"},"include_primary_text":{ ⟨94 unchanged words⟩
⟨39 unchanged words⟩ share caps, public-float figures, subsequent events,andthe liquidityfootnote.footnote, and MD&A KPIs XBRL never tags (test volume, units shipped, subscriber counts, same-store sales). Pass an accession (from edgar_search_filings / edgar_company_filings) ⟨12 unchanged words⟩ + form_type to auto-resolve the latest matching filing. **For a specific fact inside a long filing, pass `search`** (a word or exact phrase, e.g. "tests processed" or "processed approximately") instead of paging blind — it scans the WHOLE document (before any offset/max_chars windowing) and returns every matching passage with surrounding context and its own `offset` in the document, so a KPI ~100k characters in is found in one call instead of paging through `max_chars` windows by hand. A zero-match `search` is a real answer (the filing does not use that exact wording) — retry with a shorter or different phrase rather than assuming the tool failed. Optionally set `section` to return just one part (going_concern | liquidity | capital_resources | subsequent_events).; `search` runs within that slice when both are given. Large docs (a 10-Q is ~100k+ chars of text) are PAGED, not spilled, when `search` is not used: the result caps at `max_chars` (default 50000 ⟨60 unchanged words⟩ , which bounds how far `offset` can page (and how far `search` can scan) and can make a late`section`section(e.g.orsubsequent_events)search term come back not-found even though it exists further ⟨17 unchanged words⟩ "read the liquidity section of the latest 10-Q", "how many tests did $TICKER process this quarter". For the list of documents/exhibits in a ⟨9 unchanged words⟩
⟨11 unchanged words⟩ ","max_chars":30000,"section":"going_concern"},{"accession":"0001628280-26-054525","search":"processed approximately","ticker":"NTRA"}],"properties":{"accession":{"description": ⟨35 unchanged words⟩ OR ticker.","type":"string"},"contains":{"description":"Alias for `search`.","type":"string"},"find":{"description":"Alias for `search`.","type":"string"},"form_type":{"description":"When accession is omitted ⟨14 unchanged words⟩ \"8-K\", \"DEF 14A\", etc. For \"the most recent 10-K OR 10-Q\" (or any \"whichever of these is newer\" question), pass a `|`-separated SET, e.g. \"10-K|10-Q\" — do NOT guess a single type (\"10-K\" by habit skips a newer 10-Q) and do NOT omit this field to get \"any type\", since a company files far more 8-Ks/Form 4s/Form 144s between annual or quarterly reports than it files the reports themselves and an empty form_type returns the single most recent filing of ANY kind (verified live 2026-09-25, fleet #2450: NTRA's single most recent SEC filing was a Form 144 insider-sale notice, filed weeks after its real 10-Q and completely unrelated to the question asked).","type":"string"},"max_chars":{"description":"Max ⟨34 unchanged words⟩ next_offset to page forward.","type":"number"},"phrase":{"description":"Alias for `search`.","type":"string"},"search":{"description":"Find a specific fact instead of paging blind. Pass a short 2-4 word phrase likely to appear VERBATIM in the prose (\"processed approximately\", \"tests processed\", \"going concern\") rather than restating the question. Case-insensitive substring match over the WHOLE document text (or the whole `section` slice), run BEFORE max_chars/offset windowing; returns matching passages (context + their own offset) instead of the paged `text`, ranking passages with a nearby figure first. If a multi-word phrase has no verbatim match, it falls back to the phrase's individual words and returns the passages holding the most of them (search.match_mode \"words\") — read those passages for the fact rather than treating them as confirmed. Use a returned offset with a follow-up call (no `search`) to read more surrounding text. Accepted aliases: `contains`, `find`, `phrase`.","type":"string
Beta version of ask_pipeworx: identical universal router (same 6,350404 tools, same arguments, same response shape) ⟨68 unchanged words⟩
⟨6 unchanged words⟩ US unemployment rate?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨25 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message as aliases.","type":"string"}," ⟨11 unchanged words⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,350404 across16591675 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨5 unchanged words⟩ fiscal 2023 revenue?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.", ⟨23 unchanged words⟩ Accepts query, q, prompt, text, input, ask, message as aliases.","type":"string"}," ⟨11 unchanged words⟩
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16591675 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,350404 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨17 unchanged words⟩ the past year?"}],"properties":{"ask":{"description":"Alias for question.","type":"string"},"depth":{"description":"How many facets to ⟨43 unchanged words⟩ ,"thorough"],"type":"string"},"input":{"description":"Alias for question.","type":"string"},"message":{"description":"Alias for question.","type":"string"},"prompt":{"description":"Alias for question.","type":"string"},"q":{"description":"Alias for question.","type":"string"},"query":{"description":"Alias for question.","type":"string"},"question":{"description":"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.","type":"string"},"text":{"description":"Alias for question.","type":"string"}},"required": ⟨3 unchanged words⟩
{"examples":[{"key":"user_research_topic"}],"properties":{"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key todeletedelete. Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"}},"required": ⟨3 unchanged words⟩
⟨2 unchanged words⟩ :"user_research_topic"},{}],"properties":{"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key to retrieve (omit to list all keys). Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"}},"required": ⟨2 unchanged words⟩
⟨3 unchanged words⟩ "value":"AAPL"}],"properties":{"content":{"description":"Alias for value.","type":"string"},"data":{"description":"Alias for value.","type":"string"},"k":{"description":"Alias for key.","type":"string"},"key":{"description":"Memory key (e.g., \"subject_property\", \"target_ticker\", \"user_preference\"). Accepts name, k, label as aliases.","type":"string"},"label":{"description":"Alias for key.","type":"string"},"name":{"description":"Alias for key.","type":"string"},"text":{"description":"Alias for value.","type":"string"},"v":{"description":"Alias for value.","type":"string"},"value":{"description":"Value to store (any text — findings, addresses, preferences, notes). Accepts content, text, data, v as aliases; a non-string value is stored as JSON.","type":"string"}},"required": ⟨4 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,332350 across16531659 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16531659 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,332350 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨7 unchanged words⟩ ,{"limit":20,"ticker_or_cik":"320193"},{"form_type":"8-K","ticker_or_cik":"Amyris"}],"properties":{"cik":{"description": ⟨106 unchanged words⟩
⟨27 unchanged words⟩ },"ticker":{"description":"Stock tickersymbolsymbol; null for a filer not on SEC's current-listed list (delisted, bankrupt, never listed) resolved by name via matched_by \"edgar_entity_search\"","type":["string","null"]}},"required":["ticker","cik", ⟨4 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,320332 across16491653 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16491653 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,320332 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,056320 tools, same arguments, same response shape) ⟨68 unchanged words⟩
{"examples":[{"question":"What is the current US unemployment rate?"}],"properties":{"input":{"description":"Alias ⟨55 unchanged words⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,056320 across15721649 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
{"examples":[{"question":"What was Apple's fiscal 2023 revenue?"}],"properties":{"input":{"description":"Alias ⟨53 unchanged words⟩
{"examples":[{"attribute":"revenue","company":"AAPL","period":{"fiscal_year":2023,"type":"annual"}}],"properties":{"as_of":{"description":"Past ⟨363 unchanged words⟩
{"examples":[{"type":"company","values":["AAPL","MSFT"]}],"properties":{"type":{"description":"Entity ⟨48 unchanged words⟩
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15721649 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,056320 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
{"examples":[{"depth":"quick","question":"What is the current US unemployment rate and how has it changed over the past year?"}],"properties":{"depth":{"description":"How ⟨71 unchanged words⟩
⟨147 unchanged words⟩ concepts then narrow to edgar_company_concept for follow-up queries. For just the headline figures plus the recent filings list, edgar_company_snapshot is the smaller one-call answer.
⟨100 unchanged words⟩ edgar_company_concept; for the full XBRL dump use edgar_company_facts. If you also need the headline financials alongside the filings, edgar_company_snapshot returns both in one call.
⟨75 unchanged words⟩ end date","type":"string"},"sic":{"description":"SEC Standard Industrial Classification CODE, 4 digits (e.g. \"2836\" Biological Products, \"3571\" Electronic Computers). The machine-readable twin of sic_description - branch on this, not on the prose.","type":"string"},"sic_description":{"description":"Standard Industrial Classification description ⟨32 unchanged words⟩
⟨86 unchanged words⟩ explicitly when you want the CIK as data. The response carries a `next` hint: the usual NEXT step after resolving is edgar_company_snapshot({ticker_or_cik}), which returns the recent filings list AND the headline XBRL financials in one call — do not chain edgar_company_filings then edgar_company_concept by hand to get that.
⟨213 unchanged words⟩ real "no data", not a bug. `sources_skipped` is the third state: a leg we deliberately did NOT run, each entry carrying a `reason` token and a plain-English `detail` (the Purple Book is skipped for a filer SEC classifies outside the life-science SIC bands, since it lists only 351(a)/(k) biologics licence holders). Pass a ticker ("AAPL"), zero-padded CIK ⟨46 unchanged words⟩
{"examples":[{"type":"company","value":"AAPL"}],"properties":{"type":{"description":"\" ⟨62 unchanged words⟩
{"examples":[{"url":"https://pipeworx.io"}],"properties":{"max_links":{"description":"Maximum ⟨37 unchanged words⟩
{"examples":[{"message":"Fleet #2184 smoke test: verifying pipeworx_feedback example call returns non-empty.","type":"other"}],"properties":{"claim_token":{"description":"Read ⟨144 unchanged words⟩
{"examples":[{"window":"7d"}],"properties":{"window":{"description":"24h ⟨25 unchanged words⟩
{"examples":[{"topic":"Fed rate decision"}],"properties":{"event":{"description":"Single-event ⟨77 unchanged words⟩
{"examples":[{"days":14,"window":"1wk"}],"properties":{"days":{"description":"Lookback ⟨31 unchanged words⟩
{"examples":[{"limit":5,"window":"1wk"}],"properties":{"category_filter":{"description":"Comma-separated ⟨369 unchanged words⟩
{"examples":[{"market":"will-the-fed-increase-interest-rates-by-25-bps-after-the-december-2026-meeting-20260729232808636","side":"buy_yes","size_usd":1000}],"properties":{"event":{"description":"Basket ⟨95 unchanged words⟩
{"examples":[{"since":"30d","type":"company","value":"AAPL"}],"properties":{"since":{"description":"Window ⟨62 unchanged words⟩
{"examples":[{"key":"target_ticker","value":"AAPL"}],"properties":{"key":{"description":"Memory ⟨29 unchanged words⟩
{"examples":[{"type":"company","value":"AAPL"}],"properties":{"type":{"description":"Entity ⟨89 unchanged words⟩
{"examples":[{"entities":["Pipeworx","Zapier"]}],"properties":{"_apiKey":{"description":"Optional ⟨97 unchanged words⟩
{"examples":[{"package":"left-pad"}],"properties":{"package":{"description":"npm ⟨35 unchanged words⟩
{"examples":[{"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."}],"properties":{"limit":{"description":"Max ⟨55 unchanged words⟩
{"examples":[{"topic":"finance"}],"properties":{"topic":{"description":"Optional ⟨28 unchanged words⟩
{"examples":[{"claim":"Apple's fiscal 2023 revenue was $383 billion"}],"properties":{"claim":{"description":"Natural-language ⟨67 unchanged words⟩
Edgar Company Snapshot — ONE CALL for "give me the SEC picture on $TICKER" / "what has $COMPANY filed recently and what are its numbers" / "pull the filings and financials for X". Resolves a ticker, company name or CIK and returns, from SEC EDGAR, the three things callers otherwise chain by hand across edgar_ticker_to_cik -> edgar_company_filings -> edgar_company_concept: the identity (cik, company_name, tickers, SIC code, fiscal year end), the recent filings list (accession numbers, form types, filing dates, document links — by default the substantive forms 10-K/10-Q/8-K/20-F/40-F/6-K/DEF 14A, so insider Form 4 nois…
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,045056 across15711572 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15711572 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,045056 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,032045 across15691571 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
{"properties":{"as_of":{"description":"Past ISO timestamp with timezone. Replay the latest answer actually recorded by that instant; no invented history or live fallback.","type":"string"},"attribute":{"description":"Which figure. \"revenue\ ⟨90 unchanged words⟩ CIK to be certain.","type":"string"},"exclude_publishers":{"description":"Publisher ids forbidden for fact retrieval: sec, fmp, alphavantage. Case and surrounding whitespace are normalized; unknown ids are refused. Excluding sec currently leaves no eligible fact source and returns unavailable/sources_excluded with the selection reasons. Identity and fiscal-calendar lookups may still use SEC; no excluded financial concept is fetched.","items":{"type":"string"},"type":"array"},"freshness":{"description":"cached (default) permits an eligible stored answer; fresh requires an upstream refresh and never silently falls back to stale data.","enum":["cached","fresh"],"type":"string"},"max_age":{"description":"Maximum age in seconds of the upstream publication, not our fetch. Older or undated facts are withheld.","maximum":3155760000,"minimum":0,"type":"number"},"period":{"description":"The reporting ⟨129 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15691571 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,032045 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨5 unchanged words⟩ "sic":"2836"}],"properties":{"cik":{"description":"Alias for `ticker_or_cik` — takes a ticker or a CIK. Declared because sibling SEC tools spell this argument differently.","type":"string"},"exclude_self":{"description":"When resolving via ticker_or_cik ⟨78 unchanged words⟩ OR ticker_or_cik.","type":"string"},"ticker":{"description":"Alias for `ticker_or_cik` — takes a ticker or a CIK. Declared because sibling SEC tools spell this argument differently.","type":"string"},"ticker_or_cik":{"description":"Ticker (e.g. \" ⟨14 unchanged words⟩ to find its peers. Provide this OR sic. Aliases: `cik`, `ticker`.","type":"string"}},"type":"object"}
⟨14 unchanged words⟩ numbers companies file, not third-party scrapes).PassSend the company as `cik` — that argument takes atickerTICKER ("AAPL") or a CIK ("320193"), and `ticker` / `ticker_or_cik` are accepted as aliases for it — plus the metric as `concept` (alias `metric`), which takes a friendlymetricname—: Revenue, NetIncomeLoss, Cash, LongTermDebt,EarningsPerShareDiluted — andEarningsPerShareDiluted.theThe tool resolves the right XBRL tag for that ⟨61 unchanged words⟩ Q4 2024" questions are answerable directly from`values`;`values`.matchFor one specific period, pass `fiscal_year` and/or `fiscal_period` as ARGUMENTS and therequestedvaluesfiscal_yeararrayANDcomesfiscal_periodbackratherfilteredthantodefaultingit (they are also the names of the fields on each returned row, which is what to`latest`.match on if you ask for every period instead); do not default to `latest` for a period question. Use `latest` for point-in-time metrics like cash, ⟨56 unchanged words⟩
⟨5 unchanged words⟩ "cik":"1652044","concept":"NetIncomeLoss"},{"cik":"DOV","concept":"NetIncomeLoss","fiscal_period":"FY","fiscal_year":"2024","period":"annual"}],"properties":{"cik":{"description":"REQUIRED (or one of its aliases `ticker` / `ticker_or_cik`). Ticker (e.g., \"AAPL\") or CIK ⟨9 unchanged words⟩ :"string"},"concept":{"description":"REQUIRED (alias `metric`). Metric name. Common: \"Revenue\" / \" ⟨14 unchanged words⟩ "LongTermDebt\".","type":"string"},"fiscal_period":{"description":"Optional filter: return only rows for this period within the fiscal year — \"FY\" (annual), \"Q1\", \"Q2\", \"Q3\", or \"Q4\" (derived: FY minus Q1-Q3). Combine with fiscal_year for a single figure.","enum":["FY","Q1","Q2","Q3","Q4"],"type":"string"},"fiscal_year":{"description":"Optional filter: return only rows for this fiscal year, e.g. \"2024\". This is the filer's OWN fiscal year label (NVDA's FY2024 ended Jan 2024), not a calendar year. Unmatched years are reported with the years that ARE available rather than as an empty result.","type":"string"},"metric":{"description":"Alias for `concept` — the word this tool's own description uses for the thing you are asking about.","type":"string"},"period":{"description":"Which reporting periods to return: \"all\" ⟨39 unchanged words⟩ annual","quarterly"],"type":"string"},"ticker":{"description":"Alias for `cik` — same thing, a ticker or a CIK. Declared because sibling SEC tools name this argument differently (edgar_fund_holdings uses `ticker`, edgar_company_filings uses `ticker_or_cik`) and a caller filling arguments from prose reaches for whichever it read; all three spellings work here.","type":"string"},"required
AUTHORITATIVE full XBRL fundamentals dump for a US public company. Send the companybyasCIK.`cik` — that argument takes a TICKER ("NVDA") or a CIK ("320193"), and `ticker` / `ticker_or_cik` are accepted as aliases for it. Returns every reported financial metric (hundreds of ⟨112 unchanged words⟩
⟨3 unchanged words⟩ ,"properties":{"cik":{"description":"REQUIRED (or one of its aliases `ticker` / `ticker_or_cik`). Ticker (\"NVDA\") or CIK number ( ⟨6 unchanged words⟩ to CIKs internally.","type":"string"},"ticker":{"description":"Alias for `cik` — same thing, a ticker or a CIK. The spelling edgar_fund_holdings and edgar_ticker_to_cik use.","type":"string"},"requiredticker_or_cik":[{"cikdescription":"Alias for `cik` — the spelling edgar_company_filings, edgar_insider_transactions and edgar_product_revenue use.","type":"string"}},"required":[],"type":"object"}
AUTHORITATIVE list of recent SEC filings for a specific US public company.PassSend the company as `ticker_or_cik` — that argument takes a ticker ("AAPL") or a CIK ("320193")., and `cik` / `ticker` are accepted as aliases for it. Filter by form type — "10-K" ( ⟨64 unchanged words⟩
⟨9 unchanged words⟩ "ticker_or_cik":"320193"}],"properties":{"cik":{"description":"Alias for `ticker_or_cik` — the spelling edgar_company_concept and edgar_company_facts use for the same thing. Takes a ticker or a CIK.","type":"string"},"form_type":{"description":"Filter by SEC form ⟨22 unchanged words⟩ default 20)","type":"number"},"ticker":{"description":"Alias for `ticker_or_cik` — the spelling edgar_fund_holdings and edgar_ticker_to_cik use for the same thing. Takes a ticker or a CIK.","type":"string"},"ticker_or_cik":{"description":"REQUIRED (or one of its aliases `cik` / `ticker`). Ticker symbol (e.g., \"AAPL\") or ⟨5 unchanged words⟩ ,"type":"string"}},"required":["ticker_or_cik"],"type":"object"}
⟨165 unchanged words⟩ auto-resolved to CIKs.","type":"string"},"ticker_or_cik":{"description":"Alias for `ticker` / `cik` — the single-argument spelling edgar_company_filings and edgar_insider_transactions use. Takes either a ticker or a CIK.","type":"string"}},"required":[],"type":"object"}
⟨229 unchanged words⟩ that cik here.","type":"string"},"ticker_or_cik":{"description":"Alias for `ticker` / `cik` — the single-argument spelling edgar_company_filings and edgar_insider_transactions use. Takes either a ticker or a CIK.","type":"string"}},"required":[],"type":"object"}
⟨23 unchanged words⟩ :"number"},"ticker":{"description":"REQUIRED (or its alias `ticker_or_cik`). ETF or mutual-fund ticker (e.g. \"ARKK\", ⟨8 unchanged words⟩ company stock tickers.","type":"string"}},"requiredticker_or_cik":[{"description":"Alias for `ticker` — the spelling sibling SEC tools (edgar_company_filings, edgar_insider_transactions) use. Must still be a FUND ticker: N-PORT funds are keyed by ticker, so a bare CIK will not resolve here.","type":"string"}},"required":[],"type":"object"}
⟨21 unchanged words⟩ what price, and what they hold now.PassSend the company as `ticker_or_cik` — a ticker ("TSLA") orCIK.a CIK — and `cik` / `ticker` are accepted as aliases for it. Returns each recent Form 4 filing parsed into ⟨68 unchanged words⟩
⟨7 unchanged words⟩ "ticker_or_cik":"1318605"}],"properties":{"cik":{"description":"Alias for `ticker_or_cik` — the spelling edgar_company_concept and edgar_company_facts use for the same thing. Takes a ticker or a CIK.","type":"string"},"include_derivatives":{"description":"Also include derivative ( ⟨19 unchanged words⟩ default 10)","type":"number"},"ticker":{"description":"Alias for `ticker_or_cik` — the spelling edgar_fund_holdings and edgar_ticker_to_cik use for the same thing. Takes a ticker or a CIK.","type":"string"},"ticker_or_cik":{"description":"REQUIRED (or one of its aliases `cik` / `ticker`). Ticker symbol (e.g., \"TSLA\") or ⟨5 unchanged words⟩ ,"type":"string"}},"required":["ticker_or_cik"],"type":"object"}
⟨7 unchanged words⟩ "ticker_or_cik":"1067983"}],"properties":{"cik":{"description":"Alias for `ticker_or_cik` — the spelling edgar_company_concept and edgar_company_facts use for the same thing. Takes a ticker or a CIK.","type":"string"},"limit":{"description":"Top N holdings by ⟨4 unchanged words⟩ default 25)","type":"number"},"ticker":{"description":"Alias for `ticker_or_cik` — the spelling edgar_fund_holdings and edgar_ticker_to_cik use for the same thing. Takes a ticker or a CIK.","type":"string"},"ticker_or_cik":{"description":"REQUIRED (or one of its aliases `cik` / `ticker`). The institutional manager's ticker (e.g. \"BRK-B\") ⟨16 unchanged words⟩ ,"type":"string"}},"required":["ticker_or_cik"],"type":"object"}
⟨28 unchanged words⟩ matching form_type.","type":"string"},"cik":{"description":"Alias for `ticker_or_cik` — the spelling edgar_company_concept and edgar_company_facts use for the same thing. Takes a ticker or a CIK.","type":"string"},"form_type":{"description":"Filing type to read ⟨85 unchanged words⟩ the table.","type":"string"},"ticker":{"description":"Alias for `ticker_or_cik` — the spelling edgar_fund_holdings and edgar_ticker_to_cik use for the same thing. Takes a ticker or a CIK.","type":"string"},"ticker_or_cik":{"description":"REQUIRED (or one of its aliases `cik` / `ticker`). Ticker (e.g. \"MRK\") or CIK ( ⟨7 unchanged words⟩ ,"type":"string"}},"required":["ticker_or_cik"],"type":"object"}
⟨3 unchanged words⟩ "ticker":"TSLA"}],"properties":{"company":{"description":"Alias for `ticker` — use it when what you have is a company NAME (\"Apple Inc.\") rather than a symbol. Same argument, same behaviour.","type":"string"},"ticker":{"description":"REQUIRED (or one of its aliases `ticker_or_cik` / `company`). Stock ticker symbol (e.g., \"AAPL\", ⟨10 unchanged words⟩ \"Microsoft\")","type":"string"}},"requiredticker_or_cik":[{"description":"Alias for `ticker` — the spelling edgar_company_filings and edgar_insider_transactions use. A ticker or company name; this tool RESOLVES to a CIK, so passing a bare CIK has nothing to look up.","type":"string"}},"required":[],"type":"object"}
⟨7 unchanged words⟩ "ticker_or_cik":"310158"}],"properties":{"cik":{"description":"Alias for `ticker_or_cik` — the spelling edgar_company_concept and edgar_company_facts use for the same thing. Takes a ticker or a CIK.","type":"string"},"limit":{"description":"Max subsidiaries to return ⟨47 unchanged words⟩ "and\".","type":"string"},"ticker":{"description":"Alias for `ticker_or_cik` — the spelling edgar_fund_holdings and edgar_ticker_to_cik use for the same thing. Takes a ticker or a CIK.","type":"string"},"ticker_or_cik":{"description":"REQUIRED (or one of its aliases `cik` / `ticker`). The PARENT company's ticker (e.g. \"MRK\") ⟨11 unchanged words⟩ ,"type":"string"}},"required":["ticker_or_cik"],"type":"object"}
⟨181 unchanged words⟩ daily closes of edge_pp_net (net of default slippage AND Polymarket's own taker fee — see polymarket_edges), not intraday.
⟨129 unchanged words⟩ 85%/5%/50:1). EVERY OPPORTUNITY carries edge_pp_net (afternet of slippage AND Polymarket's own taker fee — fees_pp_applied itemises the fee component; see fees.ts for the published per-category schedule), kelly_fraction + kelly_fraction_half (capped at 0.25) ⟨111 unchanged words⟩
⟨89 unchanged words⟩ default 0.5). Edge is evaluated NET ofslippage.slippage and Polymarket's own taker fee.","type":"number"},"min_kelly":{ ⟨159 unchanged words⟩ 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 Kellysizing.sizing,PolymarketONhasTOP OF Polymarket's own taker fee — which is NOT zerotrading(ratefees0.04-0.07asdependingofon2024category,butreadbid/askoff+eachthinmarket'sdepthowntypicallypublishedeatsfee20-50bpschedule;perseetrade.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 fillmodel.model — the fee still applies regardless.","type":"number"},"window":{ ⟨17 unchanged words⟩
⟨165 unchanged words⟩ dominant loss mode in real arb-bot P&L). FEES ARE NOT MODELLED HERE: vwap_fill_price/profit_usd are GROSS of Polymarket's own taker fee (rate 0.04-0.07 by category — see polymarket_edges/fees.ts), on top of which this tool prices depth-crossing cost; a thin-margin fill that looks clean here can still be net-negative after the fee.
⟨221 unchanged words⟩ query ran and why that event won). Fleet #2064: when two Polymarket candidates tie on resolution time `polymarket_selected_by` now SAYS so, names every tied slug, names the tie-break that actually decided it (the candidate whose metric_type matches the Kalshi series, else lexicographic slug order), and states whether the winner's metric matches the Kalshi series — it used to assert "picked the soonest-resolving" byte-identically on calls that returned DIFFERENT events, because the tie was settled by upstream fetch arrival order. RESPONSE: each venue's leg-by-leg prices (raw probability ⟨52 unchanged words⟩ probably not the same question), temporal_mismatch (theytheresolvetwoinevents are about different SUBJECT months — e.g. Kalshi "CPI in October" vs Polymarket "September Inflation"), temporal_alignment_unknown (theresolutionsubject month could not be parsed on one or both sides — NOT the same as confirmed-aligned; check eachevent's close/strike dateevent yourself), non_equivalent_bet_shapes, no_candidate_pairs, unclassified_legs_excluded, pairing_unverified ⟨67 unchanged words⟩ ,aligned} tells you whether the two eventsresolveareinabout the same SUBJECT calendar period, in EITHERmode;mode — this is the period the question is ABOUT (e.g. "September" for a CPI release that settles in October), not necessarily when either side settles; null means it could not be computed (see temporal_alignment_unknown), not that the two sides align. Fleet #2062: this used to compare Polymarket's settlement date against Kalshi's subject month and call a match — fixed to compare subject month to subject month on both sides. FEES: every top_spreads_pp and low_confidence_pairs[] row ⟨325 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same56,961032 tools, same arguments, same response shape) ⟨68 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨8 unchanged words⟩ as ask_pipeworx — picks the right tool from56,961032 across15521569 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's15521569 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ , routes each to the right one of56,961032 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨191 unchanged words⟩ partition_check{sum_yes_prices, gap_from_1, placeholders_filtered, suggested_trade}. FEES: every opportunities[] row and partition_check.arbitrage carry edge_pp_gross (== gap_pp / overround_pp), fees_pp, edge_pp_net, net_positive, plus polymarket_fee_pp, fee_basis and fee_categories[]. BOTH cost components are modeled: Polymarket's own per-category TAKER FEE (fee = shares × rate × p × (1-p), rates crypto 0.07 / sports-economics-culture-weather-other 0.05 / finance-politics-mentions-tech 0.04, geopolitics and world events fee-free; verified against Polymarket's own docs as of 2026-09-13) and Polygon gas (~$0.02/leg). The taker fee dominates: ~$1.75 per 100 shares on a crypto market at 50c versus $0.02 of gas, so rows that looked profitable before fleet #1927 may now show net_positive:false — that is the correction, not a regression. Each leg is priced at ITS OWN market's rate and price (the fee curve peaks at 50c and falls toward both extremes). fee_basis says where the rate came from: 'payload' (read off the market, the normal case), 'category' (mapped from its fee category), 'fee_free', or 'fallback' (rate unknown — charged at the modal 0.05 rather than assumed free, so an unreadable market is never reported as costless). Where fill_check reprices against live depth, this does NOT double-count that spread cost. FILL CHECK: when the partition signal fires, ⟨38 unchanged words⟩
⟨419 unchanged words⟩ temporal_alignment_unknown), not that the two sides align.spread.fees_noteFEES:iseveryatop_spreads_ppstandinganddisclosure:low_confidence_pairs[]Kalshirowchargescarriesper-contractedge_pp_grosstrading(==fees|spread_pp|),Polymarketfees_pp,doesedge_pp_net,notnet_positive, andthisBOTHtoolvenues'doestakernotfeesmodelitemisedKalshi'sas kalshi_fee_pp and polymarket_fee_pp (plus polymarket_fee_rate, polymarket_fee_category, polymarket_fee_basis). Kalshi leg: feeschedule=—ceil(0.07every*spread_ppcontractsis*grossP * (1-P) * 100) / 100 dollars per order,notverifiedaagainstnetkalshi.com/docstradeableandedge.corroboratingspread.resolution_source_noteexplainersisastheofsecond2026-09-12.standingPolymarketdisclosureleg:thefeetwo=venues'sharesRESOLUTION×SOURCESrateare×neverpcompared,×so(1-p)awithPolymarketratemarketbysettlingcategoryon(cryptoa0.07,Binancesports/economics/culture/weather/other1-minute0.05,candlefinance/politics/mentions/tech 0.04, geopolitics andaworldKalshieventseventfee-free),strikingverifiedonagainstKalshi'sPolymarket's ownindexdocs as of 2026-09-13 and read off each market's published fee parameters rather than inferred. Both amortized at adifferent100-contracthourreferencewillsize. Before fleet #1927 the Polymarket leg carried modeled gas only, which made every edge_pp_net here optimistic by up to ~1.75pp; spreads that no longer clear are the correction. Spread-crossing cost is stillbeNOTshownmodeledsideon the Polymarket leg (no live order book is fetched by this tool). spread.fees_note carries the same disclosure. RESOLUTION EQUIVALENCE (fleet #1909): every top_spreads_pp and low_confidence_pairs[] row now also carries resolution_equivalent ("true"|"false"|"unclear") and, when not "true", resolution_warning naming what differs — computed ONCE per event pair (not per leg) via resolution_audit/resolution_diff off one representative leg from each side, since the settlement mechanism is normally shared across every leg in one event. A non-equivalent or unclear pair is NEVER suppressed, only labelled —partreadofresolution_warninganybeforespread_pptreatingmayspread_ppbeas adifferencerealincross-venuecontractdisagreement rather than a difference inopinion.contract. spread.resolution_audit carries the full underlying audit (source/timestamp/timezone/precision/evidence_standard/void_handling for both sides) and spread.resolution_source_note is the standing disclosure explaining the methodology and its "unclear" caveat. Call resolution_audit/resolution_diff directly for a specific pair of legs if you need a non-representative-sample breakdown. skipped_cross_type / skipped_cross_subtype counters expose how many leg-pair ⟨40 unchanged words⟩
Company Facts — TYPED, DETERMINISTIC financial facts for a US public company for an EXPLICITLY NAMED reporting period — "Apple revenue for fiscal 2023", "Walmart net income FY2026 Q3", "Microsoft cash at the end of fiscal 2024". PREFER OVER entity_profile / get_company_financials whenever the period matters: those answer "the most recent figures" and will happily hand back FY2025 when you asked about FY2019, and neither separates a discrete quarter from a year-to-date figure. This one refuses instead — it NEVER substitutes the latest period for the period requested, NEVER returns 0 for missing data, NEVER le…
Kalshi Weather Edge — Prices Kalshi daily high-temperature markets against the NWS forecast for the market's OWN settlement station, and measures whether that forecast actually beats the market. Two modes. LIVE (default): returns the full strike ladder for one city and settlement date with market_prob (mid), forecast_prob, and edge_pp per strike, plus the settlement clause verbatim. BACKTEST (`backtest_days: N`): scores an archived gridded forecast against the market on settled days and returns brier_market vs brier_forecast with a plain-English `verdict`, so the edge is MEASURED rather than asserted. READ THE WAR…
Release Calendar Markets — JOIN of the official release calendar (econ data, the FOMC, FDA decisions, SEC rules) against LIVE Polymarket/Kalshi markets — which scheduled releases land in the next N hours, and which live markets resolve on them. This is a POSITIONING tool, not a speed product: results are cached like every other pack (≤ 60s TTL) and there is no push/webhook — do not use this to try to beat a release, use it to see what is coming and what is already priced. CATEGORIES: econ (CPI, Employment Situation/jobs report, GDP, PCE, PPI, retail sales, housing starts, jobless claims — via fred_release_dates per kno…
Resolution Audit — Extract the settlement clause of a single Polymarket or Kalshi market: who publishes the settling number (source), the clock time + timezone it is taken at, the precision of the computation (e.g. "1-minute candle close" vs "60-second trailing average" vs "election outcome"), the evidence standard (official_source | consensus_reporting | any_credible_report | unspecified), and void_handling (cancellation/postponement settlement — reused verbatim from bet_research's cancellation_rule detector, not re-derived). Parses Polymarket's `description` field (fetched via polymarket_market) or Kalshi's `…
Resolution Diff — Field-by-field diff of TWO markets' settlement clauses (one from each of `a` and `b`; either can be Polymarket or Kalshi) — runs resolution_audit on both sides and compares source, settle time, precision, and evidence standard. Returns `equivalent`: "true" only when both sides parsed with enough confidence to compare AND no field conflicts; "false" when a specific conflict was found (differing_fields names which — e.g. ["source","settle_time"] for a Polymarket Bitcoin market settling on Binance's 1-minute candle at noon ET versus a Kalshi KXBTCD market settling on CF Benchmarks' BRTI 60-secon…
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 5,957961 across 1552 sources, fills arguments, fetches the ⟨87 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
⟨69 unchanged words⟩ routes each to the right one of 5,957961 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩