Skip to main content
Glama
statistics.py3.03 kB
"""Market statistics tools.""" from utils import TWSEAPIClient, format_multiple_records def register_tools(mcp): """Register market statistics tools with the MCP instance.""" @mcp.tool def get_margin_trading_info() -> str: """Obtain margin trading and short selling balance information for the market.""" try: data = TWSEAPIClient.get_data("/exchangeReport/MI_MARGN") # 只取前10筆避免資料過多 return format_multiple_records(data[:10] if data else []) except Exception: return "" @mcp.tool def get_real_time_trading_stats() -> str: """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) """ try: data = TWSEAPIClient.get_data("/exchangeReport/MI_5MINS") if not data: return "無5秒委託成交統計資料" # 只取最新的20筆避免資料過多 recent_data = data[-20:] if len(data) > 20 else data result = f"最新5秒委託成交統計 (共 {len(data)} 筆,顯示最新 {len(recent_data)} 筆):\n\n" for item in recent_data: time = item.get("Time", "N/A") acc_bid_orders = item.get("AccBidOrders", "N/A") acc_bid_volume = item.get("AccBidVolume", "N/A") acc_ask_orders = item.get("AccAskOrders", "N/A") acc_ask_volume = item.get("AccAskVolume", "N/A") acc_transaction = item.get("AccTransaction", "N/A") acc_trade_volume = item.get("AccTradeVolume", "N/A") acc_trade_value = item.get("AccTradeValue", "N/A") result += f"時間: {time}\n" result += f" 累計委買筆數: {acc_bid_orders}\n" result += f" 累計委買數量: {acc_bid_volume}\n" result += f" 累計委賣筆數: {acc_ask_orders}\n" result += f" 累計委賣數量: {acc_ask_volume}\n" result += f" 累計成交筆數: {acc_transaction}\n" result += f" 累計成交數量: {acc_trade_volume}\n" result += f" 累計成交金額(百萬): {acc_trade_value}\n" result += "\n" return result.strip() except Exception as e: return f"取得5秒委託成交統計時發生錯誤: {str(e)}"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/twjackysu/TWSEMCPServer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server