私有MCP服务器
MCP服务器为团队开发工作流提供对所有Privateness CLI功能的HTTP/JSON访问。
特性
- 完整的CLI覆盖范围:按类别组织的所有40+privateness cli命令
- 多种API样式:基于类别的路由、通用命令和传统RPC
- 环境集成:支持所有privateness cli环境变量
- 团队开发:内部工具自孔API
- 端口7332:避免常见的端口冲突
先决条件
- Node.js 14.0.0或更高版本
- 您的PATH中的privateness cli或通过环境变量指定
- 隐私节点正在运行(默认值:http://127.0.0.1:6660)
安装
git clone this repository
cd privateness-mcp-server
npm install配置
使用环境变量进行配置(与privateness-cli相同):
export PORT=7332 # Server port (default: 7332)
export PRIVATENESS_CLI_PATH=privateness-cli # Path to privateness-cli
export RPC_ADDR=http://127.0.0.1:6660 # RPC node address
export RPC_USER=username # RPC username (if enabled)
export RPC_PASS=password # RPC password (if enabled)
export COIN=privateness # Coin name
export DATA_DIR=./data # Data directory运行服务器
npm start
# or for development:
npm run devAPI终点
探索与健康
GET /health-服务器运行状况和统计信息GET /endpoints-按类别列出所有可用命令
命令类别
钱包管理
POST /wallet/walletCreate-创建新钱包POST /wallet/listWallets-列出所有钱包POST /wallet/listAddresses-列出钱包地址POST /wallet/addPrivateKey-将私钥添加到钱包POST /wallet/encryptWallet-加密钱包POST /wallet/showSeed-显示钱包种子
地址操作
POST /address/addressGen-生成地址POST /address/addressBalance-检查地址余额POST /address/addressOutputs-显示地址输出POST /address/verifyAddress-验证地址格式
平衡与产出
POST /balance/walletBalance-检查钱包余额POST /balance/walletOutputs-显示钱包输出POST /balance/walletHistory-显示钱包交易历史记录
交易
POST /transaction/send-发送硬币POST /transaction/createRawTransaction-创建原始交易POST /transaction/signTransaction-签署交易POST /transaction/broadcastTransaction-广播交易POST /transaction/pendingTransactions-获取待处理交易
区块链
POST /blockchain/status-节点状态POST /blockchain/blocks-获取区块信息POST /blockchain/lastBlocks-获取最近的区块POST /blockchain/version-获取版本信息
系统
POST /system/showConfig-显示配置POST /system/checkdb-验证数据库
通用指挥路线
POST /cmd/:command-执行任何privateness cli命令POST /rpc-传统RPC传递
请求格式
所有端点都接受带参数和标志的JSON:
{
"params": ["param1", "param2"],
"flags": {
"wallet": "my-wallet.wlt",
"password": "secret",
"amount": "100"
}
}例子
创建新钱包:
curl -X POST http://localhost:7332/wallet/walletCreate \
-H "Content-Type: application/json" \
-d '{"flags": {"wallet": "team-wallet.wlt", "label": "Team Wallet"}}'检查钱包余额:
curl -X POST http://localhost:7332/balance/walletBalance \
-H "Content-Type: application/json" \
-d '{"flags": {"wallet": "team-wallet.wlt"}}'发送硬币:
curl -X POST http://localhost:7332/transaction/send \
-H "Content-Type: application/json" \
-d '{
"flags": {
"wallet": "team-wallet.wlt",
"to": "recipient_address",
"amount": "10.5"
}
}'生成地址:
curl -X POST http://localhost:7332/address/addressGen \
-H "Content-Type: application/json" \
-d '{"flags": {"num": "5", "coin": "privateness"}}'获取节点状态:
curl -X POST http://localhost:7332/blockchain/status \
-H "Content-Type: application/json" \
-d '{}'命令类别
钱包(11个命令)
钱包创建、管理、加密和密钥操作。
地址(6个命令)
地址生成、验证和余额检查。
平衡(3个命令)
钱包余额、输出和交易历史。
事务(9个命令)
创建、签署、广播和管理交易。
区块链(5个命令)
节点状态、块和网络信息。
系统(6个命令)
配置、数据库验证和帮助。
错误处理
详细的错误响应包括:
- 错误消息
- privateness cli的stderr输出
- 退出代码
- 上下文的命令名称
安全
- 网络安全:在HTTPS反向代理后运行以用于生产
- 访问控制:使用防火墙规则限制访问
- 凭证:如果启用了身份验证,则保护RPC凭据
- 地方发展:专为团队开发工作流程而设计
发展
npm run dev # Auto-reload on changes许可证
麻省理工学院
