M

MCP-CW图

@dasein108/mcp-cw-graph
0 Stars 175 次浏览 dasein108 更新于 2026-08-23

一个模型上下文协议服务器,通过与 Cursor IDE 和 Claude Desktop 的集成,在基于 Cosmos 的区块链上创建、更新和查询语义关系(网络链接)。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "cw-graph": {
      "args": [
        "PATH_TO_YOUR_PROJECT/dist/index.js"
      ],
      "command": "node",
      "env": {
        "CONTRACT_ADDRESS": "your contract address",
        "DENOM": "stake",
        "NODE_URL": "http://localhost:26657",
        "WALLET_MNEMONIC": "your wallet mnemonic phrase"
      }
    }
  }
}

服务介绍

Cyberlink MCP 服务器

这是一个用于与基于 Cosmos 区块链上的 CW-Social 智能合约交互的 Model Context Protocol (MCP) 服务器。该服务器提供了一个标准化接口,用于创建、更新和查询 cyberlinks - 区块链上实体之间的语义关系。

功能

  • 完整的 CRUD 操作支持 cyberlinks
  • 命名 cyberlink 支持
  • 批量操作
  • 强大的查询能力
  • 交易状态跟踪
  • 输入验证
  • 错误处理
  • 与 Cursor IDE 和 Claude Desktop 集成

先决条件

  • Node.js 16+
  • npm 或 yarn
  • 访问 Cosmos 区块链节点
  • 用于交易的资金钱包
  • 已安装 Cursor IDE
  • 已安装 Claude Desktop

安装与设置

  1. 克隆仓库:
git clone https://github.com/your-org/cw-social-mcp.git
cd cw-social-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

集成配置

Cursor IDE 和 Claude Desktop 使用相同的 MCP 配置格式。创建或编辑配置文件:

  • 对于 Cursor: ~/.cursor/mcp.json

添加以下配置:

{
    "mcpServers": {
        "cw-graph": {
        "command": "node",
        "args": ["PATH_TO_YOUR_PROJECT/dist/index.js"],
        "env": {
            "NODE_URL": "http://localhost:26657",
            "WALLET_MNEMONIC": "your wallet mnemonic phrase",
            "CONTRACT_ADDRESS": "your contract address",
            "DENOM": "stake"
            }
        }
    }
}

替换以下值:

  • PATH_TO_YOUR_PROJECT: 您的 cw-social-mcp 项目的绝对路径
  • NODE_URL: 您的 Cosmos 节点 URL
  • WALLET_MNEMONIC: 您钱包的助记词
  • CONTRACT_ADDRESS: 您部署的合约地址
  • DENOM: (可选) 代币面额,默认为 'stake'

配置使用 stdio 格式进行 MCP 服务器与客户端(Cursor/Claude Desktop)之间的通信。

验证

  1. 配置后重新启动 Cursor IDE 或 Claude Desktop
  2. 应该可用的工具如下:
    • create_cyberlink
    • create_named_cyberlink
    • create_cyberlinks
    • update_cyberlink
    • delete_cyberlink
    • query_cyberlinks
    • query_named_cyberlinks
    • query_cyberlinks_by_owner
    • query_config
    • query_wallet_balance
    • send_tokens

开发

  1. 构建项目:
npm run build
  1. 在开发模式下启动服务器:
npm run dev

项目结构

src/
├── index.ts             # Main entry point
├── cyberlink-service.ts # Cyberlink and blockchain operations
└── types.ts             # TypeScript types and schemas

cursor_rules/
└── chat_history.mdc    # Rules for chat history storage

Cursor 规则

该项目包括定义特定功能行为的 cursor 规则:

  • 聊天历史存储:定义系统内如何存储和管理聊天历史记录的规则。这些规则确保了 MCP 服务器中对话数据的一致性处理。

将规则复制到 ./cursor/rules 目录

MCP 工具

创建与修改

  • mcp_cw_graph_create_cyberlink - 创建一个新的 cyberlink
  • mcp_cw_graph_create_named_cyberlink - 创建一个带有标识符的命名 cyberlink
  • mcp_cw_graph_create_cyberlinks - 批量创建多个 cyberlinks
  • mcp_cw_graph_update_cyberlink - 通过 ID 更新现有的 cyberlink
  • mcp_cw_graph_delete_cyberlink - 通过 ID 删除一个 cyberlink

基本查询

  • mcp_cw_graph_query_by_id - 通过数字ID查询单个cyberlink
  • mcp_cw_graph_query_by_formatted_id - 通过格式化ID查询cyberlink
  • mcp_cw_graph_query_cyberlinks - 分页查询所有cyberlink
  • mcp_cw_graph_query_named_cyberlinks - 查询所有命名的cyberlink
  • mcp_cw_graph_query_by_ids - 通过多个ID查询多个cyberlink

高级查询

  • mcp_cw_graph_query_by_owner - 通过所有者地址查询cyberlink
  • mcp_cw_graph_query_by_time_range - 通过创建时间范围查询cyberlink
  • mcp_cw_graph_query_by_time_range_any - 通过创建或更新时间范围查询cyberlink

系统查询

  • mcp_cw_graph_query_last_id - 获取最后分配的cyberlink ID
  • mcp_cw_graph_query_config - 查询合约配置
  • mcp_cw_graph_query_debug_state - 查询合约调试状态(仅管理员可用)
  • mcp_cw_graph_get_tx_status - 检查交易状态并获取cyberlink ID

钱包操作

  • mcp_cw_graph_query_wallet_balance - 获取钱包地址和代币余额
  • mcp_cw_graph_send_tokens - 向另一个钱包地址发送代币

查询参数

时间范围查询

  • owner - 用于过滤的所有者地址
  • start_time - 开始时间(以纳秒为单位,Uint64,可以作为字符串或数字传递)
  • end_time - 可选的结束时间(以纳秒为单位,Uint64,可以作为字符串或数字传递)
  • start_after - 可选的分页游标(Uint64,可以作为字符串或数字传递)
  • limit - 可选的结果限制(默认:50)

分页

大多数查询端点支持以下分页:

  • start_after - 下一页的游标(Uint64,可以作为字符串或数字传递)
  • limit - 返回的最大结果数

数据类型

  • 时间戳:所有时间戳字段使用Uint64格式(自Unix纪元以来的纳秒)
    • 可以作为字符串传递以保持大数值的精度
    • 也接受数字格式以向后兼容
    • 示例:"1683900000000000000"(字符串)或1683900000000000000(数字)

错误处理

服务器使用MCP协议的标准错误代码:

  • InvalidParams - 无效的输入参数
  • MethodNotFound - 未知的工具名称
  • InternalError - 区块链或服务器错误

贡献

  1. Fork仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 推送到该分支 (git push origin feature/amazing-feature)
  5. 打开一个Pull Request

许可证

该项目根据MIT许可证发布 - 详情请参阅LICENSE文件。

相关 MCP 服务