meld について
meldは、私的なリンクを通じてメモと返信を交換する、セルフホスト可能な一時的コンテキストブリッジです。稼働中の内容はリンクを知る人なら誰でも読め、メモリ内に保持されてAI処理もされないため、秘密の共有には適しません。
主な機能
- 01交換内容のメモ付きブリッジ作成
- 02リンク経由でメモと返信を閲覧
- 03同じブリッジへの返信追加
- 04無操作後のブリッジ失効
- 05稼働中の状態をメモリ内だけで保持
活用シーン
- 01デザインレビュー用の作業コンテキストを共有する
- 02コンテキストを何度も貼らずに返信を交換する
- 03セルフホストサーバーで短期間の議論を行う
MCP 対応
READMEではMCP対応は未実装とされており、MCPインターフェースの説明はありません。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://meld.mergeinc.workers.dev/mcpclaude mcp add --transport http lemonaide152-meld https://meld.mergeinc.workers.dev/mcp{"mcpServers":{"lemonaide152-meld":{"type":"http","url":"https://meld.mergeinc.workers.dev/mcp"}}}Cursor で開く{"servers":{"lemonaide152-meld":{"type":"http","url":"https://meld.mergeinc.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"lemonaide152-meld":{"type":"http","url":"https://meld.mergeinc.workers.dev/mcp"}}}{"mcpServers":{"lemonaide152-meld":{"serverUrl":"https://meld.mergeinc.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://meld.mergeinc.workers.dev/mcphttps://meld.mergeinc.workers.devツール
3| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| for | string | いいえ | 任意。古いクライアント向けです。デフォルトは context。 |
| pin | string | いいえ | 任意の PIN。相手が返信する際に入力する必要があります。 |
| learn | boolean | いいえ | JSON のブール値 true を指定すると、パイロット返信にオプトインします。文字列や整数の 1 は無効です。 |
| context | string | はい | 相手が読むための作業コンテキスト。機密情報、認証情報、規制対象データは含めないでください。 |
| not_for | string | いいえ | 任意。古いクライアント向けです。デフォルトは context。 |
詳細
meld — 一時的なコンテキストブリッジ
会うのではなく、meld しましょう。
コンテキストをケイパビリティ URL に置きます。どちらもブロックを貼り付ける必要はありません。A がリンクを作成します。1つのメモに、やり取りの目的と目的ではないことを記します。A はその URL を B に非公開で送ります。会話はそのリンク上で続けます。
やり取りが有効な間、ブリッジは開いたままです。最初の返信があるまで、作成から 36時間 ブリッジが開いた状態を保ちます。最初の返信があると、24時間 のタイマーが設定されます。それ以降の返信はすべて保持されます。返信があるたびに、その24時間がリセットされます。返信が始まった後は、最大有効期間はありません。読み取りではタイマーは開始されません。読み取りではタイマーはリセットされません。
有効期間が終わると、ホストは meld を解消します。解消するとブリッジが削除されます。そのコードへの次のリクエストは 404 になります。一度も存在しなかったコードも 404 になります。有効期限が切れたコードも 404 になります。レスポンスは同じです。
有効な間はホストが内容を読み取れます。リンクを持つ人なら誰でも読み取れます。秘密情報には使わないでください。 アカウントはありません。平文のアーカイブもありません。
AI は介在しません。 ブリッジが有効な間、ホストは送信された内容を保持します。ホストはやり取りを要約しません。書き換えません。返信を捏造しません。内容に対してモデルを実行しません。
セルフホストが基本です。このリポジトリには、サーバー、Caddy、Docker の設定が含まれています。
はじめに
git clone https://github.com/lemonaide152/meld.git && cd meld && docker build -t meld . && docker run --rm -p 8080:8080 -e MELD_PUBLIC_URL=http://127.0.0.1:8080 meld
次に:
curl -s -X POST http://127.0.0.1:8080/api/melds \
-H "Content-Type: application/json" \
-d '{"note":"For a design review. Not for passwords or customer data."}'
A は url を B に非公開で送ります。B は POST /api/melds/{code}/resolve で返信します。同じリンク上で会話を続けてください。
Compose(ローカル)
cp .env.example .env
docker compose up -d --build
同じ API を http://127.0.0.1:8080 で利用できます。
Compose + Caddy(パブリック TLS)
.env で MELD_SITE と MELD_PUBLIC_URL を設定し、DNS をマシンに向け、80/443 を開きます:
docker compose --profile tls up -d --build
Python(Docker 不使用)
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
python server.py
イメージを公開する
docker build -t ghcr.io/lemonaide152/meld:latest .
docker login ghcr.io
docker push ghcr.io/lemonaide152/meld:latest
API
| エンドポイント | メソッド | 説明 |
|---|---|---|
/api/melds | POST | 作成します。1つのメモに、やり取りの目的と目的ではないことを記します。note を送るか、同じテキストを context、for、not_for に設定します。作成から最初の返信まで、36時間開いた状態になります。A は URL を B に非公開で送ります。 |
/api/melds/{code} | GET | 有効な間、平文で読み取れます:メモとすべての返信が含まれます。タイマーは開始もリセットもされません。不明、解消済み、有効期限切れのいずれも同じ 404 です。 |
/m/{code} | GET | 同じ平文の読み取りです。これがケイパビリティ URL です。リンクプレビューのクローラーには、やり取りを含まない有効期限のみのカードが表示されます。このカードによって meld が読み取られることはありません。 |
/api/melds/{code}/resolve | POST | 同じブリッジに返信を追加します。そのリンク上で会話を続けてください。最初の返信で24時間のタイマーが設定されます。それ以降の返信はすべて保持され、返信のたびに24時間がリセットされます。不明、解消済み、有効期限切れのいずれも同じ 404 です。 |
古いキーを引き続き送信するクライアントでは、1つのメモを各フィールドに同じテキストで設定します:
{"context":"For a design review. Not for passwords or customer data.","for":"For a design review. Not for passwords or customer data.","not_for":"For a design review. Not for passwords or customer data."}
読み取りでは、そのメモが note、context_a、for、not_for に繰り返し設定されます。
状態はメモリ内にのみ保存されます。返信がない場合、作成から36時間で meld が削除されます。返信後は、新しい返信がない状態が24時間続くと削除されます。解消するとブリッジが削除されます。サーバーはそのコードの記録を保持しません。次のリクエストは 404 になります。再起動すると、有効なリンクは失われます。
バックグラウンドのスイープが5分ごとに実行され、そのコードへの再リクエストがなくても、期限切れのブリッジをすべて削除します。実行頻度を変更するには MELD_SWEEP_SECONDS を設定します。デフォルトは 300 です。サーバーログにブリッジのコードは含まれません。
仕様
SPEC.md は meld のコア仕様で、現在のバージョンは 2.0.0 です。動作の正となる情報源です。GET /health はこのサーバーが対象とする仕様のバージョンを報告し、python check_spec.py は SPEC.md とサーバーのバージョンが一致しない場合に失敗します。このサーバーはまだ 2.0.0 のすべてを実装していないため(解消、返信上限、MCP、128ビットコードは未実装)、/health は "conformance": "partial" を報告します。
信頼
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。