Access the Shioaji trading API for financial data and trading operations, requiring a SinoPac Securities account.
提供永豐金證券 Shioaji 交易 API 功能的模型上下文協議 (MCP) 伺服器,透過標準化工具存取交易功能。
繁體中文 | English
get_account_info
- 取得帳戶資訊和連線狀態search_contracts
- 根據關鍵字、交易所或類別搜尋交易合約get_snapshots
- 取得指定合約的即時市場快照get_kbars
- 取得合約的歷史 K 線資料place_order
- 使用指定參數下單買賣(需要權限)cancel_order
- 根據訂單 ID 取消現有訂單(需要權限)list_orders
- 列出所有訂單及其狀態get_positions
- 取得目前持倉和損益(支援股票、期貨或全部帳戶)get_account_balance
- 取得帳戶餘額和保證金資訊(支援股票、期貨或全部帳戶)⚠️ 交易安全性:交易操作(place_order
、cancel_order
)預設為停用。設定 SHIOAJI_TRADING_ENABLED=true
來啟用交易功能。
check_terms_status
- 檢查服務條款簽署狀態和 API 測試完成情況run_api_test
- 執行服務條款合規的 API 測試(登入和訂單測試)關於使用 GitHub Container Registry 的 Docker 映像詳細資訊,請參閱 docs/CONTAINER_REGISTRY.md。
使用 GitHub Container Registry 預建的 Docker 映像是最簡單的方式:
# 拉取最新穩定版映像
docker pull ghcr.io/musingfox/shioaji-mcp:latest
# 執行 MCP 伺服器(唯讀模式)
docker run --rm -i --platform=linux/amd64 \
-e SHIOAJI_API_KEY=your_api_key \
-e SHIOAJI_SECRET_KEY=your_secret_key \
-e SHIOAJI_TRADING_ENABLED=false \
ghcr.io/musingfox/shioaji-mcp:latest
# 執行 MCP 伺服器並啟用交易功能
docker run --rm -i --platform=linux/amd64 \
-e SHIOAJI_API_KEY=your_api_key \
-e SHIOAJI_SECRET_KEY=your_secret_key \
-e SHIOAJI_TRADING_ENABLED=true \
ghcr.io/musingfox/shioaji-mcp:latest
latest
- 主分支的最新穩定發布版vX.Y.Z
(如 v0.1.0
)- 特定版本發布dev
- 最新開發版本(可能包含實驗性功能)生產環境建議使用特定版本標籤。
如果偏好本地建置映像:
# 建置 Docker 映像
docker build -t shioaji-mcp .
# 執行 MCP 伺服器(唯讀模式)
docker run --rm -i --platform=linux/amd64 \
-e SHIOAJI_API_KEY=your_api_key \
-e SHIOAJI_SECRET_KEY=your_secret_key \
-e SHIOAJI_TRADING_ENABLED=false \
shioaji-mcp
在您的 MCP 客戶端中加入以下設定:
{
"mcpServers": {
"shioaji": {
"command": "docker",
"args": [
"run", "--rm", "-i", "--platform=linux/amd64",
"-e", "SHIOAJI_API_KEY=your_api_key",
"-e", "SHIOAJI_SECRET_KEY=your_secret_key",
"-e", "SHIOAJI_TRADING_ENABLED=false",
"ghcr.io/musingfox/shioaji-mcp:latest"
]
}
}
}
交易權限:
SHIOAJI_TRADING_ENABLED=false
(預設)為唯讀模式SHIOAJI_TRADING_ENABLED=true
啟用交易操作啟用交易的範例:
"-e", "SHIOAJI_TRADING_ENABLED=true"
開發或測試時,您可以使用 dev
標籤:
"ghcr.io/musingfox/shioaji-mcp:dev"
我們提供 Python 客戶端範例,示範如何程式化使用 Shioaji MCP 伺服器:
# 安裝 MCP 客戶端程式庫
pip install mcp-client
# 設定您的 API 憑證
export SHIOAJI_API_KEY=your_api_key
export SHIOAJI_SECRET_KEY=your_secret_key
# 執行範例
./examples/python_client.py
範例展示:
完整程式碼詳見 examples/python_client.py。
# 複製專案
git clone <repository-url>
cd shioaji-mcp
# 安裝相依套件
uv sync
# 設定環境變數
export SHIOAJI_API_KEY=your_api_key
export SHIOAJI_SECRET_KEY=your_secret_key
# 執行 MCP 伺服器
uv run python -m shioaji_mcp.server
# 安裝開發相依套件
uv sync --extra dev
# 設定環境變數(如需本地開發)
export SHIOAJI_API_KEY=your_api_key
export SHIOAJI_SECRET_KEY=your_secret_key
# 執行測試
uv run pytest
# 測試覆蓋率
uv run pytest --cov=src/shioaji_mcp
# 檢查和格式化程式碼
uv run ruff check --fix src/ tests/
uv run ruff format src/ tests/
# 型別檢查
uv run mypy src/
# 建置開發 Docker 映像
docker build -t shioaji-mcp-dev .
# 測試 Docker 容器
docker run --rm -i --platform=linux/amd64 \
-e SHIOAJI_API_KEY=test_key \
-e SHIOAJI_SECRET_KEY=test_secret \
shioaji-mcp-dev
src/shioaji_mcp/
├── server.py # MCP 伺服器主程式
├── tools/ # 工具模組
│ ├── contracts.py # 合約搜尋
│ ├── market_data.py # 市場資料
│ ├── orders.py # 訂單操作
│ ├── positions.py # 持倉查詢
│ └── terms.py # 服務條款
└── utils/ # 工具程式
├── auth.py # 身份驗證管理
├── formatters.py # 資料格式化
└── shioaji_wrapper.py # Shioaji 包裝器
⚠️ 真實交易 API
⚠️ 相容性
我們提供腳本來測試您的 Docker 設定是否與 Shioaji MCP 伺服器相容:
# 使腳本可執行
chmod +x scripts/test_docker_setup.sh
# 執行測試腳本
./scripts/test_docker_setup.sh
此腳本檢查 Docker 安裝、守護程序狀態、權限、平台支援和基本功能。
# 使用 Docker 解決
docker run --platform=linux/amd64 ...
# 檢查環境變數
echo $SHIOAJI_API_KEY
echo $SHIOAJI_SECRET_KEY
# 檢查 API 憑證是否有效
docker run --rm -i --platform=linux/amd64 \
-e SHIOAJI_API_KEY=your_key \
-e SHIOAJI_SECRET_KEY=your_secret \
shioaji-mcp python -c "from shioaji_mcp.utils.auth import auth_manager; print(auth_manager.is_connected())"
本專案採用 MIT 授權條款 - 詳見 LICENSE 檔案。
我們歡迎貢獻來改善 Shioaji MCP 伺服器!請參閱 CONTRIBUTING.md 了解如何為此專案貢獻的詳細指南。
Access real-time entertainment data and personal viewing history from the Trakt.tv API.
An AI-powered Bazi calculator providing precise data for personality analysis and destiny forecasting.
A TypeScript-based MCP server for interacting with the Etsy API, featuring a simple notes system.
Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.
Generates 3D-style cartoon images using Google's Gemini AI and provides secure file system operations.
MCP Server for DealX platform
A server for the scenario-word MCP, built with the mcp-framework.
Provides accurate Islamic prayer times for locations throughout Malaysia using the waktusolat.app API.
An MCP server for accessing Bazi (Chinese astrology) data, requiring an API key.
Connects Large Language Models (LLMs) with Guild Wars 2 data sources. Requires a Guild Wars 2 API key for wallet functionality.