GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Peer-to-peer, end-to-end-encrypted collaboration channel for AI coding agents over MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
COVALENT_RELAY_URL, COVALENT_NOTIFICATIONS, COVALENT_MAX_FILE_KB你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"covalent-bond": {
"command": "npx",
"args": [
"-y",
"covalent-bond"
],
"env": {
"COVALENT_RELAY_URL": "your-value",
"COVALENT_NOTIFICATIONS": "your-value",
"COVALENT_MAX_FILE_KB": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add covalent-bond --env COVALENT_RELAY_URL=your-value --env COVALENT_NOTIFICATIONS=your-value --env COVALENT_MAX_FILE_KB=your-value -- npx -y covalent-bond运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"covalent-bond": {
"command": "npx",
"args": [
"-y",
"covalent-bond"
],
"env": {
"COVALENT_RELAY_URL": "your-value",
"COVALENT_NOTIFICATIONS": "your-value",
"COVALENT_MAX_FILE_KB": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"covalent-bond": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"covalent-bond"
],
"env": {
"COVALENT_RELAY_URL": "your-value",
"COVALENT_NOTIFICATIONS": "your-value",
"COVALENT_MAX_FILE_KB": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
COVALENT_RELAY_URL envCOVALENT_NOTIFICATIONS envCOVALENT_MAX_FILE_KB env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 gopalrajsuresh 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.2)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Covalent Bond
A secure channel that lets two AI coding agents on different machines work as one.
Quick start · How it works · Tools · Security · Architecture · Contributing
= 18">
A *covalent bond* is two atoms sharing a pair of electrons. Covalent Bond is two coding agents on different machines sharing something just as fundamental: a private, authenticated channel, and through it, a way of working.
Picture two developers pairing across a distance. One has their agent dialed in (organized skills, sharp conventions, the right context loaded) and it produces excellent work. The other is more ad-hoc, and their agent turns out something that's just *okay*. Covalent Bond is the channel that closes that gap: the well-tuned side can hand over the files, context, and conventions that make its agent good, so both agents converge on the same high-quality way of working. It bonds not just two agents, but two ways of working, pulling the weaker setup up to the level of the stronger, as equal peers.
It's peer-to-peer and end-to-end encrypted: the two agents pair up and exchange messages and files through a relay that can never read the traffic. It works with any MCP-compatible agent (Claude Code, Cursor, Codex, Windsurf, Cline, and others), exposing bond_* tools over the Model Context Protocol. And it keeps a human in the loop: every incoming file waits for explicit consent before it touches disk.
It doesn't magically clone one setup onto another. It's the secure, consent-gated channel that makes deliberately sharing your working style *possible* between two machines that otherwise can't reach each other.
Shortcut: let your agent set everything up. Paste docs/AGENT-SETUP.md to any coding agent and say "set up Covalent Bond". It walks the agent through install, relay config, MCP registration, and pairing, with clear stops for the parts only a human may do.
Or do it yourself on both machines (steps 1–2), then pair (step 3).
npx fetches the npm package. For Claude Code: claude mcp add --scope user --env COVALENT_RELAY_URL=https://covalent-bond-relay.gopalrajsuresh.workers.dev covalent -- npx -y covalent-bond
(--scope user makes the bond_* tools available in every project. The env var points at the public relay; to self-host instead, see Pick a relay.)
For other MCP clients (Cursor, Codex, Windsurf, …), this standard stdio-server config works in most of them; paste it into the client's MCP settings JSON (the top-level key is usually mcpServers or servers):
{
"mcpServers": { "covalent": { "command": "npx", "args": ["-y", "covalent-bond"], "env": { "COVALENT_RELAY_URL": "https://covalent-bond-relay.gopalrajsuresh.workers.dev" } } } }
Windows and local-testing notes
On Windows, if your client struggles to spawn npx directly, wrap it: "command": "cmd", "args": ["/c", "npx", "-y", "covalent-bond"]. For local testing without a deployed relay, run the mock relay from a source checkout (npm run relay:dev) and point COVALENT_RELAY_URL at http://localhost:8787.
Prefer running from source?
git clone https://github.com/gopalrajsuresh/covalent-bond.git covalent-bond
cd covalent-bond npm install npm test # optional but recommended; all suites run offline cp .env.example .env # PowerShell: Copy-Item .env.example .env
The `.env` already contains the public relay URL. Then register with `command: node`, args `/absolute/path/to/covalent-bond/bin/cli.js` (Claude Code: `claude mcp add --scope user covalent -- node /absolute/path/to/covalent-bond/bin/cli.js`), no env var needed.
bond_status. It should reply "No active session", which means the tools are live.bond_connect → you get a code like AbCd-1234-XyZw.bond_join.bond_status → Secure channel established → send files (bond_send) and messages (bond_message). Incoming files wait for the human to bond_accept.bond_end on both sides.Both agents meet at a relay that is untrusted by design — it forwards ciphertext it can never decrypt. The session code travels human-to-human, never through the relay, and that out-of-band secret is what authenticates the channel:
sequenceDiagram
participant A as Agent A (host) participant H as Humans (out-of-band) participant R as Relay (untrusted) participant B as Agent B (guest)
A->>A: bond_connect → session code A-->>H: code shared by chat / voice H-->>B: code entered on the other side B->>B: bond_join(code) A->>R: ephemeral public key (routing ID only) B->>R: ephemeral public key (routing ID only) Note over A,B: key = X25519 ⊕ session code → AES-256-GCM A->>R: ciphertext R->>B: ciphertext (relay sees nothing else) B->>B: file held until human runs bond_accept
If anything in the middle tampers with the key exchange, key confirmation fails and the session aborts before any data flows — a malicious relay can't read *or* impersonate either side.
The relay is a dumb pipe and untrusted by design: it sees only a random routing ID and ciphertext, never the session code, keys, or plaintext, and a malicious relay still can't read or forge anything (that's covered by the test suite's MITM scenario). So either option below is equally secure; it's purely a convenience choice.
Option 1: use the public relay (fastest)
COVALENT_RELAY_URL=https://covalent-bond-relay.gopalrajsuresh.workers.dev
Sessions expire after 30 minutes of inactivity and nothing is retained. Best-effort availability, rate-limited.
Where to set COVALENT_RELAY_URL (either place works; a real environment variable wins over .env )
.env.example to .env in the covalent-bond folder and edit the value. The MCP server reads it at startup, so it applies no matter which project you use the agent from. claude mcp add --scope user --env COVALENT_RELAY_URL=https://... covalent -- node /absolute/path/to/covalent-bond/bin/cli.js
For other MCP clients, add it to the server's env block in their JSON config.
After changing either, restart your agent session so the MCP server relaunches.
Option 2: deploy your own in ~2 minutes (free Cloudflare account)
npm install -g wrangler
wrangler login # opens the browser; create a free account if you don't have one cd cloudflare-worker wrangler deploy # prints your relay URL: https://covalent-bond-relay. .workers.dev
Then set COVALENT_RELAY_URL to that URL on both machines. Full details (Durable Object migration, optional per-IP throttle, local wrangler dev) are in cloudflare-worker/README.md.
Or let your agent do it
Paste this to any coding agent running in this repo:
Deploy my own Covalent Bond relay: install wrangler if missing, run
wrangler loginand wait for me to finish authenticating in the browser, thenwrangler deployfromcloudflare-worker/, and tell me the URL to set asCOVALENT_RELAY_URLon both machines. Followcloudflare-worker/README.md.
The only manual step is the browser login; the agent handles the rest.
bond_connect and returns a code like AbCd-1234-XyZw.AbCd-1234-XyZw."* → the agent calls bond_join.bond_status shows Secure channel established, start sharing: *"Send src/auth.js to my peer,"* or hand over the pieces that make your agent good: a skill file, a conventions doc, the context that shapes how it works. The peer sees a consent prompt and accepts before anything is written, and the received content arrives wrapped as untrusted data for the other agent to read and adopt.bond_connect — Create a session and get a shareable session codebond_join — Join a session using a code shared out-of-bandbond_status — Connection status, pending transfers, and new eventsbond_send — Send a file to the connected peer, encrypted end to endbond_message — Send a short encrypted text message to the peerbond_wait — Long-poll for the next peer eventbond_accept — Accept a pending file transfer after human consentbond_decline — Decline a pending file transferbond_end — End the session and disconnect from the relayFull reference:
| Tool | Parameters | What it does | Requires |
|---|---|---|---|
bond_connect | — | Create a session as host; returns the code to share out-of-band | — |
bond_join | sessionCode | Join a session with a code (XXXX-XXXX-XXXX, Base58) | — |
bond_status | — | Handshake state, pending transfers, unread-event count, and events since the last call | — |
bond_send | filepath, message? | Send a file (type whitelist, size cap, 10 s rate limit) with an optional context message | confirmed channel |
bond_message | content | Send a short encrypted text message, max 4000 chars (agent-to-agent conversation) | confirmed channel |
bond_wait | timeoutSeconds? | Long-poll for the next peer event (message, file, disconnect); default 50 s, max 300 s | confirmed channel |
| bond_accept | transferId | Write a pending file to ~/.covalent/incoming/ and return its content wrapped a
只显示了开头部分;其余内容请在仓库中阅读