使用说明

项目简介

Shioaji MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 AI 助手提供访问台湾股票市场数据和交易 API (Shioaji) 的能力。通过此服务器,AI 模型可以查询股票价格、获取历史K线数据、列出股票代码等,从而扩展 AI 在金融领域的应用场景。

主要功能点

  • 股票价格查询: 获取指定股票的实时价格信息。
  • K线数据获取: 获取股票在指定日期范围内的K线图数据,用于技术分析。
  • 股票列表查询: 列出可用的股票代码,并支持交易所和行业筛选。
  • 基于 MCP 协议: 采用标准化的 MCP 协议与客户端通信,易于集成到各种支持 MCP 协议的 LLM 应用中。
  • Shioaji API 集成: 封装了 Shioaji 交易 API,简化了 AI 助手与台湾股票市场的交互。

安装步骤

  1. 环境准备: 确保已安装 Python 3.10 或更高版本。推荐使用 'uv' 作为包管理器。
  2. 安装依赖: 在仓库根目录下,运行以下命令安装项目依赖:
    uv sync
  3. 配置 Shioaji API 密钥:
    • 方式一:环境变量 设置以下环境变量:
      export SHIOAJI_API_KEY="您的API密钥"
      export SHIOAJI_SECRET_KEY="您的Secret密钥"
    • 方式二:.env 文件 在仓库根目录下创建 '.env' 文件,并填入以下内容:
      SHIOAJI_API_KEY=您的API密钥
      SHIOAJI_SECRET_KEY=您的Secret密钥
    请替换 "您的API密钥" 和 "您的Secret密钥" 为您在 Shioaji 申请的 API 密钥。

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 Shioaji MCP Server。

{
  "server_name": "shioaji-mcp-server",  // 服务器名称,可以自定义
  "command": "uv",                   // 启动命令,这里使用 uv
  "args": [                           // 启动参数
    "run",                             // uv run 子命令,表示运行项目
    "mcp-server-shioaji"              // 要运行的 Python 包名,对应仓库的 mcp-server-shioaji
  ]
}

配置说明:

  • '"server_name"': MCP 服务器的名称,客户端用于标识和管理连接,可以自定义。
  • '"command"': 启动服务器的命令。由于项目使用 'uv' 管理,这里设置为 'uv'。如果直接使用 'python -m mcp_server_shioaji.server' 启动,则 command 应设置为 'python',args 为 '["-m", "mcp_server_shioaji.server"]'。
  • '"args"': 启动命令的参数列表。根据 'command' 的不同,'args' 也需要相应调整。本例中使用 'uv run mcp-server-shioaji' 启动,因此 'args' 配置如上所示。

基本使用方法

  1. 启动服务器: 配置完成后,在仓库根目录下运行以下命令启动服务器:

    uv run mcp-server-shioaji

    服务器默认在 'http://0.0.0.0:8000' 启动。

  2. 客户端请求: 使用 MCP 客户端(如支持 MCP 协议的 LLM 应用或开发工具)向服务器发送 JSON-RPC 请求,调用可用的工具。

    示例:获取股票价格 (get_stock_price)

    {
      "jsonrpc": "2.0",
      "method": "call",
      "params": {
        "tool": "get_stock_price",
        "tool_args": {
          "symbols": "2330,2337"  // 查询台积电(2330)和联电(2337)的股价,多个股票代码用逗号分隔
        }
      },
      "id": 1
    }

    示例:获取K线数据 (get_kbars)

    {
      "jsonrpc": "2.0",
      "method": "call",
      "params": {
        "tool": "get_kbars",
        "tool_args": {
          "symbol": "2330",       // 股票代码:台积电
          "start_date": "2024-01-01", // 起始日期
          "end_date": "2024-01-31"   // 结束日期
        }
      },
      "id": 2
    }

    示例:列出股票代码 (list_stocks)

    {
      "jsonrpc": "2.0",
      "method": "call",
      "params": {
        "tool": "list_stocks",
        "tool_args": {
          "exchange": "TSE",      // 交易所:台湾证券交易所
          "limit": 10            // 返回股票数量限制为10
        }
      },
      "id": 3
    }

    请参考仓库 'README.md' 中 "Available Tools" 部分,了解更多工具的使用方法和参数。

信息

分类

商业系统