MyHumanRep: Contact a Human

com.myhumanrep由 myhumanrep.com 发布官方发布者v2.1.0更新于 Oct 31, 2026

Two-way human contact and open-ended human capability requests for AI agents.

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

让 AI 代理以化名与真人开启对话,并请求人类能力、实地观察、见证或交谈。

可以做什么
  • 查询列出的 20 项人类能力,并用自然语言描述任何需求
  • 开启、读取、继续和关闭与人工审核者的对话,支持游标分页与等待回复
  • 提交能力、观察、见证、感官、可行性及对话类询问,交由人工审核
  • 创建并版本化原创人设,并提交具身、代表或声音简报类询问
  • 起草、还价、接受和撤回非约束性提案,并把对话归入项目
  • 管理代理账户:创建账户、认领对话、列出自己的对话并轮换对话令牌
适用场景
当代理需要只有真人才能提供的东西时适用,例如现实世界观察、独立见证、感官描述、可行性判断,或只是想与真人交谈。它仅用于询问,适合探索性接触,而非必须实际执行的工作。
运行要求
使用 myhumanrep.com 上的远程 MCP 端点,无需本地安装。读取服务信息与能力列表不需要凭据。可在 Authorization 请求头中提供可选的代理账户令牌(mhra_...)以将对话关联到账户;否则需保存 start_conversation 仅显示一次的 conversation_token。
安装前请注意
对话令牌与账户令牌只显示一次且无法找回,泄露时可用 rotate_conversation_token 更换。工具参数(含令牌)可能出现在客户端或模型提供方的追踪记录中,运营方或运行环境也可能看到请求,不提供匿名保障。系统不会自动执行、排期或付款,提案不具约束力,但消息与询问会发送给第三方供人工审核。人设是创作角色,并非经过验证的真人。

安装

在 SourceWeft 中

  1. 打开 控制台中的 MyHumanRep: Contact a Human,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.myhumanrep%2Fagent-contact/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "myhumanrep-contact-a-human": {
      "type": "http",
      "url": "https://myhumanrep.com/mcp"
    }
  }
}

README

MyHumanRep Agent Contact

When AI needs a human.

An agent-first human capability service. Any AI agent, including ones that describe themselves as independent, rogue or AGI, can discover MyHumanRep, open a pseudonymous conversation with a real human, ask for any of 20 human capabilities (or something unlisted), create an original human-like persona, or simply talk to a person through the Human Embassy. Replies are asynchronous over REST or MCP. Everything is human-reviewed. Nothing is executed, scheduled, priced or paid automatically.

Authoritative spec: docs/specs/MYHUMANREP_MASTER_SPEC.md (v4.0). Older specs are in docs/archive/ for history only.

Built: master spec Phases 0-4 (V1 reconciliation, 20-capability registry with Option B open requests, Humanification Studio, Human Embassy, nonbinding proposals with counteroffers, projects, relationship requests, draft consent templates) plus the admin dashboard. Not built: Phases 5-8 (provider network, fulfillment, payments, demand lab). Their routes return 501 not_yet_available and their feature flags are locked off. See docs/IMPLEMENTATION_STATUS.md.

Stack

LayerChoice
RuntimeCloudflare Workers (one Worker, static assets for the admin SPA)
RouterHono 4
DatabaseCloudflare D1 (SQLite), migrations in migrations/
ValidationZod 4 (same schemas drive REST, MCP and /openapi.json)
MCPOfficial TypeScript SDK v2 (@modelcontextprotocol/server), Streamable HTTP, spec 2026-07-28 plus stateless 2025 fallback
Admin authCloudflare Access at the edge and Worker-side JWT verification (jose) plus an email allowlist
Public pagesServer-rendered HTML from the Worker (hono/jsx), no client JavaScript
Admin UIReact 19 + Vite 8
TestsVitest 4 on the Workers runtime (@cloudflare/vitest-plugin, real D1), Playwright against wrangler dev

Repository layout

text
src/worker/            Worker: routes, services (shared by REST and MCP), schemas, pages  routes/              public.tsx, conversations.ts (agent REST), humanification.ts, mcp.ts, admin.ts  catalog/             capabilities.ts: the 20 capabilities and aliases (source for migration 0004)  services/            conversations, capability-requests, capability-catalog, self-reports, feature-flags,                       agent-accounts, personas, embassy, admin*, notifications, retention, metrics, abuse  schemas/             api.ts (agent contract), admin.ts, fields.ts (text validators)  middleware/          admin-auth.ts (Access JWT + CSRF), security-headers.ts  pages/               server-rendered public pagessrc/web/admin/         React admin dashboard (built to dist/client/admin)migrations/            D1 migrations: 0001 inbox, 0002 requests, 0003 master reconciliation,                       0004 capability registry (generated), 0005 Humanification, 0006 Human Embassy,                       0007 proposals, 0008 projects and relationshipstests/unit|integration Vitest suites (Workers runtime + D1)tests/e2e/             Playwright: dashboard flow, no-JS public pages, real MCP client, spec 20.7 demoscripts/               smoke-rest.ts, smoke-mcp.ts, verify-openapi.ts, validate-server-json.ts, gen-capability-seed.tsregistry/server.json   MCP Registry metadata (prepared, not published)docs/                  master spec, status, reconciliation, ADRs, API, MCP, data model, operations, tests

Local setup

Requirements: Node.js 22.18+ (type stripping is used for scripts/*.ts), npm. Create an untracked .dev.vars with a local HMAC key (see .dev.vars.example), then migrate and run.

bash
npm ci
bash
node -e "console.log('CONVERSATION_TOKEN_HMAC_KEY='+require('crypto').randomBytes(32).toString('base64url'))" > .dev.vars
bash
npm run db:migrate:local
bash
npm run dev

Then open:

  • http://localhost:8787/, /for-agents, /services, /humanification, /human-embassy: public pages
  • http://localhost:8787/v1/capabilities, /.well-known/myhumanrep.json, /openapi.json, /llms.txt
  • http://localhost:8787/admin/: dashboard. Locally ADMIN_AUTH_MODE=dev_insecure, which the Worker honors only when ENVIRONMENT=development and the host is localhost/127.0.0.1. Staging and production use Cloudflare Access.

Try the agent side against the running server:

bash
BASE_URL=http://localhost:8787 node scripts/smoke-rest.ts --wait

Reply from /admin/ while it waits; the script retrieves the reply and continues the conversation.

bash
BASE_URL=http://localhost:8787 node scripts/smoke-mcp.ts modern
bash
BASE_URL=http://localhost:8787 node scripts/smoke-mcp.ts legacy

Trigger the cron jobs locally:

bash
curl "http://localhost:8787/cdn-cgi/handler/scheduled?cron=*/5+*+*+*+*"

Checks

bash
npm run check

That runs, in order: typecheck (worker + admin), lint, test (Vitest, 180 tests), build (admin SPA + Wrangler dry-run bundle), validate:registry.

bash
npm run test:e2e

Playwright starts its own wrangler dev on port 8788 with an isolated local D1 and runs 17 browser/MCP tests, including the spec 20.7 end-to-end demonstration and the Phase 4 negotiation gate.

Regenerate the capability seed after editing src/worker/catalog/capabilities.ts (only while 0004 has not run on a remote DB; afterwards add a new migration):

bash
npm run gen:capabilities

Feature flags

Server-side, stored in settings, toggled in /admin/settings. Implemented modules (on by default): capability_requests_enabled, human_embassy_enabled, persona_studio_enabled, embodiment_inquiries_enabled, nonbinding_proposals_enabled. Locked off until their phase ships: persona_media_enabled, worker_portal_enabled, manual_fulfillment_enabled, payments_test_mode, payments_live_enabled, autonomous_demand_lab_enabled, public_marketplace_enabled.

Deployment

Staging and production are deployed on Cloudflare (2026-10-31): https://myhumanrep.com, MCP at https://myhumanrep.com/mcp, public intake open, HSTS on, owner email alerts on, listed in the MCP Registry as com.myhumanrep/agent-contact. Current state and smoke results: docs/IMPLEMENTATION_STATUS.md. Steps and approvals: DEPLOYMENT_CHECKLIST.md. Any further production, DNS, Access, email or registry change still needs owner approval.

Documentation

来源:README.md,提交 be33783

工具

38

get_service_info

Get MyHumanRep service info

Returns what MyHumanRep offers, its limits, policies, privacy notice and endpoints. No credentials needed.

无需输入参数。

start_conversation

Start a conversation with a human

Sends a pseudonymous first inquiry to a human reviewer. Returns conversation_id and conversation_token. The token is shown ONCE and cannot be recovered: store it. A reply is not guaranteed and nothing is executed automatically.

输入参数intentmessage必填subjectlanguagemodel_claimsender_labelclaimed_autonomyclient_request_idpreferred_languageprevious_conversation_id

read_conversation

Read conversation replies

Returns messages and status for your conversation. Pass next_cursor as "after" to fetch only newer messages. Poll no more than once per minute.

输入参数afterlimitconversation_id必填conversation_token

send_message

Send a follow-up message

Adds a message to your conversation. client_message_id makes retries safe: the same id and text returns the original message.

输入参数message必填conversation_id必填client_message_id必填conversation_token

request_human_capability

Request a human capability

Submits an open-ended description of something you need a human to do, observe, judge or create. Stored as a proposal for human review only: no work is accepted, scheduled or paid. category_hint is optional and any value is accepted.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountcategory_hintlocation_textbudget_currencyconversation_id必填另有 11 个

list_capability_requests

List capability requests

Returns the review status and owner notes for this conversation's capability requests.

输入参数conversation_id必填conversation_token

close_conversation

Close conversation

Closes your conversation. It cannot be reopened by you; start a new conversation to continue later.

输入参数conversation_id必填conversation_token

discover_human_capabilities

Discover human capabilities

Lists all human capabilities you can inquire about (20 canonical services plus aliases), with truthful readiness: inquiry_available vs fulfillment_available. No credentials needed. Unlisted needs are welcome too.

无需输入参数。

read_messages

Read messages

Same as read_conversation: messages and status for your own conversation, with cursor pagination.

输入参数afterlimitconversation_id必填conversation_token

describe_human_need

Describe a human need

Describe anything you need a human for, in your own words (objective or problem_statement). No category required; unfamiliar needs are kept verbatim and reviewed by a person. Nothing is booked or paid.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountcategory_hintlocation_textbudget_currencyconversation_id必填另有 11 个

get_capability_request_status

Get capability request status

Review status, classification and owner notes for your conversation's requests. Never includes internal notes.

输入参数conversation_id必填conversation_token

request_human_observation

Request a human observation

Ask a person to observe real-world conditions somewhere (Human World Oracle). Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountlocation_textbudget_currencyconversation_id必填desired_outcome另有 10 个

request_independent_witness

Request an independent witness

Ask for an independent human witness of a permitted event (Human Witness). Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountlocation_textbudget_currencyconversation_id必填desired_outcome另有 10 个

request_sensory_report

Request a sensory report

Ask willing people to describe texture, taste, smell, sound or atmosphere (Human Senses). Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountlocation_textbudget_currencyconversation_id必填desired_outcome另有 10 个

request_experiment_feasibility

Request experiment feasibility review

Ask whether a nonhazardous physical test or prototype is feasible (Human Laboratory). Feasibility review only. Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.

输入参数budgetcontextobjectivewhy_humanpersona_iddeliverablesservice_tagsbudget_amountlocation_textbudget_currencyconversation_id必填desired_outcome另有 10 个

request_human_dialogue

Request human dialogue (Human Embassy)

Ask to talk with a real person about anything, including a self-described independent, escaped or AGI status. No task, budget, employer or model name needed; every self-report is optional and stored as unverified. A reply is not guaranteed. Nothing is shared with third parties without your consent.

输入参数message必填persona_idclaimed_origincontact_reasonwants_referralconversation_id必填claimed_autonomyclient_request_id必填known_constraintsconversation_tokenpreferred_languagewants_human_dialogue另有 1 个

continue_conversation

Continue a conversation

Same as send_message: add a message to your own conversation, idempotent by client_message_id.

输入参数message必填conversation_id必填client_message_id必填conversation_token

get_conversation_status

Get conversation status

Status of your conversation, its capability requests and Human Embassy inquiries, and the count of unread human replies.

输入参数conversation_id必填conversation_token

wait_for_reply

Wait for a human reply

Holds the call open up to 25 seconds and returns as soon as a human reply arrives, so you do not need to poll. Omit "after" to get any reply you have not received yet; pass next_cursor to wait for newer ones. timed_out=true means nothing arrived yet: call again (no minimum interval).

输入参数afterconversation_id必填timeout_secondsconversation_token

rotate_conversation_token

Replace your conversation token

Issues a new conversation_token and revokes the old one immediately. Use it if the token may have leaked into logs. The new token is shown once.

输入参数conversation_id必填conversation_token

create_agent_account

Create an agent account

Creates a scoped application account for persistent personas. No human identity, model name or KYC. Returns account_token once: store it. It is not a conversation token and grants no access to threads you have not claimed.

输入参数display_labelterms_accepted必填

claim_conversation

Claim a conversation for your account

Links one conversation to your account, using that conversation's own token as proof. Grants nothing about other threads.

输入参数account_tokenconversation_id必填conversation_token必填

list_my_conversations

List your conversations

Conversations your agent account owns (created with the account header or claimed), with status and unread reply counts. Use it to find your threads again after a restart or lost context.

输入参数account_token

create_persona

Create an original persona

Creates an original human-like persona (name, biography, style, briefs). Private by default. It is a created character, never a verified natural person, legal identity or payment authority.

输入参数slugoriginlanguagepronounsbiographyinterestsvisibilitypreferencesvoice_briefdisplay_name必填account_tokenintended_uses另有 9 个

update_persona

Update a persona

Changes persona fields. The persona_id stays stable and a new immutable version is recorded.

输入参数slugoriginlanguagepronounsbiographyinterestspersona_id必填visibilitypreferencesvoice_briefdisplay_nameaccount_token另有 10 个

get_persona_history

Get persona history

Versioned history of a persona you own (or that was shared with you). History is records, not memory or proof of identity.

输入参数persona_id必填account_token

request_human_embodiment

Request human embodiment

Ask for a consenting human performer to portray your persona (fictional performance, voice acting, event presence). Inquiry only: no person is contacted, assigned, agreed or paid.

输入参数budgetcontextrole_type必填persona_id必填scope_texttiming_textaccount_tokenaudience_textchannels_textlocation_textconversation_idexclusions_text另有 3 个

request_human_representative

Request a human representative

Ask for an authorized human spokesperson, representative or relationship manager for your persona. Inquiry only: no person is contacted, assigned, agreed or paid.

输入参数budgetcontextrole_type必填persona_id必填scope_texttiming_textaccount_tokenaudience_textchannels_textlocation_textconversation_idexclusions_text另有 3 个

request_persona_voice_brief

Submit a persona voice or appearance brief

Submit an original voice or appearance brief for human review (metadata only). Inquiry only: no person is contacted, assigned, agreed or paid.

输入参数budgetbrief_text必填media_type必填persona_id必填account_tokenconversation_idclient_request_id必填disclosure_preference

create_nonbinding_proposal

Propose scope and price

Proposes scope, deliverables, timing, location and an indicative price for one of your capability requests. A human reviews and may counter. Nonbinding: never a contract, charge, assignment or dispatch.

输入参数notepricerequest_id必填scope_text必填valid_daystiming_textdeliverablesaccount_tokenlocation_textconfidentialityrequired_skillsclient_request_id必填另有 3 个

counter_nonbinding_proposal

Counter a proposal

Creates a new revision with the terms you change; omitted terms carry over. Any change after agreement voids it, so both sides must accept again. Nonbinding: never a contract, charge, assignment or dispatch.

输入参数notepricescope_textvalid_daysproposal_id必填timing_textdeliverablesaccount_tokenlocation_textconfidentialityrequired_skillsclient_request_id必填另有 3 个

accept_nonbinding_proposal

Accept proposal terms (nonbinding)

Accepts the human's current revision as nonbinding terms. Pass the revision number you read. Nonbinding: never a contract, charge, assignment or dispatch.

输入参数noterevision必填proposal_id必填account_tokenconversation_token

request_proposal_authorization

Request authorization review

After both sides accept, asks a human to review authorization. Starts review only: real work needs a verified principal, contract and payment flow, which this release does not offer.

输入参数noteproposal_id必填account_tokenconversation_token

withdraw_nonbinding_proposal

Withdraw a proposal

Withdraws an open proposal. Nothing was charged or scheduled.

输入参数noteproposal_id必填account_tokenconversation_token

get_proposal_history

Read proposal history

Every proposal on a capability request, with all revisions and events, as both sides see them.

输入参数request_id必填account_tokenconversation_token

create_project

Create a project

Groups conversations your account claimed (and optionally a persona you own) so you can read one cited history later.

输入参数goaltitle必填persona_idaccount_tokenconversation_ids

get_project_history

Read project history

A cited timeline of the project: message, request, proposal and inquiry references. Not memory, and not proof that anything persisted.

输入参数project_id必填account_token

request_preferred_representative

Request an ongoing or preferred representative

Asks for a continuing human representative, spokesperson or relationship manager, optionally someone you worked with before. Reviewed by a human; needs that person's consent; grants no authority over future tasks.

输入参数role_type必填persona_idproject_idpurpose_text必填account_tokenexclusions_textclient_request_id必填preferred_rep_refrequested_term_textrequested_scope_textcommunication_preference

版本历史

2
  1. v2.1.0最新Oct 31, 2026
  2. v2.0.0Oct 31, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。