关于 MCP Server for Shioaji
MCP Server for Shioaji 将 Shioaji API 的台湾市场交易数据提供为工具,供 AI 助手调用,涵盖价格查询、历史 K 线和股票筛选。
主要功能
- 01查询当前股价
- 02获取历史 K 线数据
- 03股票列表与排名
适用场景
- 01查询指定股票代码的当前价格
- 02获取日期范围内的 K 线数据
- 03按成交量或价格变动筛选排名
MCP 相关
它将 Shioaji API 功能作为 MCP 工具提供给 AI 助手,包括价格查询、历史数据和股票筛选。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Shioaji 的 MCP 服务
一个 Model Context Protocol(MCP)服务,为 AI 助手提供对台湾金融市场 Shioaji 交易 API 的访问权限。
概述
此服务实现了 MCP 协议,将 Shioaji API 功能作为工具提供,供 AI 助手使用。它允许 AI 模型:
- 获取当前股价
- 获取历史数据
- 列出可用股票
- 更多功能……
安装
前置条件
- Python 3.10 或更高版本
- uv(快速 Python 包管理器)
使用 uv
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 线数据。
{
"tool": "get_kbars",
"params": {
"symbol": "TW.2330",
"start_date": "2023-12-01",
"end_date": "2023-12-15"
}
}
如果未提供 start_date,则默认为今天。如果未提供 end_date,则默认为与 start_date 相同的日期。
scan_stocks
根据各种排名标准扫描股票。
{
"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 装饰器添加新的工具定义。
许可证
MIT
致谢
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。