tvscreener MCP 服务端

使用说明

  • 说明概况

    • 该仓库实现了一个 MCP(模型上下文协议)服务器,用于 tvscreener 库的功能暴露,供 AI 助手(如 Claude、 Claude Code 等)通过 MCP 客户端进行查询、字段发现和灵活筛选等操作。服务器端通过 JSON-RPC 接收请求、返回结果或发送通知,并提供会话管理与能力声明等能力。
  • 主要功能点

    • 字段发现与类别查询
      • discover_fields: 根据关键词在不同资产类型(股票、加密货币、外汇等)中检索可用字段/指标。
      • list_field_types: 按资产类型列出字段类别及示例字段,帮助客户端了解可用的字段分组。
    • 灵活筛选查询
      • custom_query: 提供对不同资产类型的自定义查询,支持字段选择、过滤条件、排序和结果条数限制,返回格式为 Markdown 表格(便于直接显示给人类查看,实际 MCP 客户端可将结果渲染/转化为图形界面)。
    • 现货/合约筛选工具
      • search_stocks, search_crypto, search_forex: 针对股票、加密货币、外汇对的简化筛选入口,返回结果表格。
    • 常用查询工具
      • get_top_movers: 获取涨幅/跌幅前列资产(股票或加密货币)。
      • list_sectors, list_filter_operators: 提供行业分类和可用过滤操作符列表,便于客户端构造复杂查询。
    • 服务器入口
      • 通过 tvscreener 的 MCP 服务启动入口 tvscreener-mcp(CLI),或通过 python -m tvscreener.mcp 直接运行。
    • 服务器实现通过 mcp.FastMCP 提供的装饰器 @mcp.tool() 将函数暴露为 MCP 工具。
  • 安装步骤

    1. 安装 tvscreener,若需要 MCP 支持,请使用包含 MCP 的扩展:pip install tvscreener[mcp]
    2. 根据需要启动 MCP 服务器:
      • 直接运行:tvscreener-mcp
      • 或通过模块运行:python -m tvscreener.mcp
    3. 将服务器注册到你的对话式助手(如 Claude Code),按相应教程进行注册。
  • 服务器配置(MCP 客户端连接该服务器时需要的配置示例,客户端不需要你实现代码) { "server_name": "tvscreener-mcp", "command": "tvscreener-mcp", "args": [] // 注:args 可以为空,默认监听 MCP 客户端约定的端口和协议。若需要自定义端口,请在启动命令中通过参数指定。 }

  • 基本使用方法

    • 客户端与服务器建立连接后,可以请求以下工具:
      • discover_fields,用于快速了解字段集合与可用字段。
      • list_field_types,查看字段类别与示例字段分布。
      • custom_query,构造任意字段、过滤条件和排序,获取结果表格。
      • search_stocks/search_crypto/search_forex,获取简化筛选结果。
      • get_top_movers,查看涨跌幅榜。
    • 返回数据通常为文本或 Markdown 表格,LLM 客户端可将其渲染给用户,或进一步解析生成结构化数据用于对话上下文。

提醒

  • MCP 服务器的实现是完整且可运行的,包含服务器启动入口、工具定义及辅助工具函数。
  • 确保在部署时网络可达,且依赖库(如 mcp)可用。

服务器信息