Luno MCP 服务器是一个 模型上下文协议(MCP)服务器,它提供对 Luno 加密货币交易平台 API 的访问。该服务器支持与 VS Code 的 Copilot 以及其他 MCP 兼容客户端集成,为 Luno 加密货币交易提供上下文信息和相关功能。
本项目是一个 MCP 服务器,可提供对 Luno 加密货币交易平台 API 的访问。要使用该服务器,你需要完成以下步骤:
本项目目前处于 测试阶段。尽管我们已尽力确保其稳定性和可靠性,但你仍可能遇到意外行为或限制。请谨慎使用,并考虑以下几点:
我们欢迎反馈和错误报告,以帮助改进项目。若遇到任何问题,请通过 GitHub 问题跟踪器 报告。
git clone https://github.com/luno/luno-mcp
cd luno-mcp
go build -o luno-mcp ./cmd/server
sudo mv luno-mcp /usr/local/bin/
你可以让 Copilot 显示你的钱包余额:
What are my current wallet balances on Luno?
你可以让 Copilot 帮助你进行交易:
Create a limit order to buy 0.001 BTC at 50000 ZAR
你可以让 Copilot 显示你的交易历史:
Show me my recent Bitcoin transactions
你可以让 Copilot 显示市场数据:
Show me recent trades for XBTZAR
What's the latest price for Bitcoin in ZAR?
要与 VS Code 集成,可将以下内容添加到你的 settings.json
文件中(或点击本 README 顶部的徽章获取 Docker 配置)。
此配置将使 VS Code 运行 Docker 容器。请确保你的系统上已运行 Docker。
"mcp": {
"servers": {
"luno-docker": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "LUNO_API_KEY_ID=${input:luno_api_key_id}",
"-e", "LUNO_API_SECRET=${input:luno_api_secret}",
// 可选:传递 LUNO_API_DEBUG=true
// "-e", "LUNO_API_DEBUG=true",
"ghcr.io/luno/luno-mcp:latest"
// 可选:向 luno-mcp 传递额外参数
// "--log-level", "debug"
],
"inputs": [
{"id": "luno_api_key_id", "type": "promptString", "description": "Luno API Key ID", "password": true},
{"id": "luno_api_secret", "type": "promptString", "description": "Luno API Secret", "password": true}
]
}
}
}
除了添加上述配置选项外,你还需要按照以下说明进行操作。
"mcp": {
"servers": {
"luno": {
"command": "luno-mcp",
"args": [],
"env": {
"LUNO_API_KEY_ID": "${env:LUNO_API_KEY_ID}",
"LUNO_API_SECRET": "${env:LUNO_API_SECRET}"
}
}
}
}
"mcp": {
"servers": {
"luno": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
}
--transport
:传输类型(stdio
或 sse
,默认:stdio
)--sse-address
:SSE 传输地址(默认:localhost:8080
)--domain
:Luno API 域名(默认:api.luno.com
)--log-level
:日志级别(debug
、info
、warn
、error
,默认:info
)工具名称 | 类别 | 描述 |
---|---|---|
get_ticker |
市场数据 | 获取交易对的当前行情信息 |
get_order_book |
市场数据 | 获取交易对的订单簿信息 |
list_trades |
市场数据 | 列出货币对的近期交易 |
get_balances |
账户信息 | 获取所有账户的余额 |
create_order |
交易操作 | 创建新的买入或卖出订单 |
cancel_order |
交易操作 | 取消现有订单 |
list_orders |
交易操作 | 列出未成交订单 |
list_transactions |
交易记录 | 列出账户的交易记录 |
get_transaction |
交易记录 | 获取特定交易的详情 |
项目包含单元测试和集成测试。单元测试无需任何凭证即可运行,而集成测试需要 Luno API 凭证。
# 仅运行单元测试
go test -v ./... -short
# 运行集成测试(需要 API 凭证)
go test -v ./internal/tests -run "Integration" -skip=""
本仓库配置了 GitHub Actions 进行持续集成测试:
要使集成测试在 GitHub Actions 中正常工作,你需要在仓库中设置以下机密信息:
LUNO_API_KEY
:你的 Luno API 密钥LUNO_API_SECRET
:你的 Luno API 密钥密码RUN_INTEGRATION_TESTS
:设置为任何非空值以在主分支上启用集成测试集成测试仅在显式触发或在主分支上配置时运行。
如果你想为该项目的开发做出贡献,请参阅 CONTRIBUTING.md 文件获取指南。
本项目采用 MIT 许可证。