article
README
🚀 无壳 Nostr MCP 服务器
无壳 Nostr MCP 服务器是一个为像 Claude 这样的大型语言模型(LLM)提供 Nostr 功能的 Model Context Protocol (MCP) 服务器,能助力大型语言模型更好地与 Nostr 网络进行交互。
✨ 主要特性
此服务器实现了与 Nostr 网络交互的七种工具:
getProfile:通过公钥获取用户的资料信息。getKind1Notes:获取用户创作的文本笔记(类型 1)。getLongFormNotes:获取用户创作的长篇内容(类型 30023)。getSentZaps:获取用户发出的 zap 记录。getReceivedZaps:获取用户收到的 zap 记录。getAllZaps:获取用户的全部 zap 记录(包括发送、接收和自我 zap)。searchNIPs:搜索与特定主题相关的 Nostr 改进协议(NIP)。
服务器支持 npub 格式,并自动处理 npub 与公钥之间的转换,查询结果会以用户友好的 npub 标识符显示。
📦 安装指南
- 克隆仓库:
git clone https://github.com/yourusername/nostr-mcp-server.git cd nostr-mcp-server - 安装依赖:
npm install - 启动服务器:
npm run start
💻 使用示例
基础用法
# 获取用户资料
Show me the profile for npub1qny3tkh0acurjx9n9hr4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
# 获取最新笔记
Show me the latest 20 notes from npub1qny3tkh0acurjx9n9hr4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8
# 获取 zap 记录
Show me all zaps for npub1qny3tkh0acurjx9n9hr4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 with validation and debug enabled
# 搜索 NIP
Search for NIPs about zaps with full content
高级用法
# 指定自定义中继
Show me the profile for npub1qny3tkh0acurjx9n9hr4nhrjz5zd8ne6dvrjehx9n9hr3lnj08qwuzwc8 using relay wss://relay.damus.io
# 控制返回结果数量
Show me the top 5 NIPs about relays
🔧 技术细节
- 原生支持 npub 格式,符合 NIP - 19 编码/解码规范。
- 遵循 NIP - 57 标准的 zap 收据检测,具备方向感知(发送/接收/自我)。
- 高级 bolt11 发票解析,支持支付金额提取。
- 智能缓存系统,提升大数据量下的性能表现。
- 总萨特计算,统计发送、接收和净余额。
- 可选 NIP - 57 验证,确保 zap 收据的完整性。
📚 详细文档
限制说明
- 查询默认超时时间为 8 秒,防止长时间无响应。
- 仅支持公钥的十六进制格式或 npub 格式。
- 默认使用部分中继节点。
开发指南
-
修改或扩展服务器功能,请编辑项目根目录下的相关文件:
index.ts:主服务器及工具注册。zap - tools.ts:zap 相关功能(如 getSentZaps、getReceivedZaps、getAllZaps)。nips - tools.ts:NIPs 搜索功能实现。
-
编译代码:
npm run build -
重启 Claude 的 MCP 服务,加载最新更改。
代码库按模块组织:
- 核心服务器设置和资料、笔记相关工具位于
index.ts。 - zap 功能在
zap - tools.ts中封装。 - NIPs 搜索实现于
nips - tools.ts。
这种模块化结构使代码更易维护,并便于添加新功能。
扫码联系在线客服