get_suspensions
Retrieve suspended stock listings for China's A-share market on a specified date. Filter stocks with tradeStatus==0 and export results in multiple formats.
Instructions
List suspended stocks for a date.
Args:
date: Optional 'YYYY-MM-DD'. If None, uses current date.
limit: Max rows to return. Defaults to 250.
format: Output format: 'markdown' | 'json' | 'csv'. Defaults to 'markdown'.
Returns:
Table of stocks where tradeStatus==0.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| limit | No | ||
| format | No | markdown |
Implementation Reference
- src/tools/market_overview.py:85-102 (handler)MCP tool handler function for 'get_suspensions', decorated with @app.tool(). Delegates to fetch_suspensions via run_tool_with_handling.@app.tool() def get_suspensions(date: Optional[str] = None, limit: int = 250, format: str = "markdown") -> str: """ List suspended stocks for a date. Args: date: Optional 'YYYY-MM-DD'. If None, uses current date. limit: Max rows to return. Defaults to 250. format: Output format: 'markdown' | 'json' | 'csv'. Defaults to 'markdown'. Returns: Table of stocks where tradeStatus==0. """ logger.info("Tool 'get_suspensions' called date=%s, limit=%s, format=%s", date or "current", limit, format) return run_tool_with_handling( lambda: fetch_suspensions(active_data_source, date=date, limit=limit, format=format), context=f"get_suspensions:{date or 'current'}", )
- Core implementation logic: fetches all stocks, filters those with tradeStatus=='0' (suspended), adds metadata, and formats the output table.def fetch_suspensions(data_source: FinancialDataSource, *, date: Optional[str], limit: int, format: str) -> str: validate_output_format(format) df = data_source.get_all_stock(date=date) if df is None or df.empty: return "(No data available to display)" if "tradeStatus" not in df.columns: raise ValueError("'tradeStatus' column not present in data source response.") suspended = df[df["tradeStatus"] == '0'] meta = {"as_of": date or "current", "total_suspended": int(suspended.shape[0])} return format_table_output(suspended, format=format, max_rows=limit, meta=meta)
- mcp_server.py:54-54 (registration)Invocation of register_market_overview_tools which defines and registers the get_suspensions tool among others.register_market_overview_tools(app, active_data_source)