ncrypted について
ncrypted は、パスワード、API キー、メモを一度だけ読める暗号化シークレットとして共有する MCP サーバー兼ツールセットです。ローカルで暗号化してサービスには暗号文だけを保存し、モデルに値を見せずに Vercel の環境変数や `.env` ファイルへ書き込むこともできます。
主な機能
- 01ローカル暗号化による一度限りのシークレットリンク
- 02AES-256-GCM 暗号化と任意のパスフレーズ
- 03シークレットの要求と環境ファイルへの書き込み
- 04リンクの任意メール送信
- 05CLI、SDK、MCP サーバー、エージェントスキル
- 06Base 上の x402 による USDC 支払い
活用シーン
- 01API キーをエージェントに一度だけ共有
- 02モデルに値を見せずユーザーにシークレットを要求
- 03認証情報を Vercel の環境変数や `.env` ファイルに書き込む
- 04メールで一度限りのシークレットリンクを送る
MCP 対応
stdio MCP サーバーは、シークレットの作成、読み取り、状態確認、消去とウォレット関連のツールを提供します。既定ではローカルで暗号化し、任意のホスト型 MCP エンドポイントはサーバー側暗号化と明示されています。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://ncrypted.ai/mcpclaude mcp add --transport http seidl-family-ncrypted https://ncrypted.ai/mcp{"mcpServers":{"seidl-family-ncrypted":{"type":"http","url":"https://ncrypted.ai/mcp"}}}Cursor で開く{"servers":{"seidl-family-ncrypted":{"type":"http","url":"https://ncrypted.ai/mcp"}}}VS Code で開く{"mcpServers":{"seidl-family-ncrypted":{"type":"http","url":"https://ncrypted.ai/mcp"}}}{"mcpServers":{"seidl-family-ncrypted":{"serverUrl":"https://ncrypted.ai/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
4| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| secret | string | はい | 共有する機密値。最大64 KB。 |
| passphrase | string | いいえ | 受信者にも必要となる任意の追加認証要素です。別のチャネルで共有してください。 |
| ttl_seconds | integer | いいえ | 一度も読み取られなかった場合の有効期限です。デフォルトは 86400(24 時間)、最長 7 日です。 |
詳細
ncrypted
AI エージェント向けの、一度限りのエンドツーエンド暗号化シークレットです。
エージェントはパスワード、API キー、メモをローカルで暗号化し、一度だけ開けるリンクを取得します。相手に共有したり、メールで送ったり、別のエージェントに渡したりできます。読み取ると破棄されます。エージェントはユーザーにシークレットをリクエストし、モデルに値を一度も見せることなく、Vercel の環境変数や .env ファイルに直接書き込むこともできます。
1 日あたり最初の3 件のシークレットは無料です。それ以降は、Base 上の x402 を通じて、1 件につき 0.005 USDC がかかります。読み取り、リクエスト、受け渡しは無料です。
Claude Code、Codex、Cursor、Gemini CLI、あらゆる MCP クライアント、Vercel AI SDK、LangChain、CrewAI で動作します(Coinbase AgentKit のサポートは審査中です)。ガイド:https://ncrypted.ai/guides
https://ncrypted.ai/s/{id}#{key}
└─ decryption key, never sent to the server
インストール
専用の Base ウォレット(残高は少額にしてください)と、いくらかの USDC が必要です(ETH は不要です)。秘密鍵を NCRYPTED_WALLET_PRIVATE_KEY としてエクスポートしてください。
Claude Code
/plugin marketplace add Seidl-Family/ncrypted
/plugin install ncrypted@ncrypted
あらゆる MCP クライアント(Claude Desktop、Cursor、Codex、…)
{ "mcpServers": { "ncrypted": { "command": "npx", "args": ["-y", "@seidl-family/ncrypted-mcp"], "env": { "NCRYPTED_WALLET_PRIVATE_KEY": "0x..." } } } }
エージェントスキル:npx skills add Seidl-Family/ncrypted
CLI / SDK
echo "hunter2" | npx ncrypted create --ttl 1h [--email [email protected]] [--passphrase X]
npx ncrypted read "https://ncrypted.ai/s/abc#key"
import { Ncrypted } from "ncrypted";
const nc = new Ncrypted(); // reads NCRYPTED_WALLET_PRIVATE_KEY
const { link, receiptToken, id } = await nc.create("hunter2", { ttl: 3600 });
const value = await nc.read(link); // free, destroys it
仕組み
- ゼロ知識:ランダムな 256 ビットキーを使用する AES-256-GCM で暗号化し、HKDF で鍵を導出します(パスフレーズを設定した場合は PBKDF2 も使用します)。サーバーに保存されるのは暗号文のみです。
- 一度限り:読み取りには Redis の
GETDELを使用するため、同時に読み取っても複数のユーザーがシークレットを取得することはできません。未読のシークレットは TTL(5 分~7 日)が過ぎると期限切れになります。 - プレビューで消費されない:ウェブページを開いてもシークレットは消費されません。受信者が Reveal をクリックする必要があります。
- シークレットごとの支払い:x402 の
exactスキームを使用し、Base 上で USDC を支払います。決済はシークレットの保存後にのみ行われます。SDK は、1 回のリクエストで 0.01 USDC を超える支払いを拒否します。 - メール:作成者はリンクを一度だけメールで送信できます。このリクエストの間、メールはサーバーを経由しますが、保存されません。非常に機密性の高い値にはパスフレーズを使用してください。
支払いと安全性
ncrypted では、作成したシークレット 1 件につき固定で 0.005 USDC がかかります。支払いは Base 上の x402 を通じて行われます。それ以外はすべて無料です。読み取り、ステータス確認、取り消しに料金はかかりません。
- **限定された用途:**プラグインが行える支払いは、
ncrypted_createに対する ncrypted 独自の手数料のみです。任意の金額を送金したり、取引、スワップ、他者への支払いを行ったりするツールはありません。 - **厳格な上限:**サーバーがどのような金額を要求しても、SDK は 1 回のリクエストで 0.01 USDC を超える支払いを拒否します。
- **専用ウォレット:**支払いには、ユーザーが意図的に作成(
npx ncrypted wallet new)し、自分で資金を入金した残高の少ないウォレットを使用します。プラグインがユーザーのメインウォレットを要求、読み取り、保存することはありません。また、このスキルはエージェントに、チャットで秘密鍵を尋ねないよう指示します。 - **明示的で可視:**すべての課金は、明示的な
ncrypted_createツール呼び出しによって行われます。バックグラウンドでの課金や継続課金はありません。 - **失敗時は課金なし:**シークレットが保存された後にのみ、Coinbase の x402 ファシリテーターを通じて決済されます。
- **デフォルトでゼロ知識:**ローカル MCP サーバーがユーザーのマシン上で暗号化するため、サービスに保存されるのは暗号文のみです。オプションのホスト型エンドポイント(
https://ncrypted.ai/mcp)は、サーバー側暗号化であることが明確に表示されます。
接続先のデータとサービス
プラグインの MCP サーバー、CLI、スキルが接続するサービスは、以下のみです。
| サービス | 送信される情報 | タイミング |
|---|---|---|
ncrypted API (https://ncrypted.ai、Vercel + Upstash Redis) | 暗号文、IV、ソルト、パスフレーズフラグ、TTL。鍵、パスフレーズ、平文は送信されません。 | シークレットの作成、読み取り、ステータス確認、または消去時 |
| Coinbase x402 facilitator / Base network | 署名済みの USDC 支払い承認(支払元アドレス、金額、受取人) | シークレットの作成時(0.005 USDC) |
Base public RPC (mainnet.base.org) | 支払元ウォレットのアドレス | ncrypted_wallet / ncrypted wallet の残高確認時 |
| ncrypted API 経由の Resend | 受信者のメールアドレス、共有リンク(鍵を含む)、任意のメモ。1 回だけ中継され、ncrypted には保存されません。 | ユーザーがリンクのメール送信を依頼した場合のみ |
保持期間:暗号文は初回読み取り時、消去時、または有効期限切れ時(最長 7 日)に削除されます。受領メタデータは有効期限切れの 7 日後に削除されます。分析データや Cookie は使用しません。詳細:プライバシーポリシー。
リポジトリの構成
| パス | 内容 |
|---|---|
apps/web | Vercel 上の Next.js アプリ:API、ビューアーページ、llms.txt、openapi.json |
packages/sdk | npm の ncrypted:暗号化、クライアント、CLI |
packages/mcp | npm の @seidl-family/ncrypted-mcp:stdio MCP サーバー |
skills/ncrypted | エージェントスキル(SKILL.md) |
plugins/ncrypted | Claude Code プラグイン。.claude-plugin/marketplace.json に登録されています |
server.json | MCP Registry マニフェスト(.github/workflows/mcp-registry.yml によって公開) |
開発
npm install
npm test # crypto unit tests
cp apps/web/.env.example apps/web/.env.local # set NCRYPTED_PAY_TO
npm run dev # in-memory store when Redis isn't configured
npm run build && npm run e2e # needs .env.e2e with a funded Base Sepolia wallet
skills/ncrypted/SKILL.md を編集した後、npm run sync:skill を実行してください。
ツール選択の評価:./scripts/run-evals.sh は evals/(14 ケース、MCP ツールをモック、約 $2.50)を、プラグインの一時コピーに対して実行します。ツールの説明またはスキルを変更した後に再実行し、ツールを変更した場合は tools/list から evals/mocks/ncrypted/_tools.json を更新してください。
MCP をリリースするたびに、Dockerfile、plugins/ncrypted/.mcp.json、plugins/ncrypted/package.json(そのディレクトリで npm install --package-lock-only を実行)、gemini-extension.json(Claude ディレクトリでは @latest が拒否されます)の固定バージョンを更新し、その後「Publish to MCP Registry」ワークフローを実行してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。