这是一个模型上下文协议(MCP)服务器,它允许AI助手在需要时获取人类输入。该工具会在Amazon Mechanical Turk上创建任务,让真实的人类回答来自AI系统的问题。虽然主要是概念验证,但它展示了如何使用MCP标准构建人机交互的AI系统。请参阅限制以了解当前的约束。

# 为mcp-human配置文件配置AWS凭证
export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
aws configure set aws_access_key_id ${AWS_ACCESS_KEY_ID} --profile mcp-human
aws configure set aws_secret_access_key ${AWS_SECRET_ACCESS_KEY} --profile mcp-human
沙箱模式:
claude mcp add human -- npx -y mcp-human@latest
服务器默认使用沙箱模式(用于测试)。如果您想提交实际请求,请使用MTURK_SANDBOX=false。
claude mcp add human -e MTURK_SANDBOX=false -- npx -y mcp-human@latest
更新您的MCP客户端配置如下:
{
"mcpServers": {
"human": {
"command": "npx",
"args": ["-y", "mcp-human@latest"]
}
}
}
例如:Claude Desktop(MacOS):~/Library/Application\ Support/Claude/claude_desktop_config.json
服务器可以通过以下环境变量进行配置:
| 变量 | 描述 | 默认值 |
|---|---|---|
MTURK_SANDBOX | 使用MTurk沙箱(true)或生产环境(false) | true |
AWS_REGION | MTurk的AWS区域 | us-east-1 |
AWS_PROFILE | 用于凭证的AWS配置文件 | mcp-human |
DEFAULT_REWARD | 奖励金额(美元) | 0.05 |
FORM_URL | 表单托管的URL。需要是https。 | https://syskall.com/mcp-human/ |
要创建一个具有适当权限的AWS用户以访问Mechanical Turk:
登录到AWS管理控制台:
创建新的IAM用户:
mturk-api-user)设置权限:
AmazonMechanicalTurkFullAccess创建访问密钥:
保存凭证:
AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量配置MTurk请求者设置:
注意:始终从MTurk沙箱开始(
MTURK_SANDBOX=true),以测试集成而不花费真实资金。只有在您确信实现无误时才切换到生产环境。
此系统由两个主要组件组成:
AI助手连接到MCP服务器,该服务器在MTurk上创建任务。人类工作者通过表单完成这些任务,他们的响应可供AI助手使用。
使用的Mechanical Turk表单托管在GitHub Pages上:https://syskall.com/mcp-human/。它通过查询参数填充数据。
允许AI向Mechanical Turk上的工人提出问题。
参数:
question:要问工人的问题reward:奖励金额(美元,默认:$0.05)title:HIT标题(可选)description:HIT描述(可选)hitValiditySeconds:HIT过期前的时间(秒,默认:1小时)示例用法:
// 从AI助手的角度
const response = await call("askHuman", {
question:
"基于情绪调整照明的智能家居设备的创意名称是什么?",
reward: "0.25",
title: "帮助创意产品命名",
hitValiditySeconds: 3600, // HIT有效1小时
});
如果工人在HIT的有效期内作出回应,则响应将包含他们的答案。如果没有,它将返回一个可以稍后检查的HIT ID。
检查之前创建的HIT的状态,并检索任何已提交的任务。
参数:
hitId:要检查状态的HIT ID示例用法:
// 从AI助手的角度
const status = await call("checkHITStatus", {
hitId: "3XMVN1BINNIXMTM9TTDO1GKMW7SGGZ",
});
提供对MTurk账户信息的访问。
URI:
mturk-account://balance - 获取账户余额mturk-account://hits - 列出HITmturk-account://config - 获取配置信息