mcpField
M
meld

meld

リモート
github.com/lemonaide152コミュニケーション12 週間前に更新
リポジトリ

meld について

meldは、私的なリンクを通じてメモと返信を交換する、セルフホスト可能な一時的コンテキストブリッジです。稼働中の内容はリンクを知る人なら誰でも読め、メモリ内に保持されてAI処理もされないため、秘密の共有には適しません。

主な機能

  1. 01交換内容のメモ付きブリッジ作成
  2. 02リンク経由でメモと返信を閲覧
  3. 03同じブリッジへの返信追加
  4. 04無操作後のブリッジ失効
  5. 05稼働中の状態をメモリ内だけで保持

活用シーン

  1. 01デザインレビュー用の作業コンテキストを共有する
  2. 02コンテキストを何度も貼らずに返信を交換する
  3. 03セルフホストサーバーで短期間の議論を行う

MCP 対応

READMEではMCP対応は未実装とされており、MCPインターフェースの説明はありません。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://meld.mergeinc.workers.dev/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://meld.mergeinc.workers.dev/mcp
Streamable HTTPhttps://meld.mergeinc.workers.dev

ツール

3
パラメーター型必須説明
forstringいいえ任意。古いクライアント向けです。デフォルトは context。
pinstringいいえ任意の PIN。相手が返信する際に入力する必要があります。
learnbooleanいいえJSON のブール値 true を指定すると、パイロット返信にオプトインします。文字列や整数の 1 は無効です。
contextstringはい相手が読むための作業コンテキスト。機密情報、認証情報、規制対象データは含めないでください。
not_forstringいいえ任意。古いクライアント向けです。デフォルトは 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/meldsPOST作成します。1つのメモに、やり取りの目的と目的ではないことを記します。note を送るか、同じテキストを context、for、not_for に設定します。作成から最初の返信まで、36時間開いた状態になります。A は URL を B に非公開で送ります。
/api/melds/{code}GET有効な間、平文で読み取れます:メモとすべての返信が含まれます。タイマーは開始もリセットもされません。不明、解消済み、有効期限切れのいずれも同じ 404 です。
/m/{code}GET同じ平文の読み取りです。これがケイパビリティ URL です。リンクプレビューのクローラーには、やり取りを含まない有効期限のみのカードが表示されます。このカードによって meld が読み取られることはありません。
/api/melds/{code}/resolvePOST同じブリッジに返信を追加します。そのリンク上で会話を続けてください。最初の返信で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" を報告します。

信頼

TRUST.md。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。