Token导航 LogoToken导航TokenDH.com
Resilient Db MCP logo
金融服务stdio官方级别未说明来源级核验

Resilient Db MCP

MCP Server

ResilientDB MCP服务器是一个用于与高性能区块链平台ResilientDB交互的模型上下文协议服务器,支持通过GraphQL查询和HTTP REST API与大型语言模型(如Claude)进行交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
区块链PythonClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rahulkanagaraj786

提供方

rahulkanagaraj786

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

ResilientDB MCP服务器

用于与高性能区块链平台ResilientDB交互的模型上下文协议(MCP)服务器。该服务器允许像Claude这样的大型语言模型(LLM)通过GraphQL查询和HTTPRESTneneneba API与ResilietDB交互。

概述

此MCP服务器通过提供以下标准化接口弥合了AI代理(如Claude Desktop)和ResilientDB之间的差距:

  • GraphQL操作:区块链上的资产交易(端口8000)
  • HTTP REST API操作:键值存储操作(端口18000-Crow服务器)

注: 中期而言,此实现侧重于GraphQL和HTTPRESTneneneba API集成。智能合约操作(ResContract CLI)暂时禁用。

特性

GraphQL操作(端口8000)

  • createAccount:在ResilientDB中创建新帐户(如果支持)
  • getTransaction:按ID检索资产交易详细信息(区块链交易)
  • postTransaction:将新的资产交易发布到区块链(需要带有加密密钥的PrepareAsset)
  • updateTransaction:更新现有交易(注意:区块链交易通常是不可变的)

键-值操作(端口18000-HTTP REST API)

  • get:使用HTTP REST API按键检索值(Crow服务器)
  • set:使用HTTP REST API存储密钥-值对(Crow服务器)

注: 对于中期,智能合约操作(编译、部署、执行)将被临时删除。重点是GraphQL和HTTPRESTneneneba API集成。

重要架构说明:

  • GraphQL(端口8000):用于区块链资产交易
  • HTTP/Crow(端口18000):用于键值操作

安装

先决条件

  • Python 3.11或更高版本
  • ResilientDB实例正在运行(请参阅 ResilientDB安装)
  • 已安装ResContract CLI(用于智能合约操作)
  • 访问ResilientDB GraphQL端点

本地安装

  1. 克隆存储库:
git clone https://github.com/rahulkanagaraj786/ResilientDB-MCP.git
cd ResilientDB-MCP
  1. 安装依赖项:
pip install -r requirements.txt
  1. 配置环境变量:
cp .env.example .env
# Edit .env with your ResilientDB configuration
  1. 更新 .env 使用您的设置文件:
RESILIENTDB_GRAPHQL_URL=http://localhost:8000/graphql
RESILIENTDB_HTTP_URL=http://localhost:18000

Docker安装

  1. 构建Docker镜像:
docker build -t mcp/resilientdb -f Dockerfile .
  1. 运行容器:
docker run -i --rm mcp/resilientdb

配置

环境变量

变量描述默认值
RESILIENTDB_GRAPHQL_URLGraphQL端点URL(资产交易的端口8000)http://localhost:8000/graphql
RESILIENTDB_HTTP_URLHTTP/Crow服务器URL(KV操作端口18000)http://localhost:18000
RESILIENTDB_API_KEY用于身份验证的可选API密钥
RESILIENTDB_AUTH_TOKEN可选身份验证令牌
REQUEST_TIMEOUT请求超时(秒)30
TRANSACTION_POLL_INTERVAL事务的轮询间隔1.0
MAX_POLL_ATTEMPTS最大轮询尝试次数30

重要提示:

  • GraphQL(端口8000)用于 资产交易 (区块链)
  • HTTP/Crow(端口18000)用于 关键价值操作 (简单存储)

使用Claude Desktop

将MCP服务器添加到您的Claude Desktop配置中:

  1. 打开克劳德桌面设置
  2. 编辑MCP服务器配置文件(通常 claude_desktop.json)
  3. 添加以下配置:

对于本地安装:

{
  "mcpServers": {
    "resilientdb": {
      "command": "python",
      "args": ["/path/to/ResilientDB-MCP/server.py"],
      "env": {
        "RESILIENTDB_GRAPHQL_URL": "http://localhost:8000/graphql",
        "RESILIENTDB_HTTP_URL": "http://localhost:18000"
      }
    }
  }
}

对于Docker安装:

{
  "mcpServers": {
    "resilientdb": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/resilientdb"]
    }
  }
}
  1. 重新启动克劳德桌面

可用工具

创建帐户

在ResilientDB中创建新帐户。

参数:

  • accountId (可选):帐户ID。如果没有提供,服务器将生成一个。

例子:

{
  "accountId": "my-account-123"
}

getTransaction

通过事务ID(GraphQL-端口8000)获取资产事务详细信息。

参数:

  • transactionId (必填):要检索的交易ID

例子:

{
  "transactionId": "tx-123456"
}

注: 这是针对区块链资产交易,而不是KV交易。

交易后

将新的资产交易发布到ResilientDB(GraphQL-端口8000)。

参数:

  • data (必填):预付资产格式的交易数据,带有加密密钥和签名

例子:

{
  "data": {
    "operation": "CREATE",
    "asset": {
      "data": {...}
    },
    "outputs": [...],
    "inputs": [...]
  }
}

注: 这需要带有加密密钥的PrepareAsset格式。对于简单的KV操作,请使用 set 工具代替。

更新现有交易。

参数:

  • transactionId (必填):要更新的交易ID
  • data (必填):更新交易数据

例子:

{
  "transactionId": "tx-123456",
  "data": {
    "status": "completed"
  }
}

得到

通过键(HTTP REST API-端口18000)从ResilietDB检索值。

参数:

  • key (必填):要检索的密钥

例子:

{
  "key": "my-key"
}

注: 这使用HTTP REST API(Crow服务器在18000端口上)。

在弹性数据库(HTTP REST API-端口18000)中存储一个密钥-值对。

参数:

  • key (必填):存储密钥
  • value (必填):要存储的值(可以是任何JSON可序列化值)

例子:

{
  "key": "my-key",
  "value": "my-value"
}

注: 这使用HTTP REST API(Crow服务器在18000端口上)。

建筑

MCP服务器充当MCP主机(Claude Desktop)和ResilientDB后端服务之间的中介:

┌─────────────┐         ┌──────────────┐         ┌─────────────┐
│ Claude      │────────▶│ MCP Server   │────────▶│ ResilientDB │
│ Desktop     │         │ (Python)     │         │ Backend     │
└─────────────┘         └──────────────┘         └─────────────┘
                              │
                              ├──▶ GraphQL Client (port 8000)
                              │    (Asset Transactions only)
                              │
                              └──▶ HTTP REST Client (port 18000)
                                   (Key-Value Operations)

路由逻辑

服务器会自动将请求路由到相应的服务:

  • 资产交易 → GraphQL API(端口8000)

- getTransaction:检索资产交易记录 - postTransaction:资产交易后(需要预付资产) - createAccount:创建帐户(如果支持) - updateTransaction:更新交易记录(如果支持)

  • 关键价值操作 → HTTP REST API(端口18000-Crow服务器)

- get:检索键值对 - set:存储键值对

重要提示: KV操作使用HTTP REST API(端口18000)。

发展

项目结构

ResilientDB-MCP/
├── server.py              # Main MCP server implementation
├── graphql_client.py      # GraphQL client for ResilientDB
├── rescontract_client.py  # ResContract CLI client
├── config.py              # Configuration management
├── requirements.txt       # Python dependencies
├── Dockerfile             # Docker configuration
└── README.md              # This file

运行测试

# Install test dependencies
pip install pytest pytest-asyncio

# Run tests
pytest

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

故障排除

找不到ResContract CLI

如果您收到关于找不到ResContract CLI的错误:

  1. 确保已安装ResContract CLI
  2. 将其添加到您的路径中,或
  3. RESCONTRACT_CLI_PATH 将环境变量转换为完整路径

GraphQL连接错误

如果遇到GraphQL连接错误:

  1. 验证ResilientDB是否正在运行
  2. 检查 RESILIENTDB_GRAPHQL_URL 正确(应该是端口8000,而不是9000)
  3. 确保与GraphQL端点的网络连接
  4. 检查防火墙设置
  5. 验证GraphQL服务器是否可访问: curl http://localhost:8000/graphql

HTTP连接错误

如果您在KV操作中遇到HTTP连接错误:

  1. 验证Crow HTTP服务器是否在端口18000上运行
  2. 检查 RESILIENTDB_HTTP_URL 是正确的
  3. 测试HTTP端点: curl http://localhost:18000/v1/transactions/test
  4. 确保HTTP服务器可访问

关键价值操作不起作用

如果KV操作(获取/设置)失败:

  1. 验证您使用的是HTTP REST API(端口18000),而不是GraphQL
  2. 检查Crow HTTP服务器是否正在运行
  3. 卷曲测试:
   # Set a value
   curl -X POST -d '{"id":"test","value":"hello"}' http://localhost:18000/v1/transactions/commit

   # Get a value
   curl http://localhost:18000/v1/transactions/test
  1. 验证HTTP REST API(端口18000)是否可用于KV操作

交易超时

如果事务超时:

  1. 增加 REQUEST_TIMEOUT.env
  2. 检查ResilientDB区块链状态
  3. 验证网络延迟

关键架构见解

服务分离

ResilientDB为不同的操作使用不同的服务:

  1. GraphQL服务器(端口8000)

- 目的:区块链资产交易 - 操作: getTransaction, postTransaction (含预付资产)

  1. HTTP/Crow服务器(端口18000)

- 用途:简单的键值存储 - 操作: get, set (通过REST API) - 终点: - POST /v1/transactions/commit (用于套装) - GET /v1/transactions/{key} (获取)

为什么这很重要

  • KV操作使用HTTP REST API (18000端口) set/get 运营
  • 资产交易使用GraphQL (端口8000),需要PrepareAsset格式
  • 端口号错误 (例如,9000而不是8000)将导致连接错误

参考文献

许可证

Apache 2.0许可证

作者

团队10-ECS 265项目

目录标签

目录标签

区块链PythonClaude本地部署GraphQLHTTPRESTAPI键值存储资产交易

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP