返回 MCP 目录
public公开dns本地运行

luno-mcp

Luno MCP Server是一个基于Model Context Protocol的服务器,提供与Luno加密货币交易所API的集成,支持VS Code Copilot等MCP兼容客户端访问账户信息、交易功能和市场数据。

article

README

🚀 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 许可证

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端