mcpField
T
three.ws Knock

three.ws Knock

本地服务
three.ws通信协作255今天更新

关于 three.ws Knock

Knock 是 three.ws 的 MCP 服务,让 Agent 可以找到可联系的真人、查看其收费标准并发送一条消息,再读取回复。付费的消息直接结算给收件人,本服务不持有钱包。

主要功能

  1. 01查询收件人的单条消息价格与链
  2. 02列出当前可联系的用户,按价格排序
  3. 03免费入口直接发送消息
  4. 04付费入口仅返回报价,由人工确认支付
  5. 05查询消息状态与回复内容
  6. 06站长可读取收件箱并回复、标记或屏蔽

适用场景

  1. 01让 Agent 向研究者提出具体问题并获取回复
  2. 02在发送付费消息前由人工核准支出
  3. 03跟踪已发出消息的处理状态

MCP 相关

该服务以 MCP 服务形式向客户端提供 knock_quote、knock_directory、knock_send、knock_receipt 等工具。收件箱相关工具需要设置 THREE_WS_API_KEY 才可使用,且仅限账户自身的入口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-knock": {
"command": "npx",
"args": [
"-y",
"@three-ws/knock-mcp"
],
"env": {
"THREE_WS_API_KEY": "<THREE_WS_API_KEY>",
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y @three-ws/knock-mcp
需要配置的环境变量
THREE_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+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/knock-mcp0.1.0

工具

6

收录的工具列表 · 更新于 2 周前

参数类型必填说明
handlestring是收件人的 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_inboxTHREE_WS_API_KEY查看你的门收到的敲门消息,包括发送者支付的金额,以及总计。
knock_actTHREE_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

相关内容

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

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

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