Shioaji交易API服务器

一个实现MCP协议的服务器,为AI助手提供访问台湾金融市场的Shioaji交易API功能。

  • by Sinotrade
  • Python
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 Sinotrade/mcp-server-shioaji

使用说明

Shioaji的MCP服务器

模型上下文协议(MCP)服务器,为人工智能助手提供访问台湾金融市场Shioaji交易API的权限。

概述

该服务器实现MCP协议,将Shioaji API功能公开为人工智能助手可以使用的工具。它允许AI模型:

  • 检索当前股票价格
  • 获取历史数据
  • 列出可用库存
  • 还有更多。..

安装

先决条件

  • Python 3.10或更高版本
  • uv(快速Python包管理器)

使用紫外线

uv sync

配置

在运行服务器之前,您需要配置Shioaji API凭据。有两种方法可以做到这一点:

环境变量

设置以下环境变量:

export SHIOAJI_API_KEY="your_api_key"
export SHIOAJI_SECRET_KEY="your_secret_key"

使用.env文件

创建一个 .env 根目录中的文件,内容如下:

SHIOAJI_API_KEY=your_api_key
SHIOAJI_SECRET_KEY=your_secret_key

运行服务器

使用以下命令启动服务器:

uv run mcp-server-shioaji

服务器将于启动 http://0.0.0.0:8000 默认情况下。

可用工具

服务器通过MCP公开以下工具:

get_stock_price

按股票代码获取股票的当前价格。

{
  "tool": "get_stock_price",
  "params": {
    "symbols": "TW.2330,TW.2317"
  }
}

响应将包括所请求股票的价格信息,包括开盘价、最高价、最低价、收盘价、成交量和其他交易数据。

get_kbars

获取日期范围内股票的K-Bar(烛台)数据。

{
  "tool": "get_kbars",
  "params": {
    "symbol": "TW.2330",
    "start_date": "2023-12-01",
    "end_date": "2023-12-15"
  }
}

如果 start_date 未提供,默认为今天。如果 end_date 未提供,默认与 start_date.

扫描库存

根据各种排名标准扫描股票。

{
  "tool": "scan_stocks",
  "params": {
    "scanner_type": "VolumeRank",
    "ascending": false,
    "limit": 10
  }
}

支持的扫描仪类型:

  • VolumeRank -按交易量排名
  • AmountRank -按交易金额排名
  • TickCountRank -按交易数量排名
  • ChangePercentRank -按百分比变化排名
  • ChangePriceRank -按价格变化排名
  • DayRangeRank -按日范围排名

默认限制为20,默认情况下结果按降序排列(设置 ascending 向 true 按升序排列)。

发展

项目结构

mcp-server-shioaji/
├── src/
│   └── mcp_server_shioaji/
│       ├── __init__.py      # Package entry point
│       └── server.py        # MCP server implementation
├── pyproject.toml           # Project metadata and dependencies
└── README.md                # This file

添加新工具

要添加新的Shioaji功能,请修改 server.py 并使用添加新的工具定义 @mcp.tool 装饰师。

许可证

麻省理工学院

致谢