# TWSE Open Data (Taiwan Stock Exchange) (remote · twse-mcp.taux.io)

Taiwan Stock Exchange (TWSE) open data as MCP tools: stock quotes, ETF data, 140+ public datasets.

- Trust score: 71/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-17

## Components

- remote · `twse-mcp.taux.io`: 71/100 (this document), [markdown](https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp.md), [page](https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp)

## Channel facts

- Endpoint: `https://twse-mcp.taux.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-17.

- **Endpoint Security**: 66/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1217 tokens (~243/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### Claude

```bash
claude mcp add --transport http taux-io-twse-mcp https://twse-mcp.taux.io/mcp
```

### Codex

```toml
[mcp_servers.taux-io-twse-mcp]
url = "https://twse-mcp.taux.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "taux-io-twse-mcp": {
      "type": "remote",
      "url": "https://twse-mcp.taux.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add taux-io-twse-mcp --url https://twse-mcp.taux.io/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  taux-io-twse-mcp:
    url: "https://twse-mcp.taux.io/mcp"
```

### Other

```json
{
  "mcpServers": {
    "taux-io-twse-mcp": {
      "type": "http",
      "url": "https://twse-mcp.taux.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-16 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-14 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-12 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-11 (score 68, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-08-10 (score 66, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “twse_get_dataset” rewrote its description, which is the text the model reads
- [security] Tool “twse_search_datasets” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 140 → 243
- [functional improvement] Stability: unverified → 0.03
- [functional] The server now declares the “prompts” capability
- [functional] First check of Schema quality: 100
- [functional] Schema quality: excellent → good
- [functional] New prompt “etf_overview”
- [functional] New prompt “find_dataset”
- [functional] New prompt “futures_quote”
- [cosmetic] “twse_get_dataset” reworded the description of “code”

### 2026-08-09 (score 66)

First indexed and scored.

## MCP tools (5)

### `twse_search_datasets` (~180 tokens)

搜尋臺灣證交所與期交所 OpenAPI 有哪些資料集可用。取資料前先用這個找 dataset_id。會比對資料集代號、中文說明與欄位名稱。期交所的資料集代號一律以 taifex/ 開頭，搜期貨與選擇權可用 tag="期貨與選擇權"。

Input parameters:

- `limit` (integer): 最多回傳幾筆（預設 25）。
- `query` (string): 關鍵字，例如 "ETF"、"融資"、"本益比"。留空列出全部。
- `tag` (string): 依分類過濾，例如 "證券交易"、"公司治理"、"財務報表"。

### `twse_describe_dataset` (~72 tokens)

查看某個資料集的完整欄位定義，取資料前用來確認要過濾／投影哪些欄位。

Input parameters:

- `dataset_id` (string, required): 來自 twse_search_datasets 的資料集代號，例如 "exchangeReport/STOCK_DAY_ALL"。

### `twse_get_dataset` (~315 tokens)

取得證交所或期交所資料集內容，支援伺服器端過濾、欄位投影與分頁。兩邊的每個資料集都是一次回整份（可能上萬筆），務必用 code/match/fields 縮小範圍。

Input parameters:

- `code` (string): 證券／基金／契約代號，例如 "0050"、"TX"。一律精確比對（不分大小寫），實際用了哪個欄位會回在 code_field_used。找不到完全相符的代號時回 0 筆，並在 code_candidates 給出拼法相近的代號——**那些是候選不是答案**，可能是不同商品（MXF 與 MXFFX 是不同契約），請確認後改用該代號重查，不要直接引用它們的數字。
- `dataset_id` (string, required): 資料集代號，例如 "exchangeReport/STOCK_DAY_ALL"。
- `fields` (array): 只回傳這些欄位。
- `limit` (integer): 回傳筆數上限（硬上限 200）。
- `match` (object): 其他欄位的子字串過濾，例如 {"基金類型": "ETF"}。最多 20 個欄位。
- `offset` (integer): 分頁位移。

### `twse_etf_snapshot` (~165 tokens)

一次取得單一上市 ETF 的完整概況：基本資料 + 前一交易日價量 + 定期定額熱度。價量為前一交易日，不是盤中即時；要當下價格請用 twse_realtime_quote。合併三個證交所資料集並行查詢。任何一段查不到都會標成 null 並記在 caveats，不會整個失敗。

Input parameters:

- `code` (string, required): ETF 代號，例如 "0056"、"0050"、"00878"。
- `include_realtime` (boolean): 是否附上盤中即時報價。預設 false，需要當下價格時才帶 true（多一次外呼）。

### `twse_realtime_quote` (~120 tokens)

取得盤中即時報價（約 5 秒更新一次）。OpenAPI 只有前一交易日資料，要當下的價格得走基本市況報導站。ETF 與上市股票用 market="tse"，上櫃用 "otc"。

Input parameters:

- `codes` (array, required): 代號清單，例如 ["0050", "0056", "2330"]。
- `market` (string): "tse"（上市）或 "otc"（上櫃）。

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp#diagnostics

## Score history

- 2026-08-17: 71
- 2026-08-16: 71
- 2026-08-15: 70
- 2026-08-14: 70
- 2026-08-13: 69
- 2026-08-12: 69
- 2026-08-11: 68
- 2026-08-10: 66
- 2026-08-09: 66

## Links

- Remote endpoint: https://twse-mcp.taux.io/mcp
- Repository: https://github.com/taux-io/twse-mcp
- Changelog RSS feed: https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp.json
- HTML version of this page: https://verifymcp.io/servers/taux-io-twse-mcp/twse-mcp
