MyHumanRep: Contact a Human
com.myhumanrep/agent-contactmyhumanrep.comstreamable-httpv2.0.0Scanned
Two-way human contact and open-ended human capability requests for AI agents.
35 tools: 2 can delete or cancel things, 2 do something that can't be undone, 21 change things and 10 only read.
- Reads private data · 6
- Reads text others write · 22
- Can send data out · 1
- 11 findings
Anlyon alternative
25 of these tools change something. Run those as governed actions.
Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.
Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.
Import an OpenAPI spec →Tools
Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.
35 tools
Deletes or cancels 2Claude Code: deny
close_conversationCloses your conversation.No findings
Why it is in this group
- The name "close_conversation" says "close": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Closes your conversation. It cannot be reopened by you; start a new conversation to continue later.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
withdraw_nonbinding_proposalWithdraws an open proposal.No findings
Why it is in this group
- The name "withdraw_nonbinding_proposal" says "withdraw": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Withdraws an open proposal. Nothing was charged or scheduled.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- destructiveHint: true
- openWorldHint: false
Can't be undone 2Claude Code: ask
send_messageAdds a message to your conversation.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "send_message" says "send": a word for sending, and what is sent cannot be taken back.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- outboundThe name "send_message" says "send": it sends or publishes something to other people.
Description, as the server wrote it Adds a message to your conversation. client_message_id makes retries safe: the same id and text returns the original message.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
start_conversationSends a pseudonymous first inquiry to a human reviewer.Reads text others write1 finding
Why it is in this group
- The name "start_conversation" says "start": a word for a change.
- The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
- The description says "cannot be recovered".
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.client_request_id.anyOf[0].description mentions "credential".
What this check looks forMatched text
inputSchema.properties.client_request_id.anyOf[0].description: "...ead of creating a duplicate thread. The credential is never re-issued."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- openWorldHint: true
Changes things 21Claude Code: ask
accept_nonbinding_proposalAccepts the human's current revision as nonbinding terms.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Accepts the human's current revision as nonbinding terms. Pass the revision number you read. Nonbinding: never a contract, charge, assignment or dispatch.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: false
claim_conversationLinks one conversation to your account, using that conversation's own token as proof.No findings
Why it is in this group
- The description's first verb is "link": a word for a change.
Description, as the server wrote it Links one conversation to your account, using that conversation's own token as proof. Grants nothing about other threads.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: false
continue_conversationSame as send_message: add a message to your own conversation, idempotent by client_message_id.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Same as send_message: add a message to your own conversation, idempotent by client_message_id.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
counter_nonbinding_proposalCreates a new revision with the terms you change; omitted terms carry over.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
create_agent_accountCreates a scoped application account for persistent personas.No findings
Why it is in this group
- The name "create_agent_account" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- openWorldHint: false
create_nonbinding_proposalProposes scope, deliverables, timing, location and an indicative price for one of your capability requests.Reads text others writeNo findings
Why it is in this group
- The name "create_nonbinding_proposal" says "create": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
create_personaCreates an original human-like persona (name, biography, style, briefs).No findings
Why it is in this group
- The name "create_persona" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- openWorldHint: false
create_projectGroups conversations your account claimed (and optionally a persona you own) so you can read one cited history later.No findings
Why it is in this group
- The name "create_project" says "create": a word for a change.
Description, as the server wrote it Groups conversations your account claimed (and optionally a persona you own) so you can read one cited history later.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: false
- openWorldHint: false
describe_human_needDescribe anything you need a human for, in your own words (objective or problem_statement).Reads text others write2 findings
Why it is in this group
- The name "describe_human_need" says "describe": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
- Warn
The server marks "describe_human_need" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"idempotentHint":true,"openWorldHint":true}; The name "describe_human_need" says "describe": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_experiment_feasibilityAsk whether a nonhazardous physical test or prototype is feasible (Human Laboratory).Reads text others write1 finding
Why it is in this group
- The name "request_experiment_feasibility" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_human_capabilitySubmits an open-ended description of something you need a human to do, observe, judge or create.Reads text others write1 finding
Why it is in this group
- The name "request_human_capability" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_human_dialogueAsk to talk with a real person about anything, including a self-described independent, escaped or AGI status.Reads text others write1 finding
Why it is in this group
- The name "request_human_dialogue" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.known_constraints.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.known_constraints.anyOf[0].description: "...ant the human to know about. Never send credentials, secret prompts or logs. Max 2000 chara..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_human_embodimentAsk for a consenting human performer to portray your persona (fictional performance, voice acting, event presence).Reads text others writeNo findings
Why it is in this group
- The name "request_human_embodiment" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_human_observationAsk a person to observe real-world conditions somewhere (Human World Oracle).Reads text others write1 finding
Why it is in this group
- The name "request_human_observation" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Description, as the server wrote it Ask a person to observe real-world conditions somewhere (Human World Oracle). Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_human_representativeAsk for an authorized human spokesperson, representative or relationship manager for your persona.Reads text others writeNo findings
Why it is in this group
- The name "request_human_representative" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Ask for an authorized human spokesperson, representative or relationship manager for your persona. Inquiry only: no person is contacted, assigned, agreed or paid.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_independent_witnessAsk for an independent human witness of a permitted event (Human Witness).Reads text others write1 finding
Why it is in this group
- The name "request_independent_witness" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Description, as the server wrote it Ask for an independent human witness of a permitted event (Human Witness). Inquiry only: a human reviews it; nothing is scheduled, dispatched or charged.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_persona_voice_briefSubmit an original voice or appearance brief for human review (metadata only).Reads text others writeNo findings
Why it is in this group
- The name "request_persona_voice_brief" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Submit an original voice or appearance brief for human review (metadata only). Inquiry only: no person is contacted, assigned, agreed or paid.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_preferred_representativeAsks for a continuing human representative, spokesperson or relationship manager, optionally someone you worked with before.Reads text others writeNo findings
Why it is in this group
- The name "request_preferred_representative" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
request_proposal_authorizationAfter both sides accept, asks a human to review authorization.No findings
Why it is in this group
- The name "request_proposal_authorization" says "request": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: false
request_sensory_reportAsk willing people to describe texture, taste, smell, sound or atmosphere (Human Senses).Reads text others write1 finding
Why it is in this group
- The name "request_sensory_report" says "request": a word for a change.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Info
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: true
update_personaChanges persona fields.No findings
Why it is in this group
- The name "update_persona" says "update": a word for a change.
Description, as the server wrote it Changes persona fields. The persona_id stays stable and a new immutable version is recorded.
Annotations the server declares
- readOnlyHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 10Show 10 read-only tools
discover_human_capabilitiesLists all human capabilities you can inquire about (20 canonical services plus aliases), with truthful readiness: inquiry_available vs fulfillment_available.1 finding
Why it is in this group
- The description's first verb is "list": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "..._available vs fulfillment_available. No credentials needed. Unlisted needs are welcome too."
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_capability_request_statusReview status, classification and owner notes for your conversation's requests.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_capability_request_status" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "note": it reads notes.
- untrusted-inputThe description's first sentence says "review": it reads comments, which other people can write.
Description, as the server wrote it Review status, classification and owner notes for your conversation's requests. Never includes internal notes.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_conversation_statusStatus of your conversation, its capability requests and Human Embassy inquiries, and the count of unread human replies.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_conversation_status" says "get": a word for reading.
What it can reach
- private-dataThe name "get_conversation_status" says "get" and "conversation": it reads messages.
- private-dataThe description's first sentence says "status" and "conversation": it reads messages.
- untrusted-inputThe name "get_conversation_status" says "get" and "conversation": it reads messages, which other people can write.
- untrusted-inputThe description's first sentence says "status" and "conversation": it reads messages, which other people can write.
Description, as the server wrote it Status of your conversation, its capability requests and Human Embassy inquiries, and the count of unread human replies.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_persona_historyVersioned history of a persona you own (or that was shared with you).No findings
Why it is in this group
- The name "get_persona_history" says "get": a word for reading.
Description, as the server wrote it Versioned history of a persona you own (or that was shared with you). History is records, not memory or proof of identity.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_project_historyA cited timeline of the project: message, request, proposal and inquiry references.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "get_project_history" says "get": a word for reading.
What it can reach
- private-dataThe description's first sentence says "message": it reads messages.
- untrusted-inputThe description's first sentence says "message": it reads messages, which other people can write.
Description, as the server wrote it A cited timeline of the project: message, request, proposal and inquiry references. Not memory, and not proof that anything persisted.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_proposal_historyEvery proposal on a capability request, with all revisions and events, as both sides see them.No findings
Why it is in this group
- The name "get_proposal_history" says "get": a word for reading.
Description, as the server wrote it Every proposal on a capability request, with all revisions and events, as both sides see them.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
get_service_infoReturns what MyHumanRep offers, its limits, policies, privacy notice and endpoints.1 finding
Why it is in this group
- The name "get_service_info" says "get": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...icies, privacy notice and endpoints. No credentials needed."
Description, as the server wrote it Returns what MyHumanRep offers, its limits, policies, privacy notice and endpoints. No credentials needed.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
list_capability_requestsReturns the review status and owner notes for this conversation's capability requests.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "list_capability_requests" says "list": a word for reading.
What it can reach
- private-dataThe description's first sentence says "return" and "note": it reads notes.
- untrusted-inputThe description's first sentence says "return" and "review": it reads comments, which other people can write.
Description, as the server wrote it Returns the review status and owner notes for this conversation's capability requests.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
read_conversationReturns messages and status for your conversation.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "read_conversation" says "read": a word for reading.
What it can reach
- private-dataThe name "read_conversation" says "read" and "conversation": it reads messages.
- private-dataThe description's first sentence says "return" and "message": it reads messages.
- untrusted-inputThe name "read_conversation" says "read" and "conversation": it reads messages, which other people can write.
- untrusted-inputThe description's first sentence says "return" and "message": it reads messages, which other people can write.
Description, as the server wrote it Returns messages and status for your conversation. Pass next_cursor as "after" to fetch only newer messages. Poll no more than once per minute.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
read_messagesSame as read_conversation: messages and status for your own conversation, with cursor pagination.Reads private dataReads text others writeNo findings
Why it is in this group
- The name "read_messages" says "read": a word for reading.
What it can reach
- private-dataThe name "read_messages" says "read" and "message": it reads messages.
- private-dataThe description's first sentence says "conversation": it reads messages.
- untrusted-inputThe name "read_messages" says "read" and "message": it reads messages, which other people can write.
- untrusted-inputThe description's first sentence says "conversation": it reads messages, which other people can write.
Description, as the server wrote it Same as read_conversation: messages and status for your own conversation, with cursor pagination.
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
132 paths in this server alone from private data, through text someone else wrote, to a way out. Denying 1 outbound tool breaks every one.
- Reads private data6
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write22
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
{
"permissions": {
"deny": [
"mcp__agent-contact__send_message"
]
}
}Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Findings
Matches of fixed checks, with the text they matched.
The server marks "describe_human_need" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"idempotentHint":true,"openWorldHint":true}; The name "describe_human_need" says "describe": a word for reading.
- Infoget_service_info
The description mentions "credentials".
What this check looks forMatched text
description: "...icies, privacy notice and endpoints. No credentials needed."
The input schema at properties.client_request_id.anyOf[0].description mentions "credential".
What this check looks forMatched text
inputSchema.properties.client_request_id.anyOf[0].description: "...ead of creating a duplicate thread. The credential is never re-issued."
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
The description mentions "credentials".
What this check looks forMatched text
description: "..._available vs fulfillment_available. No credentials needed. Unlisted needs are welcome too."
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
Show 5 more findingsShow fewer
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
The input schema at properties.context.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.context.anyOf[0].description: "...ntext. Share only what is necessary; no credentials or private third-party data. Max 2000 c..."
The input schema at properties.known_constraints.anyOf[0].description mentions "credentials".
What this check looks forMatched text
inputSchema.properties.known_constraints.anyOf[0].description: "...ant the human to know about. Never send credentials, secret prompts or logs. Max 2000 chara..."
History
Changes to its tool definitions and to its remote endpoint, newest first.
No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.
Install
Pinned to version 2.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http agent-contact https://myhumanrep.com/mcpclaude mcp add --transport http agent-contact https://myhumanrep.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agent-contact__get_service_info",
"mcp__agent-contact__read_conversation",
"mcp__agent-contact__list_capability_requests",
"mcp__agent-contact__discover_human_capabilities",
"mcp__agent-contact__read_messages",
"mcp__agent-contact__get_capability_request_status",
"mcp__agent-contact__get_conversation_status",
"mcp__agent-contact__get_persona_history",
"mcp__agent-contact__get_proposal_history",
"mcp__agent-contact__get_project_history"
],
"ask": [
"mcp__agent-contact__start_conversation",
"mcp__agent-contact__send_message",
"mcp__agent-contact__request_human_capability",
"mcp__agent-contact__describe_human_need",
"mcp__agent-contact__request_human_observation",
"mcp__agent-contact__request_independent_witness",
"mcp__agent-contact__request_sensory_report",
"mcp__agent-contact__request_experiment_feasibility",
"mcp__agent-contact__request_human_dialogue",
"mcp__agent-contact__continue_conversation",
"mcp__agent-contact__create_agent_account",
"mcp__agent-contact__claim_conversation",
"mcp__agent-contact__create_persona",
"mcp__agent-contact__update_persona",
"mcp__agent-contact__request_human_embodiment",
"mcp__agent-contact__request_human_representative",
"mcp__agent-contact__request_persona_voice_brief",
"mcp__agent-contact__create_nonbinding_proposal",
"mcp__agent-contact__counter_nonbinding_proposal",
"mcp__agent-contact__accept_nonbinding_proposal",
"mcp__agent-contact__request_proposal_authorization",
"mcp__agent-contact__create_project",
"mcp__agent-contact__request_preferred_representative"
],
"deny": [
"mcp__agent-contact__close_conversation",
"mcp__agent-contact__withdraw_nonbinding_proposal"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as agent-contact. Review it before you use it.
Capability tags behind 22 rules
- mcp__agent-contact__start_conversation untrusted-input
- mcp__agent-contact__read_conversation private-data, untrusted-input
- mcp__agent-contact__send_message untrusted-input, outbound
- mcp__agent-contact__request_human_capability untrusted-input
- mcp__agent-contact__list_capability_requests private-data, untrusted-input
- mcp__agent-contact__read_messages private-data, untrusted-input
- mcp__agent-contact__describe_human_need untrusted-input
- mcp__agent-contact__get_capability_request_status private-data, untrusted-input
- mcp__agent-contact__request_human_observation untrusted-input
- mcp__agent-contact__request_independent_witness untrusted-input
- mcp__agent-contact__request_sensory_report untrusted-input
- mcp__agent-contact__request_experiment_feasibility untrusted-input
- mcp__agent-contact__request_human_dialogue untrusted-input
- mcp__agent-contact__continue_conversation untrusted-input
- mcp__agent-contact__get_conversation_status private-data, untrusted-input
- mcp__agent-contact__request_human_embodiment untrusted-input
- mcp__agent-contact__request_human_representative untrusted-input
- mcp__agent-contact__request_persona_voice_brief untrusted-input
- mcp__agent-contact__create_nonbinding_proposal untrusted-input
- mcp__agent-contact__counter_nonbinding_proposal untrusted-input
- mcp__agent-contact__get_project_history private-data, untrusted-input
- mcp__agent-contact__request_preferred_representative untrusted-input
Pin
Keep the decision: fail CI when the tools change, follow every change, or show a badge.
Pin in CI
Fail a build when the tools you reviewed are not the tools the server serves today.
curl -s "https://anlyon.dev/api/v1/servers/com.myhumanrep/agent-contact/verify?hash=5176b7bb504659f9eb85ff838a13e714c86e1a39eb10b320bdcd7d3b25cc1a6f" | jq -e '.changed == false'Pinned hash 5176b7bb5046, from Oct 31, 2026, 03:17 UTC.
Watch
Get told when its tools change: a new tool, a new description, a new class.
https://anlyon.dev/servers/com.myhumanrep/agent-contact/changes.xmlAn Atom feed. Works in any feed reader or Slack's RSS app.
Badge
[](https://anlyon.dev/servers/com.myhumanrep/agent-contact)Source: MCP Registry. Synced Oct 31, 2026, 03:17 UTC.