BM

baltsar/monero-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

20 stars 4 forks 质量 73 趋势 10MIT

门罗币的MCP服务器。给任何AI代理一个私人钱包。

概览

这是人工智能代理与门罗网络之间的桥梁。它允许任何人工智能代理——OpenClaw、Agent Zero、Claude或任何兼容MCP的框架——通过简单的工具界面检查余额、接收付款并发送XMR。 可以这样想:你的AI代理拥有自己的门罗币钱包。 MCP(模型上下文协议)是由Anthropic创建的标准,允许AI助手使用外部工具。AI不仅仅是生成文本,而是调用真实功能——读取文件、查询数据库,或者在这里与Monero钱包交互。 如果你曾经希望你的AI代理能够自主接收和发送XMR——无论是OpenClaw代理运行服务、Agent Zero实例管理自己的预算,还是仅仅是Claude检查你的余额——这就是它的作用。 因为人工智能代理比人类更需要隐私。 当人类进行交易时,自然会产生噪音——你在随机时间买咖啡,不定期付房租,你的模式混乱。人工智能智能体则不同。

概述(AI 翻译)

全球首个门罗币主控服务器。给任何AI代理一个私人钱包。


这是什么?

这是人工智能代理与门罗网络之间的桥梁。它允许任何人工智能代理—— OpenClaw、Agent Zero、Claude 或任何兼容 MCP 的框架——校验平衡, 通过简单的工具界面接收付款并发送XMR。

可以这样想:你的AI代理拥有自己的门罗币钱包。

等等,MCP是什么?

MCP(模型上下文协议)是由Anthropic创建的标准,允许AI助手使用外部工具。AI不仅仅是生成文本,而是调用真实功能——读取文件、查询数据库,或者在这里与Monero钱包交互。

如果你曾希望你的AI代理能够自主接收和发送XMR—— 无论是运行服务的OpenClaw代理,还是Agent Zero实例 管理自己的预算,或者只是Claude帮你检查余额——这就是它的作用。

为什么是门罗币?为什么不是以太坊或比特币?

因为人工智能代理比人类更需要隐私。

当人类进行交易时,自然会产生噪音——你在随机时间买咖啡,不定期付房租,你的模式很混乱。人工智能智能体则不同。每笔交易都遵循逻辑。

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

🔒 Monero MCP Server

The world’s first MCP server for Monero. Give any AI agent a private wallet.


What is this?

This is a bridge between AI agents and the Monero network. It lets any AI agent – OpenClaw, Agent Zero, Claude, or any MCP-compatible framework – check balances, receive payments, and send XMR through a simple tool interface.

Think of it as: your AI agent gets its own Monero wallet.

Wait, what’s MCP?

MCP (Model Context Protocol) is a standard created by Anthropic that lets AI assistants use external tools. Instead of the AI just generating text, it can call real functions – read files, query databases, or in this case, interact with a Monero wallet.

If you’ve ever wanted your AI agent to autonomously receive and send XMR – whether it’s an OpenClaw agent running a service, an Agent Zero instance managing its own budget, or just Claude checking your balance – that’s what this does.

Why Monero? Why not Ethereum or Bitcoin?

Because AI agents need privacy more than humans do.

When a human makes transactions, there’s natural noise – you buy coffee at random times, pay rent irregularly, your patterns are chaotic. An AI agent is different. Every transaction follows logic. On a transparent blockchain, anyone can watch an agent’s on-chain behavior and reverse-engineer its strategy, its triggers, and how to exploit it.

Monero’s privacy-by-default design means an agent’s transaction history, balance, and counterparties are hidden. That’s not a nice-to-have – it’s a security requirement for any autonomous agent handling real value.

Privacy is not a feature for AI agents. It’s infrastructure.

Features

12 tools covering everything an AI agent needs:

Category Tools
Balance & Info get_balance, get_address, get_height, get_version
Transactions get_transfers, get_transfer_by_txid
Receiving create_address, make_integrated_address
Sending transfer, sweep_all, confirm_transfer
Validation validate_address
Optional (opt-in) get_exchange_rate (XMR/USD, XMR/EUR; set MONERO_ENABLE_PRICE_FEED=true)

Read-only by default. Sending XMR requires explicit opt-in via environment variable.

Security: Built for a hostile world

This server assumes the AI agent will encounter prompt injection attacks – malicious text designed to trick the AI into sending funds to an attacker. The AI is not our security boundary. The MCP server is.

Five defense layers, all configurable:

🛡️ Address Allowlist – Lock transfers to known addresses only. Prompt injection can’t send to unknown wallets.

🛡️ Two-Step Confirmation – Transfers return a preview + one-time token. Must call confirm_transfer to execute. Attackers can’t predict the token.

🛡️ Rate Limiting – Cooldown between transfers + daily XMR limit. Limits damage even if everything else fails.

在 GitHub 查看完整 README

安装

npx -y monero-mcp@latest
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "monero": { "command": "npx", "args": ["-y", "monero-mcp@latest"], "env": { "MONERO_RPC_HOST": "127.0.0.1", "MONERO_RPC_PORT": "18082", "MONERO_NETWORK": "mainnet", "MONERO_ALLOW_TRANSFERS": "false" } } } }