TWSE MCP Server
Use this MCP server to query TWSE-listed/public-company fundamentals, governance/ESG, financials, trading/market statistics, announcements, warrants, and risk/compliance data.
Retrieve company/public-company profiles, dividends, monthly revenue, EPS, profitability, and major shareholders.
Pull income statements, balance sheets, profitability summaries, audit/forecast checks, and supervisor acknowledgments.
Inspect board shareholdings, director/supervisor compensation, pledged shares, insider trades, shareholder meetings, ownership/business-scope changes, governance rules, violations, and CEO dual roles.
Access ESG/sustainability metrics such as climate, risk, supply chain, information security, human development, waste/water/energy, GHG emissions, product/food safety, community relations, and inclusive finance.
Query market/trading data: daily/monthly/yearly trading, monthly average price, valuation ratios, top-volume stocks, odd lots, after-hours trades, suspended trading, cross-market info, block trades, day-trading targets/restrictions, and margin-loan restrictions.
Get company major news, TWSE news/events, listing applicants, recently listed/suspended companies, and disposal stocks.
Look up warrant basics, daily warrant trading, trader counts, and yearly issuance statistics.
View ETF regular-investment rankings.
README notes additional optional data sources/features (TPEx, TAIFEX futures/options, MOPS history, TDCC, ETF/SITCA, NDC, CBC) can be enabled via source configuration; the provided schema shows the TWSE-focused tool set.
Enables configuration of the server using environment variables stored in a .env file for setting workspace paths and other parameters.
Provides tools for contributing to the TWStockMCPServer project through GitHub Issues, Discussions, and Pull Requests for bug reporting and feature suggestions.
Runs on Python 3.8+ with support for Python packages and libraries for implementing stock data analysis tools.
Displays status badges in the README for license, Python version, and MCP compatibility information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TWSE MCP Server 分析台積電最近的走勢"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🚀 TWStockMCPServer
A comprehensive Model Context Protocol (MCP) server designed for Taiwan Stock Exchange (TWSE) data analysis, providing real-time stock information, financial reports, ESG data, and trend analysis features.
🌏 Language Versions
English | 繁體中文
Related MCP server: Taiwan Stock Agent
🎬 Demo Videos
VSCode Copilot demo

Gemini CLI demo

Watch the TWStockMCPServer feature showcase
✨ Five Major Investment Analysis Scenarios
📊 Individual Stock Trend Analysis
Comprehensive analysis of short, medium, and long-term technical, fundamental, and chip-distribution aspects.
"Analyze the recent trend of TSMC (2330)" / "Is Foxconn (2317) suitable for long-term investment?"
💰 Foreign Institutional Investor Interpretation
Tracking foreign shareholding, industry capital flows, and individual stock entry/exit.
"What stocks have foreign investors been buying recently?" / "What is the foreign investment trend in the semiconductor industry?"
🔥 Market Hotspot Capture
Monitoring major news, abnormal trading volume, and warrant activity.
"What is the major news today?" / "Which stocks have abnormally high trading volume?"
💎 Dividend Investment Planning
High dividend yield screening, ex-dividend calendar, and payout stability analysis.
"Recommend some high dividend yield stocks" / "Which companies are going ex-dividend next month?"
🎯 Investment Target Screening
Value/growth stock screening and ESG risk assessment.
"Help me find some undervalued value stocks" / "Which companies have good ESG performance?"
⚙️ Quick Start
🚀 Online Usage (Recommended)
{
"twstockmcpserver": {
"transport": "streamable_http",
"url": "https://TW-Stock-MCP-Server.fastmcp.app/mcp"
}
}🐳 Docker Usage (stdio, no server setup required)
{
"twstockmcpserver": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--pull=always",
"-e",
"MCP_STDIO=1",
"ghcr.io/twjackysu/twsemcpserver:latest"
]
}
}🐳 Docker Usage (HTTP, self-hosted server)
docker run -d -p 8000:8000 -e PORT=8000 ghcr.io/twjackysu/twsemcpserver:latest{
"twstockmcpserver": {
"transport": "streamable_http",
"url": "http://localhost:8000/mcp"
}
}🔧 Local Installation
git clone https://github.com/twjackysu/TWStockMCPServer.git
cd TWStockMCPServer
uv sync && uv run fastmcp dev server.py📡 Data Sources
Source | Description | Tools |
Official TWSE API — Corporate Governance, ESG, Financial Reports, Trading, Indices, etc. | 143 | |
TWSE Web API — Daily K-line, Monthly Average Price, Valuation, Margin Trading, Institutional Investor Net Buy/Sell | 6 | |
Real-time multi-stock quotes during trading hours (Listed + OTC) | 1 | |
Taipei Exchange — OTC Daily Closing, Institutional Investors, P/E Ratio | 3 | |
Taiwan Futures Exchange — Institutional Investor Series, Large Trader Positions, Daily Market Data, Options Analysis, Margins, Monthly/Yearly Statistics | 16 |
🤝 Contribution
PRs are welcome!
📄 License & Disclaimer
MIT License | For reference only, does not constitute investment advice
Available Tools
128 toolsget_abnormal_accumulated_notice_stocksB
Get stocks with abnormal accumulated notice counts.
Returns information including:
Number: Record number (0 means no data)
Code: Stock code
Name: Stock name
RecentlyMetAttentionSecuritiesCriteria: Recently met attention securities criteria
Inputs: no named parameters.
get_after_hours_tradingB
Get after-hours fixed-price trading in the centralized market.
Inputs: no named parameters. Returns: result
get_block_trades_dailyB
Get daily block trade volume and value statistics.
Inputs: no named parameters. Returns: result
get_block_trades_monthlyB
Get monthly block trade volume and value statistics.
Inputs: no named parameters. Returns: result
get_block_trades_yearlyB
Get yearly block trade volume and value statistics.
Inputs: no named parameters. Returns: result
get_broker_basic_infoC
Get basic information for brokers.
Inputs: no named parameters.
get_broker_branch_infoB
Get broker branch office basic information.
Inputs: no named parameters.
get_broker_electronic_trading_statisticsC
Get electronic trading statistics.
Inputs: no named parameters.
get_broker_gender_statisticsB
Get broker personnel gender statistics.
Inputs: no named parameters.
get_broker_headquarters_infoC
Get basic information of broker headquarters.
Inputs: no named parameters.
get_broker_income_expenditureC
Get income and expenditure overview for brokers.
Inputs: no named parameters.
get_broker_monthly_statementsB
Get monthly statements for brokers.
Inputs: no named parameters.
get_broker_service_personnelB
Get personnel numbers by service type for brokers.
Inputs: no named parameters.
get_brokers_offering_regular_investmentB
Get list of brokers offering regular investment services.
Inputs: no named parameters.
get_central_depository_bond_redemptionC
Get central depository bond redemption data.
Inputs: no named parameters.
get_companies_cumulative_votingB
Get companies that use cumulative voting, full roll-call voting, or nominee nomination systems for electing directors and supervisors.
Inputs: no named parameters. Returns: result
get_companies_ownership_changes_business_scopeB
Get companies with ownership changes that also have major business scope changes and were suspended from trading.
Inputs: no named parameters. Returns: result
get_companies_ownership_changes_business_scope_tradingB
Get companies with ownership changes and major business scope changes that were changed to trading method.
Inputs: no named parameters. Returns: result
get_companies_with_anticompetitive_lossesB
Get all listed companies that have reported monetary losses from anti-competitive litigation (excluding zero or N/A values).
Inputs: no named parameters. Returns: result
get_companies_with_business_scope_changesB
Get companies with major changes in business scope.
Inputs: no named parameters. Returns: result
get_companies_with_csr_reports_103B
Get all companies required to prepare and submit CSR reports in 2014 (103 year).
Inputs: no named parameters. Returns: result
get_companies_with_inclusive_finance_dataB
Get all listed companies that have reported inclusive finance activities (excluding zero or N/A values).
Inputs: no named parameters. Returns: result
get_companies_with_independent_directorsB
Get all listed companies with information about independent directors.
Inputs: no named parameters. Returns: result
get_companies_with_ownership_changesB
Get companies with changes in ownership structure.
Inputs: no named parameters. Returns: result
get_companies_with_refineries_in_populated_areasB
Get all listed companies that have reported refineries in populated areas (excluding zero or N/A values).
Inputs: no named parameters. Returns: result
get_company_anticompetitive_litigationC
Obtain anti-competitive litigation losses information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_balance_sheetB
Obtain balance sheet for a listed company based on its stock code. Automatically detects company industry and uses appropriate financial statement format:
General industry (一般業)
Financial services (金融業)
Securities & futures (證券期貨業)
Financial holding companies (金控業)
Insurance (保險業)
Other industries (異業)
Inputs: code (required). Returns: result
get_company_board_infoB
Obtain board information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_ceo_dual_roleB
Get information about whether company chairmen also serve as CEOs.
Inputs: no named parameters. Returns: result
get_company_climate_managementB
Obtain climate-related management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_community_relationsB
Obtain community relations information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_consolidated_director_compensationB
Obtain consolidated director compensation information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_consolidated_supervisor_compensationB
Obtain consolidated supervisor compensation information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_daily_insider_trades_preannouncedB
Obtain daily insider share transfer pre-announcements for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_daily_insider_trades_untransferredB
Obtain daily insider share transfers that have not yet been executed for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_director_compensationB
Obtain director compensation information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_dividendB
Obtain the dividend distribution information of a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_energy_managementB
Obtain energy management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_eps_statisticsB
Obtain EPS statistics by industry for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_financial_reports_supervisor_acknowledgmentB
Obtain financial report acknowledgment by supervisors for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_food_safetyB
Obtain food safety information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_fuel_managementB
Obtain fuel management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_governance_infoB
Obtain corporate governance information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_governance_regulationsB
Obtain corporate governance regulations and rules for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_greenhouse_gas_emissionsC
Obtain greenhouse gas emissions information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_human_developmentB
Obtain human development information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_inclusive_financeB
Obtain inclusive finance information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_income_statementA
Obtain comprehensive income statement for a listed company based on its stock code. Automatically detects company industry and uses appropriate financial statement format:
General industry (一般業)
Financial services (金融業)
Securities & futures (證券期貨業)
Financial holding companies (金控業)
Insurance (保險業)
Other industries (異業)
Inputs: code (required). Returns: result
get_company_information_disclosure_violationsC
Obtain information disclosure and shareholder meeting regulation violations for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_info_securityB
Obtain information security data for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_investor_communicationsB
Obtain investor communications information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_major_newsA
Get daily major announcements from listed companies.
Retrieves important company announcements and material information disclosures that may impact stock prices and investor decisions. Can filter by company code or get all announcements.
Args: code: Company stock code (optional). If provided, filters results for specific company. If empty, returns all major announcements.
Returns: Formatted string containing major announcements including: - Report date (出表日期) - Announcement date (發言日期) - Announcement time (發言時間) - Company code (公司代號) - Company name (公司名稱) - Subject/Title (主旨 ) - Applicable regulations (符合條款) - Event occurrence date (事實發生日) - Description/Details (說明)
Note: This API provides basic announcement information without speaker/contact details. For complete contact information, refer to company's official announcements.
Inputs: code. Returns: result
get_company_monthly_revenueB
Obtain monthly revenue information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_ownership_and_controlB
Obtain ownership and control information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_product_lifecycleB
Obtain product lifecycle information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_product_quality_safetyB
Obtain product quality and safety information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_profileB
Obtain the basic information of a listed company as a JSON string object based on its stock code.
Inputs: code (required). Returns: result
get_company_profitability_analysisC
Get profitability analysis for a specific listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_profitability_analysis_summaryA
Get profitability analysis query summary table (all companies aggregate report).
Args: page_size: Number of records per page (default: 20, max: 100) page_number: Page number to retrieve (default: 1, starts from 1) order_by: Field name to sort by. Available fields: - "公司代號" (Company Code) - "公司名稱" (Company Name) - "營業收入(百萬元)" (Revenue in millions) - "毛利率(%)(營業毛利)/(營業收入)" (Gross Margin %) - "營業利益率(%)(營業利益)/(營業收入)" (Operating Margin %) - "稅前純益率(%)(稅前純益)/(營業收入)" (Pre-tax Margin %) - "稅後純益率(%)(稅後純益)/(營業收入)" (Net Margin %) - "年度" (Year) - "季別" (Quarter) order_direction: Sort direction, "asc" for ascending or "desc" for descending (default: "asc")
Inputs: page_size, page_number, order_by, order_direction. Returns: result
get_company_quarterly_audit_varianceB
Obtain quarterly comprehensive income audited/reviewed figures that differ from forecast by more than 10% for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_quarterly_earnings_forecast_achievementC
Obtain quarterly earnings forecast achievement (simplified) for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_risk_managementB
Obtain risk management policy information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_sec_regulatory_penaltiesB
Obtain SEC regulatory penalty information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_supervisor_compensationB
Obtain supervisor compensation information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_supply_chain_managementB
Obtain supply chain management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_waste_managementC
Obtain waste management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_company_water_managementB
Obtain water resource management information for a listed company based on its stock code.
Inputs: code (required). Returns: result
get_cross_market_trading_infoB
Get daily cross-market trading information for listed and OTC stocks.
Inputs: no named parameters. Returns: result
get_daily_day_trading_targetsC
Get daily day trading targets and statistics.
Inputs: no named parameters. Returns: result
get_daily_market_trading_infoB
Get daily market trading information in the centralized market.
Inputs: no named parameters.
get_daily_securities_lending_volumeB
Get daily available volume for securities lending (margin trading).
Inputs: no named parameters.
get_dividend_rights_scheduleA
Get ex-dividend and ex-rights schedule for listed stocks.
Retrieves upcoming and historical ex-dividend/ex-rights dates along with detailed information about stock dividends, cash dividends, rights offerings, and other corporate actions. Essential for dividend investment strategies.
Args: code: Stock code (optional). If provided, filters results for specific company. If empty, returns all upcoming dividend/rights schedules.
Returns: Formatted string containing dividend/rights schedule including: - Ex-dividend/rights date (除權息日期) - Stock code (股票代號) - Company name (名稱) - Ex-dividend/rights type (除權息) - Stock dividend ratio (無償配股率) - Rights offering ratio (現金增資配股率) - Rights offering price per share (現金增資認購價) - Cash dividend (現金股利) - Number of shares offered (配股張數) - And other corporate action details
Inputs: code. Returns: result
get_etf_regular_investment_rankingA
Get top 10 securities by number of regular investment accounts (定期定額).
Retrieves ranking statistics for both individual stocks and ETFs based on the number of trading accounts using regular investment plans. This data helps identify the most popular securities for systematic investment strategies.
Returns: Formatted string containing top 10 regular investment rankings including: - Ranking number (排序) - Stock code (股票代號) - Stock name (股票名稱) - Number of stock trading accounts (股票交易戶數) - ETF code (ETF代號) - ETF name (ETF名稱) - Number of ETF trading accounts (ETF交易戶數)
Inputs: no named parameters. Returns: result
get_financial_program_abnormal_recommendationsB
Get stocks abnormally recommended in financial programs.
Inputs: no named parameters. Returns: result
get_first_listed_foreign_stocks_dailyB
Get daily trading volume and value of first-listed foreign stocks.
Inputs: no named parameters. Returns: result
get_foreign_companies_applying_for_listingB
Get foreign companies applying for first listing on TWSE.
Inputs: no named parameters. Returns: result
get_foreign_investment_by_industryA
Get foreign and mainland China investment holding ratios by industry category.
Returns comprehensive statistics of foreign investment holdings across different industry sectors in the Taiwan stock market, including the number of companies, total issued shares, foreign holdings, and holding percentages by industry.
Returns: Formatted string containing foreign investment statistics by industry including: - Industry category (產業別) - Number of companies (家數) - Total issued shares (總發行股數) - Foreign and mainland China total holdings (僑外資及陸資持有總股數) - Foreign and mainland China holding percentage (僑外資及陸資持股比率)
Inputs: no named parameters.
get_fund_basic_infoB
Get basic information summary for all funds.
Inputs: no named parameters.
get_local_companies_applying_for_listingB
Get local companies applying for listing.
Inputs: no named parameters. Returns: result
get_margin_loan_restrictions_announcementB
Get announcement of margin loan and short sale restrictions.
Inputs: no named parameters. Returns: result
get_margin_trading_infoB
Obtain margin trading and short selling balance information for the market.
Inputs: no named parameters.
get_market_disposal_stocksB
Get stocks that have been disposed by the market.
Inputs: no named parameters. Returns: result
get_market_gain_loss_statisticsB
Get market statistics of rising and falling securities.
Returns statistics including:
出表日期: Report date (ROC calendar format)
類型: Type (整體市場/股票/etc.)
上漲: Number of rising securities
漲停: Number of securities at upper limit
下跌: Number of falling securities
跌停: Number of securities at lower limit
持平: Number of unchanged securities
未成交: Number of non-traded securities
無比價: Number of securities without comparison
Inputs: no named parameters.
get_market_historical_indexB
Obtain historical TAIEX (Taiwan Capitalization Weighted Stock Index) data for long-term trend analysis.
Inputs: no named parameters.
get_market_holiday_scheduleB
Get holiday schedule for securities centralized trading market.
Inputs: no named parameters.
get_market_index_infoA
Obtain daily market closing information and overall market statistics.
Args: category: Index category to filter by: - "major": Major market indices (主要市場指數: 加權、台50、中型100等) - "sector": Industry sector indices (產業類指數: 電子類、金融類等) - "esg": ESG and sustainability indices (ESG永續相關指數) - "leverage": Leveraged and inverse indices (槓桿及反向指數) - "return": Total return indices (報酬指數: 含股息再投資) - "thematic": Thematic indices (主題指數: AI、5G、電動車等) - "dividend": High dividend indices (高股息相關指數) - "all": All indices (所有指數) count: Maximum number of indices to return (default: 20, max: 50 for non-all categories) format: Output format: - "detailed": Full details with all fields (詳細格式) - "summary": Compact summary with key info only (摘要格式: 指數名稱、收盤價、漲跌%) - "simple": Just index name and change percentage (簡單格式: 僅名稱和漲跌%)
Inputs: category, count, format.
get_odd_lot_trading_quotesB
Get odd-lot trading quotes in the centralized market.
Inputs: no named parameters. Returns: result
get_public_company_balance_sheetA
Obtain balance sheet for a public company based on its stock code. Automatically detects company industry and uses appropriate financial statement format.
Inputs: code (required). Returns: result
get_public_company_income_statementB
Obtain comprehensive income statement for a public company based on its stock code. Automatically detects company industry and uses appropriate financial statement format.
Inputs: code (required). Returns: result
get_public_company_monthly_revenueB
Obtain monthly revenue summary for a public company based on its stock code.
Inputs: code (required). Returns: result
get_public_company_profileB
Obtain basic information for a public company based on its stock code.
Inputs: code (required). Returns: result
get_real_time_trading_statsB
Obtain real-time 5-second trading statistics including order volumes and transaction counts.
Returns the latest 5-second interval trading statistics including:
Time: Trading time (HHMMSS format)
AccBidOrders: Accumulated bid orders count
AccBidVolume: Accumulated bid volume (in shares)
AccAskOrders: Accumulated ask orders count
AccAskVolume: Accumulated ask volume (in shares)
AccTransaction: Accumulated transaction count
AccTradeVolume: Accumulated trade volume (in shares)
AccTradeValue: Accumulated trade value (in million TWD)
Inputs: no named parameters.
get_recently_listed_companiesB
Get recently listed companies.
Inputs: no named parameters. Returns: result
get_securities_trading_changesB
Get securities trading method changes in the centralized market.
Inputs: no named parameters. Returns: result
get_stock_daily_tradingA
Obtain daily trading information for a listed company stock based on its stock code.
Returns information including:
Date: Trading date (ROC calendar YYYMMDD)
Code: Stock code
Name: Stock name
TradeVolume: Trade volume (in shares)
TradeValue: Trade value (in TWD)
OpeningPrice: Opening price
HighestPrice: Highest price
LowestPrice: Lowest price
ClosingPrice: Closing price
Change: Price change
Transaction: Transaction count
Inputs: code (required). Returns: result
get_stock_monthly_averageC
Obtain daily closing price and monthly average price for a listed company stock based on its stock code.
Inputs: code (required). Returns: result
get_stock_monthly_tradingA
Obtain monthly trading information for a listed company stock based on its stock code.
Returns information including:
Month: Trading month (ROC calendar YYMM)
Code: Stock code
Name: Stock name
HighestPrice: Highest price in the month
LowestPrice: Lowest price in the month
WeightedAvgPriceAB: Weighted average price
Transaction: Transaction count
TradeValueA: Trade value (in TWD)
TradeVolumeB: Trade volume (in shares)
TurnoverRatio: Turnover ratio (%)
Inputs: code (required). Returns: result
get_stock_price_changesC
Get stock price increase/decrease range.
Inputs: no named parameters.
get_stocks_no_price_change_first_five_daysA
Get stocks with no price change in the first five trading days.
Inputs: no named parameters. Returns: result
get_stock_valuation_ratiosA
Obtain P/E ratio, dividend yield, and P/B ratio for a listed company stock based on its stock code.
Returns information including:
Date: Data date (ROC calendar YYYMMDD)
Code: Stock code
Name: Stock name
PEratio: Price-to-Earnings ratio
DividendYield: Dividend yield (%)
PBratio: Price-to-Book ratio
Inputs: code (required). Returns: result
get_stock_yearly_tradingA
Obtain yearly trading information for a listed company stock based on its stock code.
Returns information including:
Year: Trading year (ROC calendar YYY)
Code: Stock code
Name: Stock name
TradeVolume: Total trade volume (in shares)
TradeValue: Total trade value (in TWD)
Transaction: Total transaction count
HighestPrice: Highest price in the year
HDate: Date of highest price
LowestPrice: Lowest price in the year
LDate: Date of lowest price
AvgClosingPrice: Average closing price
Inputs: code (required). Returns: result
get_suspended_day_trading_announcementC
Get announcement of suspended buy-sell-same-day trading targets.
Inputs: no named parameters. Returns: result
get_suspended_day_trading_historyB
Get historical query of suspended buy-sell-same-day trading.
Inputs: no named parameters. Returns: result
get_suspended_listed_companiesB
Get companies whose listing has been suspended.
Inputs: no named parameters. Returns: result
get_suspended_trading_stocksB
Get stocks suspended from trading in the centralized market.
Inputs: no named parameters. Returns: result
get_taiwan_50_index_historyB
Obtain historical data for Taiwan 50 Index.
Inputs: no named parameters.
get_taiwan_island_index_historyB
Obtain historical data for Taiwan Island Stock Price Index.
Inputs: no named parameters.
get_taiwan_total_return_indexB
Obtain Taiwan Capitalization Weighted Stock Price Return Index.
Inputs: no named parameters.
get_today_notice_stocksA
Get stocks announced as notice stocks today.
Returns information including:
Number: Record number (0 means no data)
Code: Stock code
Name: Stock name
NumberOfAnnouncement: Number of announcements
TradingInfoForAttention: Trading information for attention
Date: Announcement date
ClosingPrice: Closing price
PE: P/E ratio
Inputs: no named parameters.
get_top_20_volume_stocksB
Get top 20 stocks by trading volume in the centralized market.
Returns information including:
Date: Trading date
Rank: Volume ranking
Code: Stock code
Name: Stock name
TradeVolume: Trading volume
Transaction: Transaction count
OpeningPrice: Opening price
HighestPrice: Highest price
LowestPrice: Lowest price
ClosingPrice: Closing price
Dir: Direction (+/-)
Change: Price change
Inputs: no named parameters. Returns: result
get_top_foreign_holdingsA
Get top 20 companies by foreign and mainland China investment holdings.
Returns the ranking of companies with highest foreign investment holdings, including detailed information about investment limits, current holdings, and available investment capacity for each company.
Returns: Formatted string containing top 20 foreign holdings including: - Ranking (排行) - Stock code (證券代號) - Stock name (證券名稱) - Issued shares (發行股數) - Available investment shares (外資及陸資尚可投資股數) - Current foreign holdings (全體外資及陸資持有股數) - Available investment ratio (全體外資及陸資尚可投資比率) - Current holding ratio (全體外資及陸資持股比率) - Investment upper limit (投資上限)
Inputs: no named parameters.
get_twse_eventsA
Get Taiwan Stock Exchange event announcements and activities.
Retrieves information about TWSE organized events, seminars, training sessions, and other activities that may be of interest to market participants and investors.
Args: top: Number of top events to return (default: 10). If empty or 0, returns all events.
Returns: Formatted string containing TWSE events including: - Event number (No) - Event title/subject (活動主題) - Event details (詳細內容)
Inputs: top. Returns: result
get_twse_newsA
Get latest news from Taiwan Stock Exchange with optional date filtering.
Retrieves official news announcements from TWSE including market updates, regulatory changes, system maintenance notices, and other important information for market participants.
Args: start_date: Start date for filtering news (format: YYYYMMDD, e.g., "20250101") If empty, defaults to current month's first day end_date: End date for filtering news (format: YYYYMMDD, e.g., "20250131") If empty, defaults to current month's last day
Note: - If both dates are empty, returns current month's news - Date format must be YYYYMMDD (e.g., "20250822" for August 22, 2025) - API returns news in Chinese with dates in format YYYMMDD (民國年)
Returns: Formatted string containing TWSE news including: - Title (標題) - URL/Link (連結) - Date (日期) - in format YYYMMDD (民國年)
Inputs: start_date, end_date. Returns: result
get_valuation_ratios_by_dateB
Get stock P/E ratio, dividend yield and P/B ratio by date query.
Inputs: no named parameters.
get_warrant_basic_infoA
Get basic information of listed warrants.
Retrieves comprehensive basic data for all listed warrants including warrant codes, types, exercise periods, underlying assets, and other key parameters. Can filter by specific warrant code if provided.
Args: code: Warrant code (optional). If provided, filters results for specific warrant. If empty, returns all warrant basic information.
Returns: Formatted string containing warrant basic information including: - Report date (出表日期) - Warrant code (權證代號) - Warrant name (權證簡稱) - Warrant type (權證類型) - Category (類別) - Market maker quoting method (流動量提供者報價方式) - Exercise start date (履約開始日) - Last trading date (最後交易日) - Exercise deadline (履約截止日) - Issue size in thousand units (發行單位數量(仟單位)) - Settlement method (結算方式(詳附註編號說明)) - Underlying securities/index (標的證券/指數) - Latest exercise allocation per thousand units (最新標的履約配發數量(每仟單位權證)) - Original/latest exercise prices and price limits (原始/最新履約價格及上下限價格) - Notes (備註)
Inputs: code. Returns: result
get_warrant_daily_tradingA
Get daily trading data for listed call/put warrants.
Retrieves daily trading volume and value statistics for warrants, including transaction amounts and number of contracts traded.
Args: code: Warrant code (optional). If provided, filters results for specific warrant. If empty, returns all warrant trading data.
Returns: Formatted string containing warrant daily trading data including: - Report date (出表日期) - Warrant code (權證代號) - Warrant name (權證名稱) - Trading volume in lots (成交張數) - Trading value (成交金額)
Note: This API may return empty data when there are no warrant trades for the day. Check warrant basic info to see available warrants before querying trading data.
Inputs: code. Returns: result
get_warrant_trader_countA
Get daily number of warrant traders.
Retrieves statistics on the number of individual traders participating in warrant trading on each trading day, providing insights into warrant market participation levels.
Returns: Formatted string containing warrant trader count data including: - Report date (出表日期) - Trading date (日期) - Number of traders (人數)
Inputs: no named parameters. Returns: result
get_warrant_yearly_issuance_statisticsB
Get yearly issuance volume statistics for listed call/put warrants.
Retrieves annual statistics on warrant issuance volumes by type and period.
Returns: Formatted string containing warrant yearly issuance statistics including: - Year (年度) - Warrant type (權證類型) - Issuance volume (發行量) - And other issuance-related statistics
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 128 tools
Most tools are clearly distinct, targeting specific data categories like company financials, market statistics, or broker information. However, there is some overlap between company-specific tools (e.g., get_company_balance_sheet vs. get_public_company_balance_sheet) and between similar time-period tools (e.g., get_block_trades_daily/monthly/yearly), which could cause minor confusion. The descriptions help differentiate, but the sheer volume increases the risk of misselection.
Tool names follow a highly consistent verb_noun pattern throughout, all using snake_case with 'get_' as the prefix. The naming is predictable and systematic, making it easy to understand the purpose of each tool at a glance. There are no deviations in naming conventions across the 128 tools.
With 128 tools, the count is excessive for a single server, even for a comprehensive financial data provider. This creates a heavy and overwhelming surface that will be difficult for agents to navigate efficiently. A more modular approach with focused servers (e.g., company data, market stats, broker info) would be more appropriate.
The tool set provides exceptionally complete coverage of the TWSE domain, including company profiles, financials, governance, market indices, trading statistics, broker data, and regulatory information. There are no obvious gaps; it supports extensive querying across all relevant aspects of the Taiwan stock exchange, enabling comprehensive agent workflows without dead ends.
Maintenance
Related MCP Connectors
MCP server for real-time China A-share stock quotes, indices and market data.
MCP server for stocksense-ai documentation, generated by doc2mcp.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with access to Shioaji trading API for the Taiwanese financial market.9-- AlicenseCqualityDmaintenanceProvides comprehensive Taiwan stock market data and analysis through MCP tools. Enables querying real-time stock prices, historical data, company information, technical analysis, and market overviews for TWSE and TPEx listed companies.816MIT
- ISC
- AlicenseAqualityDmaintenanceMCP server for TDCC OpenData, enabling natural language query of Taiwan securities custody data, including shareholding distribution, stock custody changes, offshore fund NAVs, and e-voting information.83MIT