
Nostr MCP Server
一个模型上下文协议服务器,使像 Claude 这样的大型语言模型能够与 Nostr 社交网络互动,从而可以获取用户资料、文本消息和闪电网络支付信息。
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 网络交互的工具:
getProfile
: 通过公钥获取用户的个人资料信息getKind1Notes
: 获取用户撰写的文本笔记 (kind 1)getLongFormNotes
: 获取用户撰写的长篇内容 (kind 30023)getReceivedZaps
: 获取用户收到的 zaps,包括详细的支付信息getSentZaps
: 获取用户发送的 zaps,包括详细的支付信息getAllZaps
: 获取用户发送和接收的所有 zaps,清楚地标记方向和总额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
-
确保您已安装 Claude for Desktop 并更新到最新版本。
-
通过编辑或创建配置文件来配置 Claude for Desktop:
对于 macOS:
vim ~/Library/Application\ Support/Claude/claude_desktop_config.json
对于 Windows:
notepad %AppData%\Claude\claude_desktop_config.json
-
将 Nostr 服务器添加到您的配置中:
{ "mcpServers": { "nostr": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js" ] } } }
请务必将
/ABSOLUTE/PATH/TO/
替换为您的项目的实际路径。 -
重新启动 Claude for Desktop。
连接到 Cursor
-
确保您已安装 Cursor 并更新到最新版本。
-
通过创建或编辑配置文件来配置 Cursor:
对于 macOS:
vim ~/.cursor/config.json
对于 Windows:
notepad %USERPROFILE%\.cursor\config.json
-
将 Nostr 服务器添加到您的配置中:
{ "mcpServers": { "nostr": { "command": "node", "args": [ "/ABSOLUTE/PATH/TO/nostr-mcp-server/build/index.js" ] } } }
请务必将
/ABSOLUTE/PATH/TO/
替换为您的项目的实际路径。 -
重新启动 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
开发
要修改或扩展此服务器:
-
编辑项目根目录中的相关文件:
index.ts
: 主要服务器和工具注册zap-tools.ts
: 与 Zap 相关的功能(getSentZaps、getReceivedZaps、getAllZaps)nips-tools.ts
: NIPs 搜索功能
-
运行
npm run build
进行编译 -
重新启动 Claude for Desktop 或 Cursor 以获取您的更改
代码库被组织成模块:
- 核心服务器设置以及用于个人资料和笔记的工具位于
index.ts
中 - Zap 功能封装在
zap-tools.ts
中 - NIPs 搜索在
nips-tools.ts
中实现
这种分离使代码库更易于维护,并且更易于扩展新功能。
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。