Luno Mcp

Luno Mcp

🚀 Luno MCP 服务器

Luno MCP 服务器是一个 模型上下文协议(MCP)服务器,它提供对 Luno 加密货币交易平台 API 的访问。该服务器支持与 VS Code 的 Copilot 以及其他 MCP 兼容客户端集成,为 Luno 加密货币交易提供上下文信息和相关功能。

🚀 快速开始

本项目是一个 MCP 服务器,可提供对 Luno 加密货币交易平台 API 的访问。要使用该服务器,你需要完成以下步骤:

  1. 从 Luno 账户设置中获取 API 密钥和密钥密码,具体可参考 https://www.luno.com/developers
  2. 根据需求选择合适的安装方式,如从源代码构建或使用 Docker 安装。
  3. 配置服务器的命令行选项,如传输类型、日志级别等。

✨ 主要特性

  • 资源访问:可访问账户余额、交易历史等信息。
  • 工具功能:具备创建和管理订单、查询价格、查看交易详情等功能。
  • 安全认证:使用 Luno API 密钥进行安全认证。
  • VS Code 集成:可轻松与 VS Code 的 Copilot 功能集成。

⚠️ 重要提示

本项目目前处于 测试阶段。尽管我们已尽力确保其稳定性和可靠性,但你仍可能遇到意外行为或限制。请谨慎使用,并考虑以下几点:

  • 此 MCP 服务器配置可能会在未提前通知的情况下更改。
  • 性能和可靠性可能并非最优。
  • 并非所有 Luno API 端点都已实现。

我们欢迎反馈和错误报告,以帮助改进项目。若遇到任何问题,请通过 GitHub 问题跟踪器 报告。

📦 安装指南

前提条件

  • Go 1.24 或更高版本
  • 拥有 Luno 账户,并获取 API 密钥和密钥密码

从源代码构建

  1. 克隆仓库:
git clone https://github.com/luno/luno-mcp
cd luno-mcp
  1. 构建二进制文件:
go build -o luno-mcp ./cmd/server
  1. (可选)将其设置为系统全局可用:
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 集成

要与 VS Code 集成,可将以下内容添加到你的 settings.json 文件中(或点击本 README 顶部的徽章获取 Docker 配置)。

使用 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}
]
}
}
}
从源代码构建

除了添加上述配置选项外,你还需要按照以下说明进行操作。

对于 stdio 传输
"mcp": {
"servers": {
"luno": {
"command": "luno-mcp",
"args": [],
"env": {
"LUNO_API_KEY_ID": "${env:LUNO_API_KEY_ID}",
"LUNO_API_SECRET": "${env:LUNO_API_SECRET}"
}
}
}
}
对于 SSE 传输
"mcp": {
"servers": {
"luno": {
"type": "sse",
"url": "http://localhost:8080/sse"
}
}
}

📚 详细文档

命令行选项

  • --transport:传输类型(stdiosse,默认:stdio
  • --sse-address:SSE 传输地址(默认:localhost:8080
  • --domain:Luno API 域名(默认:api.luno.com
  • --log-level:日志级别(debuginfowarnerror,默认: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 进行持续集成测试:

  1. 单元测试:在所有推送到主分支的事件和拉取请求上自动运行。
  2. 集成测试:可在 GitHub Actions 选项卡中使用“手动集成测试”工作流手动运行。

要使集成测试在 GitHub Actions 中正常工作,你需要在仓库中设置以下机密信息:

  • LUNO_API_KEY:你的 Luno API 密钥
  • LUNO_API_SECRET:你的 Luno API 密钥密码
  • RUN_INTEGRATION_TESTS:设置为任何非空值以在主分支上启用集成测试

集成测试仅在显式触发或在主分支上配置时运行。

贡献代码

如果你想为该项目的开发做出贡献,请参阅 CONTRIBUTING.md 文件获取指南。

📄 许可证

本项目采用 MIT 许可证。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-25 15:15

相似服务问题