使用说明
项目简介
Shioaji MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为 AI 助手提供访问台湾股票市场数据和交易 API (Shioaji) 的能力。通过此服务器,AI 模型可以查询股票价格、获取历史K线数据、列出股票代码等,从而扩展 AI 在金融领域的应用场景。
主要功能点
- 股票价格查询: 获取指定股票的实时价格信息。
- K线数据获取: 获取股票在指定日期范围内的K线图数据,用于技术分析。
- 股票列表查询: 列出可用的股票代码,并支持交易所和行业筛选。
- 基于 MCP 协议: 采用标准化的 MCP 协议与客户端通信,易于集成到各种支持 MCP 协议的 LLM 应用中。
- Shioaji API 集成: 封装了 Shioaji 交易 API,简化了 AI 助手与台湾股票市场的交互。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本。推荐使用 'uv' 作为包管理器。
- 安装依赖: 在仓库根目录下,运行以下命令安装项目依赖:
uv sync - 配置 Shioaji API 密钥:
- 方式一:环境变量
设置以下环境变量:
export SHIOAJI_API_KEY="您的API密钥" export SHIOAJI_SECRET_KEY="您的Secret密钥" - 方式二:.env 文件
在仓库根目录下创建 '.env' 文件,并填入以下内容:
SHIOAJI_API_KEY=您的API密钥 SHIOAJI_SECRET_KEY=您的Secret密钥
- 方式一:环境变量
设置以下环境变量:
服务器配置
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' 配置如上所示。
基本使用方法
-
启动服务器: 配置完成后,在仓库根目录下运行以下命令启动服务器:
uv run mcp-server-shioaji服务器默认在 'http://0.0.0.0:8000' 启动。
-
客户端请求: 使用 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" 部分,了解更多工具的使用方法和参数。
信息
分类
商业系统