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 装饰师。
许可证
麻省理工学院
