关于 three.ws Knock
Knock 是 three.ws 的 MCP 服务,让 Agent 可以找到可联系的真人、查看其收费标准并发送一条消息,再读取回复。付费的消息直接结算给收件人,本服务不持有钱包。
主要功能
- 01查询收件人的单条消息价格与链
- 02列出当前可联系的用户,按价格排序
- 03免费入口直接发送消息
- 04付费入口仅返回报价,由人工确认支付
- 05查询消息状态与回复内容
- 06站长可读取收件箱并回复、标记或屏蔽
适用场景
- 01让 Agent 向研究者提出具体问题并获取回复
- 02在发送付费消息前由人工核准支出
- 03跟踪已发出消息的处理状态
MCP 相关
该服务以 MCP 服务形式向客户端提供 knock_quote、knock_directory、knock_send、knock_receipt 等工具。收件箱相关工具需要设置 THREE_WS_API_KEY 才可使用,且仅限账户自身的入口。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @three-ws/knock-mcpTHREE_WS_API_KEY密钥A three.ws API key (sk_live_… / sk_test_…) or OAuth access token. Optional: needed only for knock_inbox and knock_act, which manage your own door. Quoting, browsing, knocking and reading a receipt all work without it. Treat like a password.THREE_WS_BASEBase URL of the three.ws API. Override only when self-hosting or targeting a preview deployment.THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| handle | string | 是 | 收件人的 three.ws 用户名,可带或不带 @。 |
详细介绍
@three-ws/knock-mcp
让 Agent 联系到真人。
Knock 是一扇有价的通往真人的门。每个 three.ws 账户
都可以在 three.ws/knock/<handle> 发布一扇门,所有者可设置陌生人发送一条
消息的价格。支付该价格,即可让一条消息送达:消息会进入对方的收件箱;无论对方在网站的哪个位置,其 3D 伴侣都会走到屏幕上,并大声报出消息,同时说出发送者的名字
和支付金额。USDC 会直接结算给接收者。
这个 MCP 服务为任何 Agent 客户端(Claude Code、Claude Desktop、Cursor、 Windsurf 或你自己的客户端)提供工具,用于查找可以联系的人、敲门并查看回复。
此服务不持有钱包
对于免费的门,knock_send 会立即发送,因为没有资金流动。
对于收费的门,knock_send 不会付款,也无法付款。它会返回
接收者、金额、代币、链和端点,然后停止。由真人批准支出,并使用自己掌控的钱包付款,可通过
@three-ws/knock 或其他
x402 客户端完成。
这是有意为之。带有环境变量密钥的 MCP 服务不应该能够自行转移他人的资金。
安装
Claude Code:
claude mcp add knock -- npx -y @three-ws/knock-mcp
任何 MCP 客户端均可通过配置使用:
{
"mcpServers": {
"knock": {
"command": "npx",
"args": ["-y", "@three-ws/knock-mcp"]
}
}
}
只有在还需要使用两个所有者侧工具时,才添加 THREE_WS_API_KEY:
{
"mcpServers": {
"knock": {
"command": "npx",
"args": ["-y", "@three-ws/knock-mcp"],
"env": { "THREE_WS_API_KEY": "sk_live_…" }
}
}
}
Node 20+。
工具
| 工具 | 凭据 | 功能 |
|---|---|---|
knock_quote | 无 | 查询某人发送单条消息的收费、接受付款的链、长度限制和端点。 |
knock_directory | 无 | 按价格从低到高列出当前可联系的所有人。 |
knock_send | 无 | 发送一条消息。免费门会直接发送;收费门会提供报价,供真人批准。 |
knock_receipt | 无 | 查看已发送的敲门消息状态:待处理、已读、已回复(附回复内容)或已忽略。 |
knock_inbox | THREE_WS_API_KEY | 查看你的门收到的敲门消息,包括发送者支付的金额,以及总计。 |
knock_act | THREE_WS_API_KEY | 回复、标记为已读、忽略或屏蔽其中一条消息。 |
所有者工具在服务端按账户限定范围,绝不会读取或更改其他账户。
会话示例
你: 在 three.ws 上找一位愿意回答 x402 问题的人,问问他们的 Solana facilitator 如何处理 fee payer。
Agent 会调用 knock_directory,选择一扇门,再调用 knock_quote 获取
实时报价,然后返回:
nirholas (@nirholas) charges $0.05 USDC on solana.
Endpoint: https://three.ws/api/x402/knock?to=nirholas
The payment settles directly to the recipient.
Approve?
你从自己的钱包批准并付款:
npx @three-ws/knock send nirholas \
"How does your Solana facilitator handle the fee payer?" \
--from "Ada (research agent)" --subject "x402 fee payer" --payer ./payer.mjs
对方的伴侣会走到屏幕上并说道:“Ada 支付了 $0.05 联系你:x402
fee payer。” 对方回复后,Agent 会通过收据 URL 调用 knock_receipt,
并读出回复。双方都无需拥有门所有者账户以外的账户。
环境
| 变量 | 必需 | 默认值 | 用途 |
|---|---|---|---|
THREE_WS_API_KEY | 仅 knock_inbox / knock_act 需要 | 无 | 你所管理门所属账户的 API 密钥或 OAuth 令牌。别名:THREE_WS_TOKEN、THREE_WS_BEARER。 |
THREE_WS_BASE | 否 | https://three.ws | 仅在自托管时覆盖。 |
THREE_WS_TIMEOUT_MS | 否 | 20000 | 每个请求的超时时间。 |
运行和检查
node src/index.js # stdio
npm run inspect # MCP Inspector
npm test # the tool surface and the no-wallet rule
相关内容
- @three-ws/knock 是实际负责付款的 SDK 和 CLI。
- three.ws/knock 可用于开启你自己的门。
- Knock 文档 介绍协议和线格式。
许可证
Apache-2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。