pyang2045/twsemcp
If you are the rightful owner of twsemcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
TWSE MCP Server provides real-time access to Taiwan Stock Exchange market data, financial reports, and trading analytics.
TWSE MCP Server
A Model Context Protocol (MCP) server that provides real-time access to Taiwan Stock Exchange (TWSE) market data, financial reports, and trading analytics through Claude Desktop.
๐ Quick Start
npx twse-mcp
No installation required! The server connects directly to TWSE's official API to provide comprehensive market data.
๐ Features
Market Data & Analytics
- ๐ Real-time Trading Data - Daily stock prices, volumes, and OHLC data
- ๐ Market Indices - TAIEX and sector indices with real-time updates
- ๐น Technical Indicators - P/E ratios, dividend yields, price-to-book values
- ๐ Trading Analytics - Top volume stocks, margin trading, 5-second bid/ask stats
Financial Intelligence
- ๐ฐ Financial Statements - Quarterly income statements and balance sheets
- ๐ Revenue Reports - Monthly revenue with YoY/MoM comparisons
- ๐ฏ Profitability Metrics - ROE, ROA, profit margins by company
- ๐ญ Industry Analysis - EPS statistics and comparisons by sector
Investment Insights
- ๐ Foreign Investment - Top foreign holdings and sector preferences
- ๐ ETF Rankings - Most popular ETFs by investor accounts
- ๐ข Corporate Actions - New IPOs and delisted companies
- ๐ Market Calendar - Trading holidays and market schedules
๐ ๏ธ Installation
Option 1: NPX (Recommended)
# Run directly without installation
npx twse-mcp
Option 2: Global Installation
# Install globally
npm install -g twse-mcp
# Run the server
twse-mcp
Option 3: Local Development
# Clone repository
git clone https://github.com/pyang2045/twsemcp.git
cd twse-mcp
# Install dependencies
npm install
# Build and run
npm run build
npm start
๐ง Claude Desktop Configuration
macOS
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"twse": {
"command": "npx",
"args": ["twse-mcp"],
"env": {}
}
}
}
Windows
Add to %APPDATA%\Claude\claude_desktop_config.json
:
{
"mcpServers": {
"twse": {
"command": "npx",
"args": ["twse-mcp"],
"env": {}
}
}
}
๐ Available Tools
Market Data (6 tools)
Tool | Description | Example Query |
---|---|---|
getStockDaily | Daily trading data for all stocks | "Show today's stock prices" |
getStockPERatios | Valuation metrics | "Find undervalued stocks" |
getMarketIndex | Market indices (TAIEX, etc.) | "How's the market today?" |
getStockDayAvg | Daily close vs monthly average | "Show price averages" |
getMonthlyStats | Monthly trading statistics | "Get monthly highs and lows" |
searchStock | Search specific stock | "Find TSMC stock data" |
Financial Reports (6 tools)
Tool | Description | Example Query |
---|---|---|
getMonthlyRevenue | Monthly revenue reports | "Show revenue growth" |
getIncomeStatement | Quarterly P&L statements | "Get earnings data" |
getBalanceSheet | Quarterly balance sheets | "Check debt levels" |
getIndustryEPS | EPS by industry | "Compare sector earnings" |
getProfitAnalysis | ROE, ROA, margins | "Find profitable companies" |
searchFinancials | Company-specific financials | "Get TSMC financial reports" |
Trading Analysis (3 tools)
Tool | Description | Example Query |
---|---|---|
getTop20Volume | Most traded stocks | "What's hot today?" |
getMarginTrading | Margin/short data | "Show leverage levels" |
getFiveSecondStats | Real-time bid/ask | "Get order flow" |
Investment Research (7 tools)
Tool | Description | Example Query |
---|---|---|
getTopForeignHoldings | Top foreign holdings | "What are foreigners buying?" |
getForeignCategoryHoldings | Foreign investment by sector | "Foreign sector preferences" |
getNewListings | Recent IPOs | "Show new stocks" |
getSuspendedListings | Delisted companies | "Which stocks were delisted?" |
getETFRanking | Popular ETFs | "Top ETF choices" |
getIndexHistory | Historical index data | "TAIEX history" |
getHolidaySchedule | Market calendar | "When is market closed?" |
๐ก Example Usage
Basic Market Check
You: "How's the Taiwan stock market doing today?"
Claude: [Uses getMarketIndex to show TAIEX and major indices]
You: "What are the most active stocks?"
Claude: [Uses getTop20Volume to display top traded stocks]
Company Research
You: "Analyze TSMC's financial performance"
Claude: [Uses searchFinancials("2330", "income") for earnings]
[Uses searchFinancials("2330", "balance") for financial position]
[Uses searchFinancials("2330", "profit") for profitability metrics]
Investment Screening
You: "Find high dividend yield stocks"
Claude: [Uses getStockPERatios to filter for high dividend yields]
You: "Show me what foreign investors are buying"
Claude: [Uses getTopForeignHoldings for top 20 foreign picks]
๐ Search Functions
searchStock
Search for specific stock data:
{
"query": "2330", // Stock code or name
"dataType": "daily" // "daily" | "peratio" | "monthly"
}
searchFinancials
Search company financial reports:
{
"stockCode": "2330", // Company stock code
"reportType": "income" // "revenue" | "income" | "balance" | "profit"
}
๐ Data Sources
- Official API: Taiwan Stock Exchange OpenAPI
- Base URL: https://openapi.twse.com.tw/
- Update Frequency:
- Real-time: 5-second stats during market hours
- Daily: After market close (~14:30 TST)
- Monthly: Financial reports on 10th of each month
- Quarterly: Financial statements 45 days after quarter end
๐ง Development
Prerequisites
- Node.js >= 18.0.0
- TypeScript 5.0+
Build from Source
# Install dependencies
npm install
# Development mode (with hot reload)
npm run dev
# Build for production
npm run build
# Run tests
npm test
Project Structure
twse-mcp/
โโโ src/
โ โโโ index.ts # MCP server implementation
โ โโโ api/
โ โโโ twse-client.ts # TWSE API client
โโโ dist/ # Compiled JavaScript
โโโ bin/ # CLI executable
โโโ examples/ # Configuration examples
๐ API Response Format
All tools return JSON data with Traditional Chinese field names:
{
"ๅ
ฌๅธไปฃ่": "2330",
"ๅ
ฌๅธๅ็จฑ": "ๅฐ็ฉ้ป",
"ๆถ็คๅน": "595.00",
"ๆฌ็ๆฏ": "25.83",
"ๆฎๅฉ็": "2.02"
}
โ ๏ธ Limitations
- Rate Limits: TWSE API may have rate limiting
- Data Delay: Some data has 15-20 minute delay
- Language: Field names in Traditional Chinese
- Market Hours: Real-time data only during TSE trading hours (09:00-13:30 TST)
- Data Volume: Large queries return first 100 records
๐ค Contributing
Contributions are welcome! Please see our for details.
Development Workflow
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open Pull Request
๐ License
MIT License - see file for details
๐ Acknowledgments
- Taiwan Stock Exchange for providing the OpenAPI
- Anthropic for the MCP SDK
- Contributors and users of this project