小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
1
最近更新:1个月前

启用与基于 CosmWasm 的社交图谱智能合约的交互,通过区块链交易创建、更新、查询和删除去中心化关系数据。

Cyberlink MCP Server

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

功能

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

先决条件

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

安装和设置

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

集成配置

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

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

添加以下配置:

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. 构建项目:
bash 复制代码
npm run build
  1. 以开发模式启动服务器:
bash 复制代码
npm run dev

项目结构

复制代码
src/
├── index.ts             # 主入口点
├── cyberlink-service.ts # Cyberlink 和区块链操作
└── types.ts             # TypeScript 类型和模式

cursor_rules/
└── chat_history.mdc    # 聊天历史存储规则

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 - 分页查询所有 cyberlinks
  • mcp_cw_graph_query_named_cyberlinks - 查询所有命名的 cyberlinks
  • mcp_cw_graph_query_by_ids - 按其 ID 查询多个 cyberlinks

高级查询

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

系统查询

  • 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 IDs

钱包操作

  • 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. 叉仓库
  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 文件。