Skip to main content
Glama

TWSE Open Data (Taiwan Stock Exchange)

Server Details

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

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
taux-io/twse-mcp
GitHub Stars
0
Server Listing
TWSE OpenAPI MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.3/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: searching datasets, describing schemas, fetching data, getting real-time quotes, and fetching an ETF composite snapshot. Even the closest pair (describe_dataset vs get_dataset) is unambiguous because one returns field definitions and the other returns data.

Naming Consistency3/5

All tools share the twse_ prefix, but the pattern is mixed: describe_dataset, get_dataset, and search_datasets follow verb_noun, while etf_snapshot and realtime_quote are noun phrases. This inconsistency makes the naming less predictable, though still readable.

Tool Count5/5

With 5 tools, the server is well-scoped for the TWSE Open Data domain. Each tool serves a necessary function without redundancy, covering search, schema exploration, data retrieval, real-time quotes, and a specialized ETF snapshot.

Completeness5/5

The tool surface provides a complete read-only workflow: discover datasets, inspect their structure, fetch filtered/projected data, and access real-time quotes. The ETF snapshot is a value-add convenience, and no critical operations are missing for the stated purpose.

Available Tools

5 tools
twse_describe_datasetAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYes來自 twse_search_datasets 的資料集代號,例如 "exchangeReport/STOCK_DAY_ALL"。
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are not provided, so the description carries the full burden. It implies a read-only operation via '查看' (view) and places it 'before fetching data', which adequately communicates non-destructive behavior for a describe tool. However, it does not explicitly mention additional behavioral details like return format or potential errors, and there is no annotation context to supplement.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence in Chinese. It front-loads the core purpose and then adds usage context, with no redundant words or filler. It earns a perfect score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should clarify what the agent receives as a response. It states the tool shows '完整欄位定義' (complete field definitions), which is a reasonable hint, but it does not specify the format or structure of the returned definitions. For a simple describe operation with one fully documented parameter, this is an adequate but not rich description, so a 3 is justified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the one parameter, dataset_id, with a helpful description (e.g., '來自 twse_search_datasets 的資料集代號'). The tool description itself does not add parameter-level detail beyond what the schema provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '查看某個資料集的完整欄位定義' (view the complete field definitions of a dataset). It uses a specific verb (view) and resource (field definitions), and the context '取資料前' (before fetching data) distinguishes it from the sibling tool twse_get_dataset that likely fetches data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: '取資料前用來確認要過濾/投影哪些欄位' (before fetching data, use it to confirm which fields to filter/project). It implies using this tool before twse_get_dataset, but does not explicitly name alternatives or state when not to use it, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twse_etf_snapshotAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesETF 代號,例如 "0056"、"0050"、"00878"。
include_realtimeNo是否附上盤中即時報價。預設 false,需要當下價格時才帶 true(多一次外呼)。
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool merges three TWSE datasets and queries in parallel, and explains the failure behavior: '任何一段查不到都會標成 null 並記在 caveats,不會整個失敗' (any missing segment is marked as null and recorded in caveats, not causing overall failure). This adds significant behavioral context beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the main purpose, then a key caveat, then behavioral details. Every sentence contributes distinct information without redundancy, making it appropriately concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema and annotations, the description covers essential context: the high-level output contents, data freshness disclaimer, parallel querying, and error handling with nulls and caveats. This is sufficient for an agent to understand what to expect and when to use the tool, making it complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage for both parameters: 'code' includes examples and 'include_realtime' explains its default and extra call. The tool description itself adds no additional parameter details, so the baseline of 3 applies as per the rubric.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: '一次取得單一上市 ETF 的完整概況' (obtain a complete overview of a single listed ETF), and lists the exact components (basic info, previous trading day price/volume, periodic investment popularity). It also distinguishes itself from a sibling tool by explicitly directing users to twse_realtime_quote for real-time prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-not-to-use guidance: '價量為前一交易日,不是盤中即時;要當下價格請用 twse_realtime_quote' (price/volume is from previous trading day, not real-time; use twse_realtime_quote for current price). This names the alternative tool and clarifies the scope, satisfying the requirement for explicit usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twse_get_datasetAInspect

取得證交所資料集內容,支援伺服器端過濾、欄位投影與分頁。證交所每個資料集都是一次回整份(可能上千筆),務必用 code/match/fields 縮小範圍。

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo證券/基金代號,例如 "0050"。會自動偵測代號欄位。
limitNo回傳筆數上限(硬上限 200)。
matchNo其他欄位的子字串過濾,例如 {"基金類型": "ETF"}。最多 20 個欄位。
fieldsNo只回傳這些欄位。
offsetNo分頁位移。
dataset_idYes資料集代號,例如 "exchangeReport/STOCK_DAY_ALL"。
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of disclosing behavior. It reveals a key behavioral trait—data is returned in full unless filtered—which is valuable. However, it doesn't mention that the operation is read-only, any authentication requirements, or potential errors/rate limits. The warning about scope reduction adds transparency but not comprehensive behavioral coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise—two sentences—with the main purpose front-loaded and the critical warning immediately after. Every sentence earns its place: the first states what the tool does and its capabilities, the second warns about the full-return behavior and directs users to filter. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 6 parameters, a nested object, and no output schema, the description covers the essential context: the potential for huge responses and the necessity of filtering. It also mentions pagination and field projection. It doesn't describe return format or error handling, but the core usage guidance is sufficient for an agent to invoke the tool correctly. Slightly more detail on response structure would make it complete, but it's strong for the complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter already has a description. The description adds value by explicitly naming code/match/fields and explaining their purpose (narrowing the result set), which reinforces the schema and provides practical usage semantics beyond the bare definitions. This elevates it above the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 取得證交所資料集內容 (get TWSE dataset content), and lists its capabilities (server-side filtering, field projection, pagination). This distinguishes it from sibling tools like twse_describe_dataset (which describes metadata) and twse_search_datasets (which searches for datasets), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides important usage context: each dataset returns the entire set (possibly thousands of rows), so users must use code/match/fields to narrow scope. While it doesn't explicitly compare against sibling tools, the guidance strongly implies when to use this tool (when needing dataset content) and how to use it effectively. No exclusions are given, but the warning about large datasets is practical and directive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twse_realtime_quoteAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
codesYes代號清單,例如 ["0050", "0056", "2330"]。
marketNo"tse"(上市)或 "otc"(上櫃)。tse
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses key behaviors: ~5-second update interval and the distinction between real-time and previous-day data. It doesn't mention return fields or errors, but for a simple read-only quote tool, this is adequate context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exactly two sentences, front-loaded with the main purpose, and each sentence contributes distinct value: the first states function and update frequency, the second covers data source comparison and parameter guidance. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only 2 parameters and no output schema, the description covers purpose, usage context, and parameter rules. It doesn't describe the response format, which is a minor omission but not critical for a quote-fetching tool with clear intent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions already cover both parameters at 100%. The description adds practical semantics beyond the schema by specifying that market should be 'tse' for ETFs and listed stocks, and 'otc' for OTC, enriching the enum's meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it obtains real-time intraday quotes with a ~5-second refresh, explicitly distinguishing from OpenAPI's previous-day data. This is unique among sibling tools, which focus on dataset access, not live quotes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance: use this tool when you need current prices, since OpenAPI only has prior trading day data. It also provides concrete market-selection rules for ETFs/listed stocks (tse) vs OTC (otc), covering the main usage decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

twse_search_datasetsAInspect

搜尋證交所 OpenAPI 有哪些資料集可用。取資料前先用這個找 dataset_id。會比對資料集代號、中文說明與欄位名稱。

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNo依分類過濾,例如 "證券交易"、"公司治理"、"財務報表"。
limitNo最多回傳幾筆(預設 25)。
queryNo關鍵字,例如 "ETF"、"融資"、"本益比"。留空列出全部。
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses that the search matches dataset codes, Chinese descriptions, and field names, which is useful. However, it does not mention side effects, rate limits, or response format, leaving some gaps for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with no wasted words; front-loaded with the main purpose, followed by usage context and matching behavior. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with rich schema annotations, the description is fairly complete. It implies the output contains dataset_id but does not explicitly describe the return structure, which prevents a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds semantic detail by specifying that the query matches dataset codes, descriptions, and field names, enriching beyond the schema's basic parameter definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches available TWSE OpenAPI datasets, using the specific verb '搜尋' and resource '資料集'. It distinguishes from siblings by noting its role in finding dataset_id before fetching data, setting it apart from twse_get_dataset and others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly instructs to use this tool before fetching data to find dataset_id, providing clear when-to-use context. However, it does not name alternative tools or list exclusions, preventing a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Provides 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.
    Last updated
    8
    15
    MIT
  • A
    license
    -
    quality
    B
    maintenance
    An open-source MCP server that aggregates Taiwan public data sources (data.gov.tw, TWSE, MOEA, CWA, etc.) and exposes them through the Model Context Protocol, enabling AI agents to query Taiwan data with a single configuration line.
    Last updated
    1
    Apache 2.0
  • F
    license
    -
    quality
    B
    maintenance
    Provides Taiwan stock market data through FinMind v4 API, including daily OHLCV, monthly revenue, institutional investors, margin trading, dividends, and financial statements. Enables MCP clients like ChatGPT or Codex to query Taiwan financial datasets via simple tools.
    Last updated
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    Last updated
    8
    2
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.