这是一个实现了模型上下文协议(MCP)的服务器,提供给AI助手访问台湾金融市场交易API的功能。
此服务器实现了MCP协议,将Shioaji API的功能暴露为可以被AI助手使用的工具。它允许AI模型进行以下操作:
uv sync
在运行服务器之前,您需要配置您的Shioaji API凭证。有两种方法可以做到这一点:
设置以下环境变量:
export SHIOAJI_API_KEY="your_api_key"
export SHIOAJI_SECRET_KEY="your_secret_key"
在根目录下创建一个.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暴露了以下工具:
根据股票代码获取当前价格。
{
"tool": "get_stock_price",
"params": {
"symbols": "TW.2330,TW.2317"
}
}
响应将包括请求的股票的价格信息,包括开盘价、最高价、最低价、收盘价、成交量和其他交易数据。
获取指定日期范围内股票的K线(蜡烛图)数据。
{
"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 # 包入口点
│ └── server.py # MCP服务器实现
├── pyproject.toml # 项目元数据和依赖项
└── README.md # 此文件
要添加新的Shioaji功能,请修改server.py并使用@mcp.tool装饰器添加新的工具定义。
MIT