使用说明
比特币MCP服务器
一种基于Go的服务,它提供了一个统一的接口,通过使用模型上下文协议(MCP)的各种RPC命令与比特币节点进行交互。该服务器将比特币RPC功能组织为逻辑类别,并提供一个干净、文档齐全的API,用于访问区块链数据和操作。
特性
- 使用模型上下文协议的全面比特币RPC接口
- 按功能类别组织:
- 区块链操作
- Mempool运营
- UTXO操作
- 区块链管理
- 安全认证
- 全面的错误处理
- 清洁并记录API
先决条件
- 转到1.24或更高版本
- 启用 RPC 的 Bitcoin 核心节点
- 比特币RPC命令的基本理解
安装
- 克隆存储库:
git clone https://github.com/moncho/bitcoin-mcp.git
cd bitcoin-mcp
- 安装依赖项:
go mod download
- 构建服务器:
go build -o bitcoin-mcp
配置
创建配置文件(config.json)具有以下结构:
{
"bitcoin": {
"rpc_url": "http://localhost:8332",
"username": "your_rpc_username",
"password": "your_rpc_password"
},
"server": {
"port": 8080,
"host": "localhost"
}
}
运行服务器
- 启动启用RPC的Bitcoin Core节点:
bitcoind -server -rpcuser=your_rpc_username -rpcpassword=your_rpc_password
- 启动MCP服务器:
./bitcoin-mcp -config config.json
或者使用环境变量:
BITCOIN_RPC_URL=http://localhost:8332 \
BITCOIN_RPC_USER=your_rpc_username \
BITCOIN_RPC_PASS=your_rpc_password \
./bitcoin-mcp
API使用
服务器提供了一个RESTful API,用于访问比特币RPC命令。以下是一些示例:
获取区块链信息
curl -X POST http://localhost:8080/api/v1/blockchain/info
获取块数据
curl -X POST http://localhost:8080/api/v1/blockchain/block \
-H "Content-Type: application/json" \
-d '{"blockhash": "0000000000000000000123456789abcdef", "verbose": true}'
获取Mempool信息
curl -X POST http://localhost:8080/api/v1/mempool/info
发展
项目结构
bitcoin-mcp/
├── cmd/
│ └── server/ # Main server application
├── pkg/
│ ├── bitcoin/ # Bitcoin RPC client
│ └── tools/ # RPC command implementations
├── config.json # Configuration file
└── README.md # This file
添加新的RPC命令
- 将该方法添加到 Bitcoin 客户端
pkg/bitcoin/client.go - 在中创建或更新相应的工具
pkg/tools/ - 在相应的类别中注册该工具
- 为新功能添加测试
测试
运行测试套件:
go test ./...
安全考虑
- 永远不要在公共存储库中公开RPC凭据
- 使用安全密码进行RPC访问
- 考虑对公共API进行速率限制
- 验证所有输入参数
- 清除错误消息
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
请遵循 贡献指南 提交更改时。
文档
有关API文件和规范的详细信息,请参阅:
许可证
[指定许可证信息]
支持
如需支持,请:
- 检查 文档
- 搜索现有问题
- 如果需要,创建新问题
致谢
- 比特币核心开发者
- 围棋界
- 此项目的所有贡献者