返回市场
月壤-MCP

月壤-MCP

作者:luno12 星标更新:2025-11-20

项目介绍

Luno MCP Server

质量门状态 覆盖率 错误 安全评级 漏洞 重复行数(%) Go报告卡 GoDoc

一个提供访问Luno加密货币交易所API的模型上下文协议(MCP)服务器。

此服务器支持与Claude Code/VSCode/Cursor(以及其他兼容MCP的客户端)集成,提供与Luno加密货币交易所相关的上下文信息和功能。

⚠️ 测试警告

该项目目前处于测试阶段。尽管我们已尽最大努力确保稳定性和可靠性,但您可能会遇到意外行为或限制。请谨慎使用,并考虑以下事项:

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

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

使用Docker在VS Code中安装

功能

  • 资源:访问账户余额、交易历史等
  • 工具:创建和管理订单、检查价格、查看交易详情等功能
  • 安全性:使用Luno API密钥进行安全认证
  • VS Code集成:轻松与VSCode或其他AI IDE集成

使用方法

设置凭证

服务器可能需要您的Luno API密钥和密钥密码来访问某些端点。这些可以在您的Luno账户设置中获取,更多信息请参见:https://www.luno.com/developers

命令行选项

  • --transport:传输类型(stdiosse,默认:stdio
  • --sse-address:SSE传输地址(默认:localhost:8080
  • --domain:Luno API域名(默认:api.luno.com
  • --log-level:日志级别(debuginfowarnerror,默认:info

可用工具

工具类别是否需要认证描述
get_ticker市场数据获取交易对的当前行情信息
get_tickers市场数据列出给定交易对(或所有)的行情信息
get_order_book市场数据获取交易对的订单簿
list_trades市场数据列出货币对的最近交易
get_candles市场数据获取货币对的K线市场数据
get_markets_info市场数据列出所有支持市场的参数信息
get_balances账户信息获取所有账户的余额
create_order交易创建新的买入或卖出订单
cancel_order交易取消现有订单
list_orders交易列出开放订单
list_transactions交易记录列出账户的交易记录
get_transaction交易记录获取特定交易的详细信息

示例

处理钱包

您可以询问您的LLM显示您的钱包余额:

我的Luno上的当前钱包余额是多少?

交易

您可以询问您的LLM帮助您进行交易:

创建一个限价单,以50000南非兰特的价格购买0.001比特币

交易历史

您可以询问您的LLM显示您的交易历史:

显示我最近的比特币交易

市场数据

您可以询问您的LLM显示市场数据:

显示XBTZAR的最近交易
最新的比特币南非兰特价格是多少?

VS Code集成

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

使用Docker

此配置将使VS Code运行Docker容器。请确保系统上正在运行Docker。

{
  "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}",
        // 可选:添加调试信息
        // "-e", "LUNO_API_DEBUG=true",
        // 可选:覆盖默认API域名
        // "-e", "LUNO_API_DOMAIN=api.staging.luno.com",
        "ghcr.io/luno/luno-mcp:latest"
      ],
      "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客户端使用:向您的VS Code settings.jsonmcp.json文件中添加以下配置之一。凭证将通过VS Code的输入提示提供。

用于直接开发:您还需要按照CONTRIBUTING.md文件中的说明设置环境变量或.env文件。

对于stdio传输

"mcp": {
  "servers": {
    "luno": {
      "command": "luno-mcp",
      "args": [],
      "env": {
        "LUNO_API_KEY_ID": "${input:luno_api_key_id}",
        "LUNO_API_SECRET": "${input:luno_api_secret}"
      },
      "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}
      ]
    }
  }
}

对于SSE传输

"mcp": {
  "servers": {
    "luno": {
      "type": "sse",
      "url": "http://localhost:8080/sse"
    }
  }
}

安装

先决条件

  • Go 1.24或更高版本
  • 拥有API密钥和密钥密码的Luno账户

从源码构建

  1. 克隆仓库:

    git clone https://github.com/luno/luno-mcp
    cd luno-mcp
    
  2. 构建二进制文件:

    go build -o luno-mcp ./cmd/server
    
  3. 将其作为全局可用(可选):

    sudo mv luno-mcp /usr/local/bin/
    

注意:当与如VS Code的MCP客户端一起使用时,凭证是通过客户端的输入系统提供的。对于直接开发和测试,请参阅CONTRIBUTING.md中的凭证设置说明。

安全注意事项

此工具需要具有访问您Luno账户权限的API凭证。使用API密钥时需谨慎,尤其是具有提现权限的密钥。建议只为您的具体用途创建具有必要权限的API密钥。

API凭证的最佳实践

  1. 创建有限权限的API密钥:仅授予绝对必要的权限
  2. 切勿将凭证提交到版本控制:确保.env文件始终在.gitignore
  3. 定期轮换API密钥:定期重新生成您的API密钥以限制潜在泄露的影响
  4. 监控API使用情况:定期检查您的Luno账户是否有未经授权的活动

贡献

如果您希望为该项目的发展做出贡献,请参阅CONTRIBUTING.md文件中的指南。

许可证

MIT许可证