Nostr MCP Server

Nostr MCP Server

一个模型上下文协议服务器,使像 Claude 这样的大型语言模型能够与 Nostr 社交网络互动,从而可以获取用户资料、文本消息和闪电网络支付信息。

Category
访问服务器

Tools

getProfile

Get a Nostr profile by public key

getKind1Notes

Get text notes (kind 1) by public key

getReceivedZaps

Get zaps received by a public key

getSentZaps

Get zaps sent by a public key

getAllZaps

Get all zaps (sent and received) for a public key

README

Nostr MCP 服务器

一个模型上下文协议 (MCP) 服务器,为 Claude 等 LLM 提供 Nostr 功能。

https://github.com/user-attachments/assets/1d2d47d0-c61b-44e2-85be-5985d2a81c64

功能

此服务器实现了七个用于与 Nostr 网络交互的工具:

  1. getProfile: 通过公钥获取用户的个人资料信息
  2. getKind1Notes: 获取用户撰写的文本笔记 (kind 1)
  3. getLongFormNotes: 获取用户撰写的长篇内容 (kind 30023)
  4. getReceivedZaps: 获取用户收到的 zaps,包括详细的支付信息
  5. getSentZaps: 获取用户发送的 zaps,包括详细的支付信息
  6. getAllZaps: 获取用户发送和接收的所有 zaps,清楚地标记方向和总额
  7. searchNips: 搜索 Nostr Implementation Possibilities (NIPs),并进行相关性评分

所有工具都完全支持十六进制公钥和 npub 格式,并以用户友好的方式显示 Nostr 标识符。

安装

# 克隆仓库
git clone https://github.com/austinkelsay/nostr-mcp-server.git
cd nostr-mcp-server

# 安装依赖
npm install

# 构建项目
npm run build

连接到 Claude for Desktop

  1. 确保您已安装 Claude for Desktop 并更新到最新版本。

  2. 通过编辑或创建配置文件来配置 Claude for Desktop:

    对于 macOS:

    vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
    

    对于 Windows:

    notepad %AppData%\Claude\claude_desktop_config.json
    
  3. 将 Nostr 服务器添加到您的配置中:

    {
        "mcpServers": {
            "nostr": {
                "command": "node",
                "args": [
                    "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js"
                ]
            }
        }
    }
    

    请务必将 /ABSOLUTE/PATH/TO/ 替换为您的项目的实际路径。

  4. 重新启动 Claude for Desktop。

连接到 Cursor

  1. 确保您已安装 Cursor 并更新到最新版本。

  2. 通过创建或编辑配置文件来配置 Cursor:

    对于 macOS:

    vim ~/.cursor/config.json
    

    对于 Windows:

    notepad %USERPROFILE%\.cursor\config.json
    
  3. 将 Nostr 服务器添加到您的配置中:

    {
        "mcpServers": {
            "nostr": {
                "command": "node",
                "args": [
                    "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js"
                ]
            }
        }
    }
    

    请务必将 /ABSOLUTE/PATH/TO/ 替换为您的项目的实际路径。

  4. 重新启动 Cursor。

在 Claude 中使用

配置完成后,您可以向 Claude 发出如下请求来使用 Nostr 工具:

  • "Show me the profile information for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 的个人资料信息)
  • "What are the recent posts from npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8?" (npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 最近的帖子是什么?)
  • "Show me the long-form articles from npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 的长篇文章)
  • "How many zaps has npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 received?" (npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 收到了多少 zaps?)
  • "Show me the zaps sent by npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 发送的 zaps)
  • "Show me all zaps (both sent and received) for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 的所有 zaps(发送和接收))
  • "Search for NIPs about zaps" (搜索关于 zaps 的 NIPs)
  • "What NIPs are related to long-form content?" (哪些 NIPs 与长篇内容相关?)
  • "Show me NIP-23 with full content" (显示包含完整内容的 NIP-23)

服务器会自动处理 npub 和十六进制格式之间的转换,因此您可以在查询中使用任一格式。 结果以用户友好的 npub 标识符显示。

高级用法

您可以为任何查询指定自定义 relay:

  • "Show me the profile for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 using relay wss://relay.damus.io" (使用 relay wss://relay.damus.io 显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 的个人资料)

您还可以指定要获取的笔记或 zaps 的数量:

  • "Show me the latest 20 notes from npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 最新的 20 条笔记)

对于 zap 查询,您可以启用额外的验证和调试:

  • "Show me all zaps for npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 with validation and debug enabled" (显示 npub1qny3tkh0acurzla8x3zy4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 的所有 zaps,并启用验证和调试)

对于 NIP 搜索,您可以控制结果数量并包含完整内容:

  • "Search for NIPs about zaps with full content" (搜索关于 zaps 的 NIPs,并包含完整内容)
  • "Show me the top 5 NIPs about relays" (显示关于 relays 的前 5 个 NIPs)
  • "What NIPs are related to encryption? Show me 15 results" (哪些 NIPs 与加密相关? 显示 15 个结果)

局限性

  • 服务器对查询具有默认的 8 秒超时,以防止挂起
  • 仅支持十六进制格式或 npub 格式的公钥
  • 默认情况下仅使用一部分 relays

实现细节

  • 使用 NIP-19 编码/解码对 npub 格式的本机支持
  • 符合 NIP-57 标准的 zap 收据检测,具有方向感知(发送/接收/自我)
  • 具有支付金额提取的高级 bolt11 发票解析
  • 智能缓存系统,用于提高大量 zaps 的性能
  • 发送/接收/自我 zaps 的总 sats 计算,具有净余额
  • 可选的 NIP-57 验证,用于确保 zap 收据的完整性
  • 每个工具调用都会创建一个与 relays 的新连接,从而确保可靠的数据检索

故障排除

  • 如果查询超时,请尝试增加源代码中的 QUERY_TIMEOUT 值(当前为 8 秒)
  • 如果未找到数据,请尝试指定可能具有数据的不同 relays
  • 检查 Claude 的 MCP 日志以获取详细的错误信息

默认 Relays

服务器默认使用以下 relays:

  • wss://relay.damus.io
  • wss://relay.nostr.band
  • wss://relay.primal.net
  • wss://nos.lol
  • wss://relay.current.fyi
  • wss://nostr.bitcoiner.social

开发

要修改或扩展此服务器:

  1. 编辑项目根目录中的相关文件:

    • index.ts: 主要服务器和工具注册
    • zap-tools.ts: 与 Zap 相关的功能(getSentZaps、getReceivedZaps、getAllZaps)
    • nips-tools.ts: NIPs 搜索功能
  2. 运行 npm run build 进行编译

  3. 重新启动 Claude for Desktop 或 Cursor 以获取您的更改

代码库被组织成模块:

  • 核心服务器设置以及用于个人资料和笔记的工具位于 index.ts
  • Zap 功能封装在 zap-tools.ts
  • NIPs 搜索在 nips-tools.ts 中实现

这种分离使代码库更易于维护,并且更易于扩展新功能。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选