使用说明
项目简介
Nostr MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型 (LLM) 提供与去中心化社交网络 Nostr 互动的能力。通过此服务器,LLM 可以访问 Nostr 网络中的用户资料、文本内容和闪电支付 (Zaps) 信息,从而扩展 LLM 的应用场景,使其能够感知和利用实时的社交网络数据。
主要功能点
- 获取用户资料 (getProfile): 根据用户公钥(支持 npub 和 hex 格式)查询并返回用户的 Nostr 个人资料信息,包括姓名、简介、头像等。
- 获取用户帖子 (getKind1Notes): 检索指定用户公钥发布的文本帖子 (kind 1 notes),可自定义返回数量。
- 获取收到的闪电支付 (getReceivedZaps): 查询指定用户公钥收到的闪电支付 (Zaps),包括支付详情和总额。
- 获取发出的闪电支付 (getSentZaps): 查询指定用户公钥发出的闪电支付 (Zaps),包括支付详情和总额。
- 获取所有闪电支付 (getAllZaps): 综合查询指定用户公钥发出和收到的所有闪电支付 (Zaps),并清晰标记支付方向和统计总额。
- 支持 npub 和 hex 公钥格式: 所有工具均接受 npub 和 hex 两种格式的 Nostr 公钥,方便用户使用。
- 可指定 Relays: 允许用户在查询时指定自定义的 Nostr Relays 服务器,以扩展数据来源或优化查询效率。
- Zap 支付信息详细展示: 对于闪电支付信息,服务器会解析 bolt11 发票,提取支付金额等详细信息,并进行友好展示。
- Zap 收据验证 (可选): 支持根据 NIP-57 标准验证 Zap 收据的有效性 (可选)。
安装步骤
-
克隆仓库:
git clone https://github.com/AustinKelsay/nostr-mcp-server.git cd nostr-mcp-server -
安装依赖:
npm install -
构建项目:
npm run build
服务器配置
要将 Nostr MCP Server 连接到 MCP 客户端(例如 Claude for Desktop),您需要配置客户端的 MCP 服务器设置。以下是 Claude for Desktop 的配置示例,您需要编辑或创建 Claude 的配置文件 'claude_desktop_config.json',并添加如下 'mcpServers' 配置:
配置文件路径:
- macOS: '~/Library/Application\ Support/Claude/claude_desktop_config.json'
- Windows: '%AppData%\Claude\claude_desktop_config.json'
配置内容 (JSON 格式):
{ "mcpServers": { "nostr": { // 服务器名称,可以自定义,例如 "nostr" "command": "node", // 启动服务器的命令,这里使用 Node.js 解释器 "args": [ "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js" // 服务器程序入口文件的绝对路径 ] } } }
配置参数说明:
- '"nostr"': 服务器名称,在 Claude 中引用该服务器时使用。您可以自定义名称。
- '"command": "node"': 指定用于启动服务器的命令,这里假设您已安装 Node.js 并将其添加到系统 PATH 环境变量中。
- '"args": [...]"': 启动服务器命令的参数列表。
- '"/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js"': 请务必替换为 'nostr-mcp-server' 项目 'build/index.js' 文件的实际绝对路径。 您需要根据您的项目存放位置修改此路径。
配置完成后,重启 Claude for Desktop 使配置生效。
基本使用方法
配置完成后,您可以在 Claude 中通过自然语言指令调用 Nostr 工具。以下是一些示例:
- 查询用户资料:
Show me the profile information for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 - 查询用户最近的帖子:
What are the recent posts from npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8? - 查询用户收到的闪电支付数量:
How many zaps has npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 received? - 查询用户发出的闪电支付:
Show me the zaps sent by npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 - 查询用户所有闪电支付 (收发):
Show me all zaps (both sent and received) for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
高级用法:
- 指定 Relays 服务器: 可以在查询指令中指定自定义的 Relays 服务器,例如:
Show me the profile for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 using relay wss://relay.damus.io - 指定返回数量: 可以指定要获取的帖子或闪电支付的数量,例如:
Show me the latest 20 notes from npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 - 启用 Zap 验证和调试: 对于闪电支付查询,可以启用额外的验证和调试信息,例如:
Show me all zaps for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 with validation and debug enabled
注意: 服务器默认使用一组预定义的公共 Relays 服务器。如果查询超时或无结果,可以尝试指定其他 Relays 或检查网络连接。
信息
分类
通信与社交