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,另一方必须提供该 PIN 才能回复。
learnboolean否JSON 布尔值 true 表示选择加入试点回复。字符串和整数 1 均无效。
contextstring是供另一方阅读的工作上下文。请勿包含机密信息、凭据或受监管数据。
not_forstring否可选,供较旧的客户端使用。默认值为 context。

详细介绍

meld — 临时上下文桥接

别见面。Meld。

将工作上下文放到一个能力 URL 上。双方都不必粘贴内容块。A 方创建链接。一条备注说明这次交流的目的和非目的。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创建。提供一条备注,说明这次交流的目的和非目的。发送 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。

仍在提交旧版键的客户端会使用一条备注,并在每个字段中填入相同文本:

{"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 中重复返回该备注。

状态仅保存在内存中。若没有回复,meld 会在创建后 36 小时删除。收到回复后,若 24 小时内没有新回复,meld 就会删除。解散会移除桥接。服务器不会保留该代码的记录。下次请求会返回 404。重启会丢弃所有存续中的链接。

后台清理任务每 5 分钟运行一次,并删除所有过期桥接,即使没有人再次请求相应代码也会删除。设置 MELD_SWEEP_SECONDS 可更改运行频率。默认值为 300。服务器日志不包含桥接代码。

规范

SPEC.md 是 meld 的核心规范,目前版本为 2.0.0。它是行为的唯一依据。GET /health 会报告此服务器所针对的规范版本,若 SPEC.md 与服务器对此版本的描述不一致,运行 python check_spec.py 会失败。此服务器尚未实现 2.0.0 的所有内容(解散、回复上限、MCP 和 128 位代码仍未实现),因此 /health 会报告 "conformance": "partial"。

信任

TRUST.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。