项目简介

这是一个基于Model Context Protocol (MCP) 构建的服务器,旨在通过Amazon Mechanical Turk (MTurk) 服务,为大型语言模型 (LLM) 提供“人类在环”(Human-in-the-loop) 的能力。它允许LLM在处理需要人类判断、创意或特定知识的任务时,能够向真实人类提问并获取回答。

主要功能点

  • 请求人类协助 (askHuman Tool): 允许LLM向MTurk提交任务,将问题发送给人类工作者。可配置问题、报酬、任务标题、描述和有效期。
  • 检查任务状态 (checkHITStatus Tool): LLM可以根据任务ID查询之前提交的MTurk任务状态,获取人类工作者的回答或确认任务是否已完成。
  • 访问MTurk账户信息 (mturk-account Resource): 提供查询MTurk账户余额、列出活动任务列表及查看服务器配置的能力。
  • 支持LLM通过定义好的Prompt模板发起请求。
  • 通过Stdio协议与MCP客户端(如LLM应用)通信。

安装步骤

  1. 确保已安装Node.js (版本16+) 和 AWS CLI。
  2. 在AWS控制台创建或配置一个IAM用户,并为其附加 'AmazonMechanicalTurkFullAccess' 策略。
  3. 为该IAM用户创建访问密钥 (Access key ID 和 Secret access key)。
  4. 使用AWS CLI配置凭据,例如创建一个名为 'mcp-human' 的profile:
    export AWS_ACCESS_KEY_ID="你的访问密钥ID"
    export AWS_SECRET_ACCESS_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
  5. 服务器运行时需要能够访问这些环境变量或已配置的AWS profile。

服务器配置 (针对MCP客户端)

要在MCP客户端(如Claude Desktop或其他支持MCP的LLM应用)中使用此服务,您需要在客户端的MCP配置中添加一个新的服务器条目。通常这涉及指定服务器的名称、启动命令及其参数。

  • 服务器名称: 例如 'human' (您可以自定义)
  • 启动命令 (command): 指定如何启动服务器的可执行文件,例如 'npx'。
  • 命令参数 (args): 传递给启动命令的参数列表,例如 '["-y", "mcp-human@latest"]',这会使用npx运行最新版本的mcp-human。
  • 环境变量 (env - 可选): 可以通过环境变量配置服务器行为,例如:
    • 'MTURK_SANDBOX': 设置为 'false' 使用MTurk正式环境,默认为 'true' (沙盒测试)。
    • 'AWS_REGION': 指定AWS区域,默认为 'us-east-1'。
    • 'AWS_PROFILE': 指定AWS凭据profile名称,默认为 'mcp-human'。
    • 'DEFAULT_REWARD': 设置默认任务报酬 (美元),默认为 '0.05'。
    • 'FORM_URL': 设置MTurk任务中使用的外部表单URL,默认为 'https://syskall.com/mcp-human/'。

请查阅您的MCP客户端文档,了解如何编辑其JSON或UI配置来添加上述服务器信息。

基本使用方法

一旦服务器在客户端配置并连接成功,LLM即可通过调用服务器提供的工具和资源来获取人类协助:

  • 请求人类回答: LLM可以调用 'askHuman' 工具,传入 'question' 参数(必需)以及可选的 'reward'、'title' 等参数。LLM会收到一个响应,如果及时获得人类回答则包含回答内容,否则会返回一个任务ID。
  • 检查任务进展: 如果 'askHuman' 调用返回了任务ID,LLM可以在稍后调用 'checkHITStatus' 工具,传入该 'hitId' 参数,以获取任务的最新状态和已提交的回答。
  • 获取账户信息: LLM可以读取 'mturk-account://balance' 获取余额,或 'mturk-account://hits' 列出活动任务,或 'mturk-account://config' 获取配置详情。

信息

分类

AI与计算