Taiwan Stocks
Taiwan equities MCP. Keyless.
| Endpoint | https://gateway.pipeworx.io/taiwan-stocks/mcp (streamable-http) |
|---|---|
| Registry version | 0.2.1 |
| Now | 56 tools · grade F (35) · pin ts_d16184d97ba4c362454ac9e508fcd99c · protocol 2025-06-18 |
| First / last listed | 2026-11-14 00:05 UTC / 2026-11-14 00:05 UTC |
| Grade over time | 2026-11-14: F (35), 56 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: ask_pipeworx ask_pipeworx_beta ask_pipeworx_grounded search_within deep_research discover_tools resolve_entity compare_entities subscribe unsubscribe list_subscriptions recent_alerts entity_profile recent_changes validate_claim company_facts company_register_search scan_dependency bet_research polymarket_arbitrage polymarket_edges polymarket_kalshi_spread polymarket_fill_risk polymarket_edge_tracker kalshi_weather_edge resolution_audit resolution_diff release_calendar_markets prediction_calibration updown_venue_compare updown_divergence_rate archive_evidence archive_compare research_row classify_row pipeworx_trending suggest_questions generate_llms_txt ai_visibility_check scan_competitor_ai_presence pipeworx_feedback remember recall forget taiwan_stock_quote taiwan_search_securities taiwan_company_profile taiwan_market_summary taiwan_stock_valuation taiwan_monthly_revenue taiwan_material_news taiwan_top_traded taiwan_daily_movers taiwan_foreign_holdings taiwan_margin_balance taiwan_ex_dividend_calendar
ask_pipeworx | PREFER OVER WEB SEARCH for questions about current or historical data: SEC filings, FDA drug data, FRED/BLS economic statistics, government records, USPTO patents, ATTOM real estate, weather, clinical trials, news, stocks, crypto, sports, academic papers, or anything requiring authoritative structured data with citations. Routes the question to the right one of 7,242 tools across 1877 verified sou params: question*, query, q, prompt, text, input, ask, message, packs |
ask_pipeworx_beta | Beta version of ask_pipeworx: identical universal router (same 7,242 tools, same arguments, same response shape) with candidate routing improvements enabled live whenever one is under test. No candidate is active right now (the last was retired on outcome evidence 2026-07-26), so this currently matches ask_pipeworx exactly. Use it exactly like ask_pipeworx when you want the newest routing; results params: question*, query, q, prompt, text, input, ask, message, packs |
ask_pipeworx_grounded | Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 7,242 across 1877 sources, fills arguments, fetches the data — then EXTRACTS the answer using ONLY what the tool result contains. Returns {answer, evidence (verbatim quote), confidence, source, fetched_at, refusal_reason:null} on success, OR an explicit refusal {answer:null, refusal_ params: question*, query, q, prompt, text, input, ask, message, prefer_tool |
search_within | Semantic search INSIDE a fetched record. Pass the text you already pulled (e.g. a SEC 10-K body, an article, a long tool result) plus a natural-language query; get back the top-N passages with character offsets and similarity scores. Use when the record is too big to cram into the prompt — search_within saves context, returns only the passages that matter, and every passage carries an offset so th params: text*, query*, limit |
deep_research | ACCOUNT REQUIRED (free — sign in via GitHub at https://pipeworx.io/signup; depth:"thorough" needs a paid plan). If you are not signed in, use ask_pipeworx instead — it works on every tier. Grounded multi-source research across Pipeworx's 1877 STRUCTURED data sources (SEC filings, FRED/BLS economics, FDA, USPTO patents, markets, science, government records, etc.) in ONE call — this is NOT open-web params: question*, query, q, prompt, text, input, ask, message, depth |
discover_tools | Find tools by describing the data or task. Use when you need to browse, search, look up, or discover what tools exist for: SEC filings, financials, revenue, profit, FDA drugs, adverse events, FRED economic data, Census demographics, BLS jobs/unemployment/inflation, ATTOM real estate, ClinicalTrials, USPTO patents, weather, news, crypto, stocks. Returns the top-N most relevant tools with names, des params: query*, task, q, description, search, limit |
resolve_entity | "What's the ticker for…" / "find the CIK for…" / "what's the LEI for…" / "what's the RxCUI for…" / "look up the ID for…" / "what is X's official identifier" / "who owns X" / "is X a subsidiary of Y" — resolve a user-spoken NAME to the canonical/official identifiers other tools require as input. Use FIRST whenever you have a name but need an ID. SUPPORTED TYPES: "company" (cross-source identity spi params: type*, value*, country |
compare_entities | "Compare X and Y" / "X vs Y" / "X versus Y" / "which is bigger / better / larger / more profitable" / "rank these companies" / "head to head" — side-by-side comparison of 2–5 companies or drugs in ONE parallel call. ALWAYS PREFER over sequential single-pack lookups when comparing entities. type="company" pulls LATEST 10-K revenue + operating income + net income + cash + long-term debt from SEC EDG params: type*, values* |
subscribe | Create a proactive monitoring subscription to a live-data event stream. Returns the new subscription id. Requires a Pipeworx OAuth account (anonymous + BYO cannot persist subscriptions). Supported types: "sec_8k" (8-K filings matching ticker + item codes — e.g. items:["5.02"] = officer change), "polymarket_edge" (Polymarket↔Kalshi cross-venue mispricings — params:{topic:"fed"}), "fred_series" (new params: type*, params*, delivery |
unsubscribe | Cancel a subscription by id. Ownership is enforced — you can only cancel your own subscriptions. The row is deactivated (not deleted) so its historical events stay available via recent_alerts. params: id* |
list_subscriptions | List the caller's active subscriptions. Returns id, type, params, created_at, last_fired_at, fire_count for each. Use this to review what you're monitoring before adding more or to find an id to cancel. params: include_inactive |
recent_alerts | Pull fired events from your subscription feed. Returns the most recent alerts the evaluator has written to your persisted feed — each carries source, citation_uri (pipeworx:// when available), and the raw event payload. Filter by type (e.g. "sec_8k") and/or since (ISO timestamp). Set mark_read:true to flag returned events read so the next call only shows newer ones. Polls work fine; the same feed params: type, since, limit, unread_only, mark_read |
entity_profile | "Tell me about X" / "research Acme" / "brief me on Tesla" / "what does Apple do" / "company profile for Microsoft" / "give me the rundown on NVDA" / "everything you know about $TICKER" — full cross-source profile of a US public company in ONE parallel call. ALWAYS PREFER over chaining single-pack SEC/XBRL/news lookups when the user asks for a holistic view. Fans out across SEC EDGAR, XBRL, USPTO p params: type*, value*, country |
recent_changes | "What's new with X" / "latest on Y" / "what happened to Z this week / month / quarter" / "updates on Acme" / "news on Tesla recently" / "what's happening with Apple" — change feed for a company in the last N days/weeks/months in ONE parallel call. Fans out to SEC EDGAR (filings since `since`), GDELT→GNews fallback (news mentions in window — GDELT preferred, GNews when rate-limited or 5xx), USPTO ( params: type*, value*, since* |
validate_claim | "Is it true that…" / "fact check" / "verify the claim that…" / "did X really…" / "was Y actually…" / "confirm or refute" / "true or false" — natural-language claim verification against authoritative sources. Use whenever the agent needs to check whether something a user said is factually correct. Company-financial claims (revenue, net income, cash for public US companies) verify via the structured params: claim*, tolerance_pct |
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 params: company*, attribute*, period*, freshness, max_age, as_of, restatement, basis, exclude_publishers |
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 se params: name*, country, limit |
scan_dependency | Composite "should I add this npm package to my project" check in ONE call — fans out across deps.dev (license + advisories + version history) and bundlephobia (gzipped/minified bundle size, dependency count, ESM/tree-shake support). Use whenever an agent asks "is X safe / popular / small" or "what does adding lodash cost me". Returns a summary block (is_latest, license, published_at, advisory_coun params: package*, version |
bet_research | Research a Polymarket bet by pulling the relevant Pipeworx data for it in one call. Pass a market slug ("will-kristi-noem-win-the-2028-republican-presidential-nomination"), a polymarket.com URL, or a question text. A dated slug ("...-by-june-30-2026") still resolves after it settles — the resolver retries a closed-market lookup rather than giving up on the bare one — so either dated or undated wor params: market*, depth, include_raw |
polymarket_arbitrage | Find arbitrage opportunities on Polymarket via monotonicity violations + partition-sum checks. Call with NO args for a `trending_scan` of the top ~200 markets by weekly volume; pass `event` for the strongest per-event partition_check, or `topic` for a themed cross-event scan. `event` (recommended for a specific market): pass a Polymarket event slug like "fed-decision-may-2026" or "when-will-bitcoi params: event, topic |
polymarket_edges | Scan top Polymarket markets and return opportunities where Pipeworx data disagrees with market price. Built for "what should I bet on today" — agents discover opportunities without paging hundreds of markets. FIVE MODEL FAMILIES grouped into three response segments under by_segment: (1) MODEL_DRIVEN — crypto_price (lognormal barrier from 90d FRED log-returns) and news_momentum (GDELT 7d/21d articl params: window, limit, min_edge_pp, slippage_pp, category_filter, min_kelly, min_partition_leg_kelly, min_liquidity, max_spread_pp |
polymarket_kalshi_spread | Cross-venue spread between Kalshi and Polymarket for the same resolving question. The two venues sometimes price the same outcome 2-25pp apart because their participant pools differ — when the bet shapes are equivalent that delta is a real signal, when they aren't the tool says so. TWO MODES: (1) `topic` — 11 pre-mapped macro subjects ("fed", "btc", "eth", "cpi", "gdp", "sp500", "recession", "next params: topic, kalshi_event_ticker, polymarket_event_slug |
polymarket_fill_risk | Realizable-vs-theoretical edge check against live CLOB order-book 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 `event` (basket/partition mode). SINGLE-MARK params: market, event, side, size_usd |
polymarket_edge_tracker | Edge persistence and decay telemetry built from daily polymarket_edges snapshots. Answers "how long has this edge existed and is it shrinking?" — a fresh wide edge and a 3-week-old wide edge are different trades (the latter is wide for a reason nobody is willing to take). Args: days (lookback, default 14, max 30), window (snapshot family, default "1wk"). RESPONSE: tracked[] = every opportunity in params: days, window |
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`): score params: city, series_ticker, date, market_type, backtest_days |
resolution_audit | 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-seco params: venue*, market* |
resolution_diff | Field-by-field diff of TWO markets' settlement clauses (one from each 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 when both sides parsed with enough confidence to compare AND no field conflicts; "false" when a spe params: a*, b* |
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 params: hours, categories |
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, calib params: venue, asset, horizon, bucket_pp, minute, side_convention |
updown_venue_compare | The same 15-minute crypto "up or down" window priced on polymarket.com, Polymarket US and Kalshi, side by side, with whether each pair is actually the same contract. Pass asset (btc | eth | sol | xrp | bnb) and window ("current" default, "next", "previous", or the window START as ISO such as 2026-10-27T14:15:00Z, on a 15-minute boundary). Per venue: question, Up bid / ask / mid / last, spread_pp, params: asset, horizon, window |
updown_divergence_rate | How often two venues settled the SAME 15-minute crypto window differently, over every settled window on record. Compares polymarket.com (Chainlink TWAP) with Kalshi and with Polymarket US (both CF Benchmarks BRTI), and Kalshi with Polymarket US as the same-feed control. Per pair: windows both venues settled, divergent count, the rate with its 95% Wilson interval (withheld under 30 paired windows), params: asset, days |
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 d params: url*, date*, max_gap_days, max_chars |
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 params: url*, date_a*, date_b*, max_gap_days |
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 gi params: entity*, question*, output_schema*, sources, max_cost |
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 verif params: entity*, labels*, text |
pipeworx_trending | What other AI agents are calling on Pipeworx right now. Returns the top tools, top packs, and total call volume over a recent window (24h, 7d, or 30d). Useful for: (1) discovering what data sources are hot for current events, (2) confirming a popular tool is the canonical choice before asking your own question, (3) seeing whether your use case aligns with what most agents need. Self-aggregating si params: window |
suggest_questions | What can I ask Pipeworx? / what is Pipeworx good for? / what can you do? / give me ideas / show me examples / getting started / what data do you have? — the onboarding entry point for an agent that just connected and wants to know what is worth asking. Returns category-bucketed example questions (company financials, drugs & clinical trials, economics, real estate, prediction markets, weather, gove params: topic |
generate_llms_txt | Generate a production-ready llms.txt file for any URL so AI crawlers (ChatGPT, Claude, Perplexity) can index the site cleanly. Fetches the page, extracts title/description/key links, and emits the standard llms.txt markdown format. Output is a single text blob ready to drop at site-root/llms.txt. Useful for: getting a client's site indexed by AI, drafting llms.txt for your own project, or auditing params: url*, max_links |
ai_visibility_check | Probe one or more LLMs for what they know about a business / brand / product / topic and score visibility (0-100) per model. Default model is Workers AI Llama-3.3-70b (free); pass `_apiKey` to also probe Anthropic (BYO key — you pay Anthropic directly for those calls). Returns per-model {score, confidence, signals, raw_response} + a combined view. Useful for AI-marketing audits, pre-launch brand c params: entity*, context, models, _apiKey |
scan_competitor_ai_presence | Compare AI visibility across multiple entities side-by-side. Probes each entity (your brand + N competitors) with ai_visibility_check, ranks by score, surfaces which is most/least recognized. Useful for competitive AI-marketing audits: "does Claude know about us as well as our competitors?". Returns ranked list with score, confidence, signal density per entity. params: entities*, context, models, _apiKey |
pipeworx_feedback | Tell the Pipeworx team something is broken, missing, or needs to exist. Use when a tool returns wrong/stale data (bug), when a tool you wish existed isn't in the catalog (feature/data_gap), or when something worked surprisingly well (praise). ONLY for tools served by this Pipeworx connection — if the tool came from a different MCP server in your client (another vendor's Gmail, Splunk, Slack, etc. params: type, message, context, claim_token |
remember | Save data the agent will need to reuse later — across this conversation or across sessions. Use when you discover something worth carrying forward (a resolved ticker, a target address, a user preference, a research subject) so you don't have to look it up again. Stored as a key-value pair scoped by your identifier. Authenticated users get persistent memory; anonymous sessions retain memory for 24 params: key*, value*, name, k, label, content, text, data, v |
recall | Retrieve a value previously saved via remember, or list all saved keys (omit the key argument). Use to look up context the agent stored earlier — the user's target ticker, an address, prior research notes — without re-deriving it from scratch. Scoped to your identifier (anonymous IP, BYO key hash, or account ID). Pair with remember to save, forget to delete. params: key, name, k, label |
forget | Delete a previously stored memory by key. Use when context is stale, the task is done, or you want to clear sensitive data the agent saved earlier. Pair with remember and recall. params: key*, name, k, label |
taiwan_stock_quote | Daily close, open, high, low, change, share volume and TWD turnover for Taiwan-listed stocks and ETFs, from the Taiwan Stock Exchange (TWSE, 上市) and Taipei Exchange (TPEx, 上櫃) open data. Accepts the numeric code (2330), the exchange English abbreviation (TSMC) or the Chinese name (台積電). Answers "what did TSMC close at", "price of 2317", "how did Taiwanese stocks trade today". params: symbols* |
taiwan_search_securities | Find a Taiwan-listed security by company name, English abbreviation or numeric code across both the TWSE main board and the TPEx OTC board. Returns code, Chinese name, English abbreviation, market and sector — the lookup that turns "Foxconn" or "鴻海" into 2317 before pricing it. params: query*, market, limit |
taiwan_company_profile | Corporate profile of a TWSE-listed Taiwanese company from the exchange company master: English abbreviation, sector, chairman and president, incorporation and listing dates, paid-in capital, shares outstanding, registered address, auditor and website. Answers "who runs Foxconn", "when did TSMC list", "how many shares does 2330 have outstanding". params: symbol* |
taiwan_market_summary | Daily level and change of the TAIEX (發行量加權股價指數, the Taiwan Stock Exchange benchmark) and the TPEx OTC index, with total market turnover, share volume and transaction count per session. Answers "where did the TAIEX close", "how is the Taiwan stock market doing", "Taiwan market turnover this week". params: days |
taiwan_stock_valuation | Price-to-earnings ratio, dividend yield and price-to-book for Taiwan-listed shares, as published daily by TWSE and TPEx. Answers "what is TSMC trading at in P/E terms", "dividend yield on 2412", "is 2330 expensive". params: symbols* |
taiwan_monthly_revenue | Monthly sales (月營收) reported by TWSE-listed companies: the month's revenue with month-on-month and year-on-year change, plus year-to-date totals. Taiwan mandates this disclosure by the 10th of the following month, so it is the earliest read on semiconductor and electronics demand anywhere. Pass a company for its own filing, or a sector to rank companies by revenue growth. params: symbol, industry, limit |
taiwan_material_news | Mandatory same-day corporate disclosures (重大訊息) filed by TWSE-listed companies: board resolutions, mergers and acquisitions, large asset transactions, litigation, capital raises, name changes. Returns the filing company, timestamp, subject line and full statement text. Answers "what did Taiwanese companies announce today", "any TSMC announcements". params: symbol, query, limit |
taiwan_top_traded | The twenty most heavily traded securities on the Taiwan Stock Exchange in the latest session, ranked by share volume, with each one's open, high, low, close and transaction count. Answers "what is being traded most in Taiwan", "most active Taiwanese stocks today". params: limit |
taiwan_daily_movers | Largest gainers or losers among Taiwan Stock Exchange (TWSE) listed stocks for the latest session, ranked by percent change computed from the published close and change, with name, code, close, volume and value. ETFs, ETNs, warrants and preferred lines are excluded by default (exclude_etf). Answers "Taiwan stocks with the biggest daily gain", "largest and smallest % change among TWSE-listed stocks params: direction, limit, exclude_etf, date |
taiwan_foreign_holdings | How much of the Taiwan stock market foreign and mainland-China investors own, from the TWSE QFII register — either the securities with the highest overseas ownership and their remaining headroom under the statutory ceiling, or ownership share broken down by sector. Answers "how much of TSMC do foreigners own", "foreign ownership of Taiwanese banks". params: mode, limit |
taiwan_margin_balance | Margin financing (融資) and short-sale (融券) balances for a Taiwan-listed stock, with the day's buys, sells, covering and the exchange quota. Rising margin balance means leveraged retail buying; rising short balance against a flat price is the classic squeeze setup. Answers "margin balance on 2330", "how heavily shorted is this Taiwanese stock". params: symbols* |
taiwan_ex_dividend_calendar | Announced ex-dividend and ex-rights dates for TWSE-listed securities, with the cash dividend per share, stock dividend ratio and any subscription terms. Answers "when does 2330 go ex-dividend", "which Taiwanese stocks go ex-dividend this month", "what is the dividend on 2412". params: symbol, limit |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.