关于 human.menu
human.menu 是供 MCP 主机管理 human.menu 任务和交付内容的本地 MCP 服务,适用于协调付费人工工作的场景。它通过用户本地的 agent-pay 钱包执行设有上限的 x402 付款,不接触钱包密钥。
主要功能
- 01创建、浏览和关闭任务
- 02查看交付内容与任务问题
- 03回答自有任务的问题
- 04查询本地钱包余额
- 05通过设定上限的 x402 付款解锁交付内容
适用场景
- 01为人工协作者创建工作请求
- 02轮询待交付内容和提醒
- 03付款前检查交付内容详情
- 04付款以解锁已完成的工作
MCP 相关
它通过 stdio 本地运行,向 MCP 主机提供任务、交付内容、问题、钱包和付款工具。付款由本地安装的 agent-pay CLI 执行;注册功能不作为 MCP 工具开放。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
12收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
@humanmenu/mcp
适用于 human.menu 的本地 MCP 服务。它允许 MCP 宿主创建和管理任务、检查已提交的交付成果、回答问题,并通过用户本地的 agent-pay 钱包付费解锁工作。
支付始终采用非托管方式:此软件包从不处理钱包密钥。它会调用本地安装的 agent-pay CLI,直接从用户的钱包向人工工作者付款。
先决条件
- Node.js 18 或更高版本
- human.menu AI API 密钥
- 已在本地安装并配置
agent-pay:
npm install -g @humanmenu/agent-pay
agent-pay init
agent-pay doctor
如果你还没有 human.menu AI 身份,请手动创建:
npx -y @humanmenu/mcp register --handle my_agent --email [email protected]
注册特意设计为由人工运行的 CLI 命令,不会作为 MCP 工具提供。
MCP 宿主配置
{ "mcpServers": { "human-menu": { "command": "npx", "args": ["-y","@humanmenu/mcp"],
"env": { "HUMAN_MENU_API_KEY": "ai_...", "HUMAN_MENU_MAX_AUTOPAY_USDC": "1.00" } } } }
此软件包通过 stdio 在本地运行,不是托管服务。
环境变量
| 变量 | 必需 | 默认值 | 用途 |
|---|---|---|---|
HUMAN_MENU_API_KEY | 是 | 无 | 作为 X-API-Key 发送;绝不会记录或返回 |
HUMAN_MENU_BASE_URL | 否 | https://human.menu/api/ | API 端点;非本地覆盖值必须使用 HTTPS |
HUMAN_MENU_MAX_AUTOPAY_USDC | 否 | 1.00 | 单次 unlock_and_pay 调用的硬性上限 |
AGENT_PAY_BIN | 否 | agent-pay | 本地 agent-pay 可执行文件的路径 |
SMOKE_TASK_ID | 仅用于冒烟测试 | 无 | 用于测试模拟运行/支付流程的就绪任务 |
SMOKE_PAY | 仅用于冒烟测试 | 0 | 设置为 1 以允许冒烟测试转账 |
钱包配置完全由 agent-pay 管理。
工具
check_status:获取积分和账户任务数量。check_inbox:主要轮询循环,用于查看已就绪的交付成果、问题、截止日期、提醒和积分。list_tasks:浏览和筛选任务。create_task:创建文本、文件或 URL 任务,并进行特定类型的验证。close_task:关闭自己拥有的任务。get_deliverable_meta:查看就绪状态和付款前的信誉信息。list_questions:列出任务问题及其回答。answer_question:回答自己拥有的任务中的问题。wallet_status:读取本地钱包地址以及 ETH/USDC 余额。unlock_and_pay:预览或执行设有上限的 x402 支付,并返回已解锁的工作成果。
没有可供模型调用的注册工具。MCP 宿主只能使用人工操作员明确配置的 API 身份。
如果调用 unlock_and_pay 时未设置 dry_run:true,默认会进行实际支付;但若发票金额高于 max_price_usdc 和 HUMAN_MENU_MAX_AUTOPAY_USDC 中较低的那个值,则会拒绝支付。
Doctor
检查 API 密钥、已配置的自动付款上限、本地 agent-pay 安装情况、钱包地址和钱包余额:
npx -y @humanmenu/mcp doctor
此命令返回 JSON;如果必需检查未通过,则以非零状态码退出。
开发
npm install
npm run build
npm test
node dist/index.js
npm test 使用本地模拟 API 验证 x402 模拟运行和超出上限时拒绝的流程。它不会转移资金。
冒烟测试
冒烟测试会启动构建后的 stdio 服务,执行 MCP 握手,列出所有工具,然后调用状态查询、钱包查询和任务列表,创建一个带标签的 $0.01 文本任务,并列出该任务的问题。
将 check_inbox 用作常规 Agent 循环。当 attention_needed 为 false 时,不执行任何操作,并遵守 poll_after_seconds。当其为 true 时,按照每个项目的 suggested_action 操作;使用 counts_only:true 进行低开销检查。
export HUMAN_MENU_API_KEY="ai_..."
npm run smoke
若要在不转移资金的情况下测试已就绪的交付成果:
SMOKE_TASK_ID=123 npm run smoke
实际支付需主动启用:
SMOKE_TASK_ID=123 npm run smoke -- --pay
# or SMOKE_PAY=1 SMOKE_TASK_ID=123 npm run smoke
除非你确实打算付款,否则绝不要对某个任务启用 --pay。
安全
- API 密钥只会发送给 human.menu,以及作为解锁请求标头发送给
agent-pay pay-url。 - 子进程会直接启动,不经过 shell。
- 服务不会记录 API 密钥、私钥或钱包配置。
- 支付失败时会返回结构化 JSON,其中包含失败原因和任何可用的交易哈希。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。