使用说明

项目简介

DVMCP Discovery Server 是一个基于 Model Context Protocol (MCP) 的服务器,它能够发现并聚合来自 Nostr 网络中 Data Vending Machines (DVMs) 提供的工具。它作为一个 MCP 服务器运行,允许 MCP 客户端连接并使用这些聚合的工具。

主要功能点

  • DVM 工具发现与注册: 自动监听 Nostr 网络,发现并注册来自 DVM 公告的 MCP 工具。
  • MCP 服务器功能: 作为一个标准的 MCP 服务器,对外提供工具列表查询和工具调用功能,符合 MCP 协议规范。
  • 工具聚合服务: 将来自不同 DVM 的工具进行整合,为 MCP 客户端提供统一的访问入口,简化工具管理和使用。
  • DVM 白名单: 支持配置 DVM 公钥白名单,仅聚合来自可信 DVM 的工具,增强系统的安全性和可信度。

安装步骤

  1. 安装 Bun: 确保您的系统已安装 Bun JavaScript 运行时环境。
  2. 克隆仓库: 使用 Git 克隆 DVMCP 仓库到本地:
    git clone https://github.com/gzuuus/dvmcp.git
  3. 进入 Discovery Server 目录: 导航到仓库中 Discovery Server 的包目录:
    cd dvmcp/packages/dvmcp-discovery
  4. 安装依赖: 使用 Bun 安装项目依赖:
    bun install

服务器配置

MCP 客户端需要配置连接 DVMCP Discovery Server 的命令。由于 DVMCP Discovery Server 本身就是一个 MCP 服务器,它需要通过命令行启动。以下是 MCP 客户端连接 DVMCP Discovery Server 时 servers 字段的配置示例:

{
  "servers": [
    {
      "name": "dvmcp-discovery-server",
      "command": "bun",
      "args": ["run", "index.js"]
    }
  ]
}

配置参数说明:

  • 'name': MCP 服务器的名称,您可以自定义设置,用于在客户端配置中标识不同的服务器连接。
  • 'command': 启动 MCP 服务器的命令。对于 DVMCP Discovery Server,通常使用 'bun' 命令来运行 'index.js' 文件,这是 Discovery Server 的入口文件。
  • 'args': 传递给启动命令的参数。这里 '["run", "index.js"]' 指示 Bun 运行当前目录下的 'index.js' 文件。

注意: MCP 客户端配置中,不需要 配置 Nostr 私钥、Relay URLs 和 DVM 白名单等信息。这些配置是 DVMCP Discovery Server 自身运行所需要的配置,需要在 'dvmcp-discovery/config.yml' 文件中进行配置。

基本使用方法

  1. 配置 Discovery Server:
    • 修改 'dvmcp/packages/dvmcp-discovery' 目录下的 'config.yml' 文件,配置 Nostr 私钥 ('nostr.privateKey')、Relay 服务器地址 ('nostr.relayUrls') 以及可选的 DVM 公钥白名单 ('whitelist.allowedDVMs')。
  2. 启动 Discovery Server:
    • 在 'dvmcp/packages/dvmcp-discovery' 目录下,运行以下命令启动 Discovery Server:
      npx @dvmcp/discovery
      或者使用 Bun 直接运行:
      bun run index.js
  3. 配置 MCP 客户端:
    • 在您的 MCP 客户端应用中,配置连接 MCP 服务器的信息。根据上述 服务器配置 示例,配置连接到 DVMCP Discovery Server 的命令。
  4. 使用 MCP 客户端:
    • 启动您的 MCP 客户端应用,客户端将连接到 DVMCP Discovery Server。
    • 客户端可以查询 Discovery Server 聚合的工具列表,并调用这些工具执行相应的操作。工具的输入参数和返回结果将遵循 MCP 协议规范。

通过以上步骤,您就可以搭建并使用 DVMCP Discovery Server,利用其工具聚合能力为您的 MCP 客户端应用提供丰富的工具服务。

信息

分类

开发者工具