Nostrdb MCP Server 使用说明

项目简介

Nostrdb MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在桥接大型语言模型 (LLM) 和 Nostr 社交网络协议。它允许 LLM 通过调用预定义的工具,使用 'ndb' 命令行工具查询本地 Nostr 数据库,从而为 LLM 应用提供访问 Nostr 网络数据的能力。

主要功能点

  • 工具注册与执行: 提供了 'ndb_stat' 和 'ndb_query' 两个工具,允许 LLM 获取 Nostr 数据库统计信息和执行自定义查询。
  • 本地 Nostr 数据访问: 默认配置下,服务器使用 'notedeck' 应用的 Nostr 数据库,可以直接访问用户已同步的 Nostr 数据。
  • 标准 MCP 协议: 遵循 MCP 协议规范,通过 JSON-RPC 和 Stdio 进行通信,易于与各种 MCP 客户端集成。

安装步骤

  1. 安装 'ndb' 命令行工具:
    • 确保你的系统已安装 'ndb'。如果未安装,请参考 nostrdb 仓库 的指引,通过 'make ndb' 命令编译并将其添加到你的系统 PATH 环境变量中。
  2. 安装 'nostrdb-mcp':
    • 确保你的系统已安装 Node.js 和 npm。
    • 打开终端,执行以下命令全局安装 'nostrdb-mcp':
      npm install -g nostrdb-mcp
    • 或者,你也可以选择不全局安装,而是使用 'npx nostrdb-mcp' 的方式运行服务器。

服务器配置

MCP 客户端需要配置以下信息以连接到 Nostrdb MCP Server。以下是 JSON 格式的配置示例,请根据你的实际情况进行配置:

{
  "serverName": "nostrdb-server",  // MCP 服务器名称,与代码中定义一致
  "command": "nostrdb-mcp",      // 启动服务器的命令,假设 nostrdb-mcp 已全局安装,或者使用 "npx nostrdb-mcp" 如果选择本地安装
  "args": []                     // 启动命令参数,本项目无需额外参数
}

配置参数说明:

  • 'serverName': 服务器的名称,由 'nostrdb-mcp' 代码预定义,客户端用以识别。
  • 'command': 启动 'nostrdb-mcp' 服务器的命令。如果全局安装,直接使用 'nostrdb-mcp'。如果本地安装或使用 'npx',则可能需要指定更完整的路径或使用 'npx nostrdb-mcp'。
  • 'args': 传递给启动命令的参数。对于 'nostrdb-mcp' 而言,目前不需要额外的启动参数。

注意:

  • 确保 'ndb' 命令在你的系统 PATH 中可用,否则 'nostrdb-mcp' 服务器将无法正常执行 'ndb' 命令。
  • 默认情况下,服务器会使用用户 'notedeck' 应用的数据库目录。如果你的 'notedeck' 数据库位于非默认位置,或者你想使用其他 'ndb' 数据库,可能需要修改 'index.js' 中的默认数据库路径配置。

基本使用方法

  1. 启动 MCP 客户端: 你需要使用一个兼容 MCP 协议的客户端,例如 Goose (如 README 中提及)。
  2. 配置 MCP 客户端: 在 MCP 客户端中,按照其配置说明添加一个新的 MCP 服务器连接,并使用上面提供的服务器配置 JSON。
  3. 连接到 Nostrdb MCP Server: 启动 MCP 客户端并连接到已配置的 'nostrdb-server'。
  4. 调用工具: 在 MCP 客户端中,你可以列出 'nostrdb-server' 提供的工具 ('ndb_stat', 'ndb_query'),并根据工具的 'inputSchema' 构造请求参数,调用这些工具来查询 Nostr 数据。例如,你可以调用 'ndb_query' 工具并传入 'limit' 和 'search' 参数来搜索 Nostr 数据库中的内容。
  5. 查看结果: 工具执行的结果将以 JSON 格式返回给 MCP 客户端,你可以在客户端界面中查看和使用这些数据。

通过以上步骤,你就可以使用 Nostrdb MCP Server 将 LLM 连接到 Nostr 网络,实现基于 Nostr 数据的智能应用。

信息

分类

数据库与文件