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
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 5 more (54 tools before, 55 now)
⟨44 unchanged words⟩ the question to the right one of 6,628900 tools across17391815 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"},"prompt":{"description":"Alias for question.", ⟨48 unchanged words⟩
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
Authorization not required, issuer https://gateway.pipeworx.io
Added "archive_compare", "archive_evidence", "ashares_billboard" and 7 more; changed the definition of "ashares_market_snapshot", "ashares_turnover_ranking", "ask_pipeworx" and 4 more (44 tools before, 54 now)
⟨22 unchanged words⟩ change %, day range and turnover, plus market-wide breadth as a sentiment gauge: how many stocks hit limit-up (涨停)today asandalimit-downsentiment(跌停)gauge.today. Answers 'how is the China A-share market doing' ⟨5 unchanged words⟩ snapshot at close', 'how did Chinese stocksclose'.close', '涨跌停家数', 'limit-up limit-down counts today'. For the ranked pools use ashares_limit_up / ashares_limit_down; for market-wide margin financing leverage use ashares_margin_financing. Source: Sina + Eastmoney (keyless).
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 2 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,431453 tools across16801682 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 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,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
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,394404 tools across16721675 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 "ashares_technical_indicators"; changed the definition of "ask_pipeworx", "ask_pipeworx_beta", "ask_pipeworx_grounded" and 1 more (43 tools before, 44 now)
⟨44 unchanged words⟩ the question to the right one of 6,350394 tools across16591672 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
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,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
Certificate changed, valid to 2026-12-18
Authorization not required, issuer https://gateway.pipeworx.io
Changed the definition of "ai_visibility_check", "ask_pipeworx", "ask_pipeworx_beta" and 20 more
{"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,056332 tools across15721653 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
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 7 more (38 tools before, 43 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,961056 tools across15521572 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
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
Certificate recorded, valid to 2026-10-18
Authorization not required, issuer https://gateway.pipeworx.io
First tool surface recorded: 38 tools (server version 0.1.0)
Showing the latest 40 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Beta version of ask_pipeworx: identical universal router (same 6,628900 tools, same arguments, same response shape) ⟨68 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⟩
⟨9 unchanged words⟩ ask_pipeworx — picks the right tool from 6,628900 across17391815 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⟩
⟨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` ⟨63 unchanged words⟩ no accession behind it). Source: SEC EDGAR, XBRLcompanyconceptfinancial facts, one publisher read once — see `corroboration`. ⟨11 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's17391815 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,628900 tools IN PARALLEL, and returns a findings ⟨216 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⟩
⟨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"}⟨126 unchanged words⟩ :{tool, args?, fields[], schedule}), "new_entity" (new business registrations from a state business-entity registry — 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⟩
⟨286 unchanged words⟩ schedule \"hourly\" needs the paid tier. new_entity: {state:\"CO\", name_query?:\"dental\", entity_type?:\"limited liability\"} — state is required and must be one of FL, NY, CO, OR, CT, TX, PA. tech_change: {domains:[\"acme.com\",\"example.org\"], technologies?:[\"Shopify\",\"Segment\"]} — domains required (1-200), technologies optional (exact names, case-insensitive) to narrow which detected technologies alert. Unknown keys inform_d/news_keyword/job_post/tool_diffform_d/news_keyword/job_post/tool_diff/new_entity/tech_change params are rejected at subscribe time.","type ⟨11 unchanged words⟩ ","form_d","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…
⟨62 unchanged words⟩ CNY (成交额), turnover rate %, andquoteindustrytime.(行业/板块,Source:when resolvable). Omit `date` (or pass today) for the LIVE board (Sina,Market_Center.getHQNodeDatareal-time). Pass a PAST trading day in `date` for that day's ranking instead of today's — this uses a different, Eastmoney-sourced historical path and only supports `sort:'changepercent'` (涨跌幅排名): no keyless bulk source for a PAST day's turnover amount or volume ranking was found (Sina's live board is the only amount/volume source)., so `date` + `sort:'amount'|'volume'` throws a clear error naming that gap rather than silently substituting today's board. A non-trading `date` (weekend/holiday) walks back to the prior trading day automatically.
⟨9 unchanged words⟩ ,{"limit":10,"sort":"changepercent"},{"date":"2026-09-22","limit":10,"sort":"changepercent"}],"properties":{"board":{"description": ⟨30 unchanged words⟩ ,"cyb"],"type":"string"},"date":{"description":"A PAST trading day, YYYY-MM-DD or YYYYMMDD, for that day's ranking instead of today's live board. Only `sort:'changepercent'` is supported with a past date. Omit for the live board.","type":"string"},"limit":{"description":"How many stocks to ⟨29 unchanged words⟩ % (涨跌幅), or share volume (成交量). For a PAST `date`, only 'changepercent' is available — 'amount'/'volume' throw a clear error for historical dates (no keyless historical source for those two).","enum":["amount","changepercent" ⟨5 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,453628 tools across16821739 verified sources, fills arguments, returns the structured ⟨143 unchanged words⟩
Beta version of ask_pipeworx: identical universal router (same 6,453628 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⟩
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,453628 across16821739 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's16821739 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,453628 tools IN PARALLEL, and returns a findings ⟨216 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}). 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. Unknown keys in form_d/news_keyword/job_post/tool_diff 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"],"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 …
Ashares Billboard — The Chinese A-share market's daily 龙虎榜 (dragon-tiger list / billboard) for a trading day — stocks flagged for unusual price/turnover deviation, with the top seats' buy/sell/net amounts, plus (when present that day) institution-seat (机构专用) net-buy detail and that day's most-active brokerage branches (营业部) market-wide as a 'top brokerages' signal. Answers '龙虎榜', 'dragon tiger list for a date', 'which stocks were on the billboard on 2026-09-24', '机构净买入', 'institution seat net buys', 'top active brokerage seats'. Each listed stock has the reason it was flagged (EXPLANATION, e.g. daily move ≥7%), …
Ashares Capital Flow — Per-stock daily main-capital net inflow history (主力净流入 / 超大单+大单净流入, often called '超大单净流入' in retail trackers) for a Chinese A-share stock or ETF — one row per trading day with net inflow broken down by order size: 超大单 (super-large/institutional), 大单 (large), 中单 (medium), 小单 (small), plus 主力净流入 (main = 超大单+大单combined) in both CNY amount and as a % of that day's turnover. Answers '主力净流入历史', '超大单净流入', '000768最近20个交易日的主力资金流向', 'main capital net inflow history for a China A-share stock', 'which days did big money flow into/out of a stock'. A positive net inflow means net buying pressure from that …
Ashares Etf Shares — Disclosed fund-share-count (基金份额) and net-asset history for a Chinese-listed ETF — period-end total shares outstanding (期末总份额), the period's subscriptions/redemptions (期间申购/赎回), and period-end net assets (期末净资产), in shares and CNY. Answers '基金份额变动', 'ETF shares outstanding history', '515050规模变动', 'how many shares outstanding does this ETF have over time'. IMPORTANT: this is NOT a daily series — Chinese ETFs publicly disclose 份额 only at quarter-end plus occasional ad-hoc material-change dates (confirmed live for 515050/561980/588170/588200), not every trading day; a `from`/`to` window with no …
Ashares Intraday Bars — Intraday minute bars (分钟线/分时/分钟K线) for Chinese A-share stocks/ETFs on a given trading日/交易日, with cumulative volume and turnover (累计成交量/累计成交额) computed up to a requested time of day (截至<time>, e.g. 截至11:05) — answers '515050在2026-09-01这个交易日截至11:05的累计成交量和累计成交额', '600519某个交易日截至某时刻的累计成交量和成交额', 'cumulative volume for 600519 up to 11:05 on a past trading day', 'intraday minute bars for an A-share on a specific date'. ashares_quote is realtime-only (today, right now) and ashares_daily_history is end-of-day-only (no intraday granularity) — this tool is for a PAST trading日's intraday trajectory. Retur…
Ashares Limit Down — The Chinese A-share market's LIMIT-DOWN board (跌停板) for a trading day — how many stocks hit their daily DOWN price limit (-10%, or -20% for STAR/ChiNext) and the ranked list of those stocks. Answers 'how many A-shares hit limit down today', '跌停家数', 'which stocks 跌停', 'limit-down stock count for a China A-share trading day' — the counterpart to ashares_limit_up, together giving market-wide limit-up/limit-down breadth. Each stock includes code, name, price, change % (negative), turnover (成交额), float market cap, turnover rate (换手率), seal fund (封板资金), last seal time, industry (行业), and P/E. Sourc…
Ashares Margin Financing — China A-share margin financing and securities lending balance (融资融券余额/两融余额) — the market-wide leverage gauge: aggregate financing balance (融资余额, money borrowed to buy stock), securities-lending balance (融券余额, shares borrowed to short), and their combined total (融资融券余额), for the Shanghai (SSE) and Shenzhen (SZSE) exchanges separately and combined, with day-over-day change. Answers '融资余额', '两融余额', '融资融券余额', 'margin financing balance', 'China A-share margin debt', 'how much margin debt is in the A-share market', 'margin balance day over day change'. Pass a 6-digit SZSE code (0/3/159-prefixed) in…
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,431453 across16801682 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's16801682 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,431453 tools IN PARALLEL, and returns a findings ⟨216 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⟩
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,394404 across16721675 sources, fills arguments, fetches the data — ⟨85 unchanged words⟩
⟨30 unchanged words⟩ on every tier. Grounded multi-source research across Pipeworx's16721675 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,394404 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⟩
Beta version of ask_pipeworx: identical universal router (same 6,350394 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,350394 across16591672 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⟩
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's16591672 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,350394 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
Ashares Technical Indicators — Technical indicators for Chinese A-share stocks and ETFs (均线/布林/MACD/KDJ) — MA (moving averages, any windows, default MA5/MA10/MA20/MA60), BOLL (Bollinger Bands, default 20-period ×2 std dev), MACD (DIF/DEA/柱, default 12/26/9), and KDJ (K/D/J, default 9/3/3), computed from this pack's own daily OHLCV history (same source and codes as ashares_daily_history — ETF codes like 515050/588170/561980 work the same as stock codes). Answers '515050通信ETF华夏最近20个交易日MA5/MA10/MA20/BOLL/MACD/KDJ', '603986兆易创新周线MACD是否死叉', 'MA20 and BOLL for an A-share ETF', '布林带', '均线', '金叉死叉'. Internally fetches extra lookba…
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⟩
Beta version of ask_pipeworx: identical universal router (same 6,056332 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,056332 across15721653 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's15721653 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ routes each to the right one of 6,056332 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⟩
{"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⟩
Beta version of ask_pipeworx: identical universal router (same56,961056 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,961056 across15521572 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's15521572 STRUCTURED data sources (SEC filings, FRED/BLS economics ⟨23 unchanged words⟩ , routes each to the right one of56,961056 tools IN PARALLEL, and returns a findings ⟨216 unchanged words⟩
⟨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⟩
⟨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⟩
⟨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.spread.fees_noteFleetis#2062: this used to compare Polymarket's settlement date against Kalshi's subject month and call astandingmatchdisclosure— fixed to compare subject month to subject month on both sides. FEES:Kalshieverychargestop_spreads_ppper-contractandtradinglow_confidence_pairs[]feesrow carries edge_pp_gross (== |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⟩