Token导航 LogoToken导航TokenDH.com
Rust Nostr MCP logo
文档知识stdio官方级别未说明来源级核验

Rust Nostr MCP

MCP Server

@anthropics/mcp-inspector

Nostr MCP 服务器是一个允许AI助手(如Goose、Claude Desktop、VS Code等)读写Nostr协议数据的服务,支持发布、浏览、对话、通知、文章管理、Zap、DM等多种功能。

工具数

23

提示词数

0

GitHub Stars

0

资源数

0
RustClaude文档处理Claude DesktopClaudeVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

tami1A84

提供方

tami1A84

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @anthropics/mcp-inspector cargo run

详细介绍

Nostr MCP服务器

是能从AI助手(Goose,Claude Desktop,VS Code等)读写Nostr的MCP服务器。

能做的事

  • 投稿 -将注释和长篇文章发布到Nostr
  • 阅覧 -获取时间轴、查找注释和查看基本信息
  • 会話 -浏览、回复、回应(不错)
  • 通知 -确认对自己的成员和反应
  • 记事管理 -保存和获取长篇文章的投稿和草稿
  • 扎普 - Lightning Zapの送受信(NWC设定が必要)
  • 数字营销 -发送和接收加密直接消息
  • 媒体上传 -向Blossom服务器上传视频音频文件(NIP-B7)
  • 远程控制 -使用移动钱包签名,而不将私钥放在服务器上
  • 富用户界面 -在支持MCP Apps的客户端交互显示笔记本卡、文章预览、Zap按钮等

私钥保存在本地,不会传递给AI。使用NIP-46的话,也可以在服务器上完全不保存秘密密钥的运用。

安装,安装

1.构建

git clone https://github.com/tami1A84/rust-nostr-mcp.git
cd rust-nostr-mcp
cargo build --release
如果未安装运行 rustup.rs 对较大场景进行渲染期间已观察到该故障。

2.注册MCP客户端

~/.config/goose/config.yaml 添加到:

extensions:
  nostr:
    name: nostr
    type: stdio
    enabled: true
    cmd: /path/to/rust-nostr-mcp/target/release/nostr-mcp-server

克劳德桌面版

claude_desktop_config.json 添加到:

{
  "mcpServers": {
    "nostr": {
      "command": "/path/to/rust-nostr-mcp/target/release/nostr-mcp-server"
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json

VS Code

.vscode/settings.json 或从VS Code的设置中添加MCP服务器。

/path/to/ 请用实际路径替换。

3.设置私钥(想投稿时)

首次启动时 ~/.config/rust-nostr-mcp/config.json 将条目添加到文档注册表。 要使用帖子功能,请在此文件中添加私钥:

{
  "relays": {
    "wss://relay.damus.io": { "read": true, "write": true, "search": false },
    "wss://nos.lol": { "read": true, "write": true, "search": false },
    "wss://relay.nostr.band": { "read": true, "write": true, "search": true }
  },
  "privatekey": "nsec1ここにあなたの秘密鍵を入れてください"
}

即使没有私钥也可以使用阅览功能(时间线、检索、简介)。

4.NIP-46远程扫描设置(可选)

不在服务器上保存私钥,而是用移动钱包(Primal、Amber等)签名的方式。

方式A:QR码连接(推荐)

auth-modenip46 设置为:

{
  "relays": { ... },
  "auth-mode": "nip46",
  "nip46-relays": ["wss://relay.nsec.app", "wss://relay.damus.io"]
}

如果对AI助手说“连接Nostr”,就会显示二维码。只要用移动钱包扫描连接就完成了。

方式B:Bunker URI连接

从钱包获取的 bunker:// 设置URI:

{
  "relays": { ... },
  "auth-mode": "bunker",
  "bunker-uri": "bunker://?relay=wss://relay.damus.io&secret="
}

5.NWC的设置(想要发送Zap时)

若要发送Lightning Zap,请设定NWC URI:

{
  "relays": { ... },
  "privatekey": "nsec1...",
  "nwc-uri": "nostr+walletconnect://..."
}

NWC URI可从Lightning Wallet(Alby、Mutiny Wallet等)中获取。

6.设置Blossom服务器(如果要上传介质)

单击功能区上blossom-servers 请设置:

{
  "relays": { ... },
  "privatekey": "nsec1...",
  "blossom-servers": ["https://blossom.primal.net"]
}

默认情况下不设置 blossom.primal.net 将条目添加到文档注册表。set_blossom_servers 也可以用工具作为Kind10063事件在Nostr上公开。

关于MCP Apps(富UI)

MCP Apps(SEP-1865)是MCP的官方扩展规格,将工具执行结果作为交互式UI显示在聊天中。本服务器提供以下5个UI组件。

提供的用户界面组件

组件|说明|对应工具| |---|---|---| | 笔记本卡 丰富注释(媒体嵌入、反应数等) get_nostr_timeline, search_nostr_notes, get_nostr_thread | | 文章预览 |长篇文章的Markdown预览(标题图像、字计数等)| get_nostr_articles, get_nostr_drafts | | 简档卡 |虚拟形象、横幅、NIP-05认证、跟踪数等的结构化显示| get_nostr_profile | | Zap按钮 带金额选择注释的Lightning Zap UI send_zap, get_zap_receipts | | 二维码连接画面 NIP-46远程控制的QR码显示、连接状态管理 nostr_connect, nostr_connect_status |

支持的MCP客户端

可在以下客户端使用MCP Apps:

  • (v1.19.0+)-Block公司的AI代理
  • 克劳德桌面版 -Anthropic官方桌面应用程序
  • VS Code (Insiders)-微软代码编辑器
  • ChatGPT -OpenAI聊天客户端

即使是不支持MCP Apps的客户端,所有工具也会以无UI的文本形式正常运行。用户界面作为渐进式增强(仅在适用环境中显示为富集)提供。

工作原理

  1. 如果MCP客户机 initialize 有时 io.modelcontextprotocol/ui 声明扩展支持
  2. 服务器在工具定义中 _meta.ui.resourceUri 选项卡页面上创建或编辑条目ui:// 注册资源
  3. 工具运行时,客户机 ui:// 获取资源的HTML
  4. 在沙箱iframe中渲染HTML
  5. iframe中的JavaScript postMessage +JSON-RPC与主机双向通信

使用方法

只需和AI助手搭话即可使用:

想做的事 |---|---| 查看时间轴查看Nostr的时间轴 发布注释:向Nostr发布“早上好” 查找注释:在Nostr中查找比特币 查看简介“请告诉我npub1…的简介” 查看线程查看此注释中的线程 “请回复这个笔记本‘谢谢!’” “对这个笔记本好” 确认通知|“确认Nostr的通知”| 写长篇文章“把这个内容作为Nostr的长篇文章投稿” 保存草稿 发送,发送 发送DM“向npub1…DM说‘你好’” 通过NIP-46连接(显示二维码) 确认继电器列表“请告诉我npub1…的继电器列表” 上传图像:将此图像上传到Blossom 查看Blossom服务器“让我看看自己的Blossom服务器列表”

工具列表

基本工具

|工具名称|说明|私钥| |---|---|---| | get_nostr_timeline 获取时间轴|不需要| | search_nostr_notes |查找注释(NIP-50)|不需要| | get_nostr_profile 获取基本信息 | post_nostr_note 发布注释

记事管理(NIP-23)

|工具名称|说明|私钥| |---|---|---| | get_nostr_articles 获取长篇文章 | post_nostr_article 需要投稿长篇文章 | save_nostr_draft 需要保存草稿 | get_nostr_drafts 需要获取草稿

会話・通知(NIP-10 / NIP-25)

|工具名称|说明|私钥| |---|---|---| | get_nostr_thread 获取线程(回复树)|不需要| | get_nostr_notifications |获取通知|必需| | reply_to_note 需要回复注释 | react_to_note 需要发送反应

Zap(NIP-57)

工具名称|说明|必要设置| |---|---|---| | send_zap | Lightning Zap を送信 | 秘密鍵 + NWC | | get_zap_receipts 获取Zap收据

直接消息(NIP-04)

|工具名称|说明|私钥| |---|---|---| | send_dm |发送加密DM|必需| | get_dms 获取/解密DM对话

继电器管理(NIP-65)

|工具名称|说明|私钥| |---|---|---| | get_relay_list |获取继电器列表|不需要|

介质上传(NIP-B7 Blossom)

|工具名称|说明|私钥| |---|---|---| | upload_media 需要将介质文件上载到Blossom服务器(BUD-02) | get_blossom_servers 获取用户的Blossom服务器列表(Kind10063) | set_blossom_servers 需要发布Blossom服务器列表(Kind10063)

远程控制(NIP-46)

|工具名称|说明|私钥| |---|---|---| | nostr_connect 启动NIP-46连接并显示二维码 | nostr_connect_status |确认遥控器的连接状态|不需要| | nostr_disconnect |断开与遥控器的连接|不需要|

配置参考

配置文件位置

~/.config/rust-nostr-mcp/config.json

设定形式(algia互换)

{
  "relays": {
    "wss://relay.damus.io": {
      "read": true,
      "write": true,
      "search": false
    },
    "wss://relay.nostr.band": {
      "read": true,
      "write": true,
      "search": true
    }
  },
  "privatekey": "nsec1...",
  "auth-mode": "local",
  "bunker-uri": "bunker://...",
  "nip46-relays": ["wss://relay.nsec.app"],
  "nwc-uri": "nostr+walletconnect://...",
  "blossom-servers": ["https://blossom.primal.net"]
}

设定项目

|项目|说明|默认| |---|---|---| | relays |继电器的连接设置(read/write/search)|5个默认继电器| | privatekey |nsec格式的私钥|无(只读)| | auth-mode |认证模式: local / nip46 / bunker | local | | bunker-uri |nip-46掩体://种类|破裂”| | nip46-relays |NIP-46通信继电器| relay.nsec.app, relay.damus.io | | nwc-uri 无节点Wallet Connect URI(Zap用) | blossom-servers 蓝光服务器URL列表(用于媒体上传) blossom.primal.net |

环境变量(替代配置文件)

环境变数说明
NSEC / NOSTR_SECRET_KEY秘密鍵
NOSTR_RELAYS |继电器URL(逗号分隔)|
NOSTR_SEARCH_RELAYS |检索用继电器URL(逗号分隔)|

NIP支持

NIP说明状态

|NIP-01|基本协议|已实现| |NIP-02|联系人列表|已实施| |NIP-04|加密DM|已实现| |NIP-05|DNS验证|已安装| |NIP-10|回复线程|已实施| 已实现 |NIP-23|长句内容|已实施| NIP-25|反应|已实施| NIP-27:参考/已实现 NIP-46(远程控制) | NIP-47 | Nostr Wallet Connect | 実装済み | |NIP-50|搜索|已实施| 已实施 |NIP-65|继电器列表|已安装| 已实现

故障排除

“在只读模式下无法执行此操作。”~/.config/rust-nostr-mcp/config.json 中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长。

连接超时 →请确认网络连接。最多等待10秒的继电器响应。

未返回搜索结果 →并不是所有的继电器都支持搜索。relay.nostr.band 在工作空间的边缘 "search": true 中所述修改相应参数的值。

未显示NIP-46的二维码 →请使用支持MCP Apps的客户端(Goose v1.19.0+、Claude Desktop等)。在非支持客户机中 nostrconnect:// URI显示为文本。

无法发送Zapconfig.jsonnwc-uri 进行动态观察时的轴心点。NWC URI可从Lightning Wallet(Alby等)中获取。

介质上传失败 →需要私钥或NIP-46连接。在动态输入提示中单击config.json 的,之 blossom-servers 对话框,您可以在此定义自定义格式upload_media 的,之 server 请直接在参数中指定。

开発

# ビルド
cargo build

# デバッグログ付きで実行
RUST_LOG=debug cargo run

# MCP インスペクターでテスト
npx @anthropics/mcp-inspector cargo run

代码配置

src/
├── main.rs          # エントリーポイント、設定読み込み
├── config.rs        # 設定管理(認証モード切り替え含む)
├── content.rs       # コンテンツ解析(メディア・ハッシュタグ・NIP-27 参照)
├── mcp.rs           # MCP プロトコルハンドラ(MCP Apps 拡張対応)
├── mcp_apps.rs      # MCP Apps UI リソース管理
├── nip46.rs         # NIP-46 Nostr Connect セッション管理
├── blossom.rs       # Blossom メディアアップロード (NIP-B7, BUD-02)
├── nostr_client.rs  # Nostr SDK ラッパー
├── tools.rs         # ツール定義とエグゼキュータ(26 ツール)
└── ui_templates.rs  # HTML テンプレート管理

ui/
├── common.css         # 共通スタイル(テーマ対応)
├── note-card.html     # ノートカード UI
├── article-card.html  # 記事プレビューカード UI
├── profile-card.html  # プロフィールカード UI
├── zap-button.html    # Zap ボタン UI
└── connect-qr.html    # NIP-46 QR コード接続画面 UI

许可证

麻省理工学院

目录标签

目录标签

RustClaude文档处理Nostr协议本地部署AI助手集成去中心化社交内容管理加密通信

支持客户端

Claude DesktopClaudeVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@anthropics/mcp-inspector

工具数量(toolCount,工具数)

23

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP