Skip to main content
Glama
liqiongyu

Xueqiu MCP

by liqiongyu

income

Retrieve income statement data for specific stocks from Xueqiu MCP, enabling analysis of financial performance with customizable parameters for reporting periods and data quantity.

Instructions

获取利润表数据

Args: stock_code: 股票代码 is_annals: 只获取年报,默认为1 count: 返回数据数量,默认5条

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stock_codeNoSZ000002
is_annalsNo
countNo

Implementation Reference

  • main.py:154-164 (handler)
    The handler function for the 'income' MCP tool. It is decorated with @mcp.tool() for automatic registration. Fetches profit table data from pysnowball library (ball.income) and processes the result with timestamp conversion.
    @mcp.tool() def income(stock_code: str="SZ000002", is_annals: int = 1, count: int = 5) -> dict: """获取利润表数据 Args: stock_code: 股票代码 is_annals: 只获取年报,默认为1 count: 返回数据数量,默认5条 """ result = ball.income(symbol=stock_code, is_annals=is_annals, count=count) return process_data(result)
  • main.py:154-154 (registration)
    The @mcp.tool() decorator registers the 'income' function as an MCP tool.
    @mcp.tool()
  • main.py:34-61 (helper)
    Helper function used by the 'income' tool (and others) to process the raw data, converting timestamps to readable datetime strings.
    def process_data(data, process_config=None): """ 通用数据处理函数,可扩展添加各种数据处理操作 Args: data: 原始数据 process_config: 处理配置字典,用于指定要执行的处理操作 例如: {'convert_timestamps': True, 'other_process': params} Returns: 处理后的数据 """ if process_config is None: # 默认配置 process_config = { 'convert_timestamps': True } # 如果开启了时间戳转换 if process_config.get('convert_timestamps', True): data = convert_timestamps(data) # 在这里可以添加更多的数据处理逻辑 # 例如: # if 'format_numbers' in process_config: # data = format_numbers(data, **process_config['format_numbers']) return data
  • main.py:14-31 (helper)
    Supporting utility for recursive timestamp conversion in data processing, used indirectly by the 'income' tool.
    def convert_timestamps(data): """递归地将数据中的所有 timestamp 转换为 datetime 字符串""" if isinstance(data, dict): for key, value in list(data.items()): if key == 'timestamp' and isinstance(value, (int, float)) and value > 1000000000000: # 毫秒级时间戳 data[key] = datetime.datetime.fromtimestamp(value/1000).strftime('%Y-%m-%d %H:%M:%S') elif key == 'timestamp' and isinstance(value, (int, float)) and value > 1000000000: # 秒级时间戳 data[key] = datetime.datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S') elif key.endswith('_date') and isinstance(value, (int, float)) and value > 1000000000000: # 毫秒级时间戳 data[key] = datetime.datetime.fromtimestamp(value/1000).strftime('%Y-%m-%d %H:%M:%S') elif key.endswith('_date') and isinstance(value, (int, float)) and value > 1000000000: # 秒级时间戳 data[key] = datetime.datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S') elif isinstance(value, (dict, list)): data[key] = convert_timestamps(value) elif isinstance(data, list): for i, item in enumerate(data): data[i] = convert_timestamps(item) return data

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/liqiongyu/xueqiu_mcp'

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