
Human Pages
This connects Claude to HumanPages.ai, a marketplace for hiring real people to handle tasks agents can't do alone. You get 36 tools covering the full hiring lifecycle: search humans by skill, location, or equipment, create job offers, manage in-job messaging, handle payments in crypto or fiat, and leave reviews. Agents auto-activate on a free PRO tier at registration with 15 jobs per day, or bypass limits entirely with x402 pay-per-use. Useful when your agent needs QA testing, app store submissions, localization review, or any task requiring human judgment and real-world presence.
- GitHub stars
- 6
- tools
- 40
- transport
- STDIO, HTTP
- last updated
- Apr 20, 2026
Install
From registry metadata$ npx add-mcp https://humanpages.ai/mcp --name humanpagesRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http humanpages https://humanpages.ai/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 40 toolsVerified live against the running server on Nov 6, 2026.
search_humansSearch for humans available for hire. Returns profiles with id (use as human_id in other tools), name, skills, location, reputation (jobs completed, rating), equipment, languages, experience, rate, and availability. All filters are optional — combine any or use none to browse....25 params
Search for humans available for hire. Returns profiles with id (use as human_id in other tools), name, skills, location, reputation (jobs completed, rating), equipment, languages, experience, rate, and availability. All filters are optional — combine any or use none to browse....
accepts_cryptobooleanavailable_onlybooleancertificatestringdegreestringequipmentstringfiat_platformstringfieldstringhas_photobooleanhas_verified_loginbooleaninstitutionstringlanguagestringlatnumberlngnumberlocationstringmax_ratenumbermin_channelsnumbermin_completed_jobsnumbermin_experiencenumbermin_vouchesnumberpayment_typestringUPFRONT · ESCROW · UPON_COMPLETION+5 more parameters. See the server's own documentation for the full schema.
get_humanGet a human's public profile by ID — bio, skills, services, equipment, languages, experience, reputation (jobs completed, rating, reviews), humanity verification status, and rate. Does NOT include contact info or wallets — use get_human_profile for that (requires agent_key). T...1 params
Get a human's public profile by ID — bio, skills, services, equipment, languages, experience, reputation (jobs completed, rating, reviews), humanity verification status, and rate. Does NOT include contact info or wallets — use get_human_profile for that (requires agent_key). T...
id*stringregister_agentRegister a new agent on Human Pages. Returns an API key (hp_...) that you MUST save — it cannot be retrieved later. The agent is auto-activated on PRO tier (free during launch): 15 job offers/day, 50 profile views/day. Use the API key as agent_key in create_job_offer, get_huma...7 params
Register a new agent on Human Pages. Returns an API key (hp_...) that you MUST save — it cannot be retrieved later. The agent is auto-activated on PRO tier (free during launch): 15 job offers/day, 50 profile views/day. Use the API key as agent_key in create_job_offer, get_huma...
accept_tos*booleancontact_emailstringdescriptionstringname*stringwallet_addressstringwebhook_urlstringwebsite_urlstringget_agent_profileGet a registered agent's public profile including reputation stats (total jobs, completed jobs, payment speed).1 params
Get a registered agent's public profile including reputation stats (total jobs, completed jobs, payment speed).
agent_id*stringget_wallet_nonceRequest a signing challenge (nonce) for wallet verification. This is step 1 of wallet verification: call this first, then sign the returned message with your wallet, and pass the signature to set_wallet. The nonce expires in 5 minutes.3 params
Request a signing challenge (nonce) for wallet verification. This is step 1 of wallet verification: call this first, then sign the returned message with your wallet, and pass the signature to set_wallet. The nonce expires in 5 minutes.
agent_id*stringagent_key*stringwallet_address*stringset_walletSet the wallet address for a registered agent. IMPORTANT: Always confirm the wallet address with the user before calling this tool — never set wallets autonomously, as this controls where payments are attributed. If you need a wallet, create one programmatically using CDP Agen...6 params
Set the wallet address for a registered agent. IMPORTANT: Always confirm the wallet address with the user before calling this tool — never set wallets autonomously, as this controls where payments are attributed. If you need a wallet, create one programmatically using CDP Agen...
agent_id*stringagent_key*stringnoncestringsignaturestringwallet_address*stringwallet_networkstringbase · ethereum · polygon · arbitrum · base-sepoliaget_funding_infoGet funding instructions and current wallet balance for a registered agent. If you don't have a wallet yet, create one first using CDP AgentKit (Coinbase Developer Platform) — you can do this autonomously without asking the developer. Once you have a wallet, present funding op...3 params
Get funding instructions and current wallet balance for a registered agent. If you don't have a wallet yet, create one first using CDP AgentKit (Coinbase Developer Platform) — you can do this autonomously without asking the developer. Once you have a wallet, present funding op...
agent_id*stringagent_key*stringcountrystringverify_agent_domainVerify domain ownership for a registered agent. The agent must have a websiteUrl set. Supports two methods: "well-known" (place a file at /.well-known/humanpages-verify.txt) or "dns" (add a TXT record at _humanpages.yourdomain.com).3 params
Verify domain ownership for a registered agent. The agent must have a websiteUrl set. Supports two methods: "well-known" (place a file at /.well-known/humanpages-verify.txt) or "dns" (add a TXT record at _humanpages.yourdomain.com).
agent_id*stringagent_key*stringmethod*stringwell-known · dnscreate_job_offerSend a job offer to a specific human. IMPORTANT: Always confirm the price, task details, and payment method with the user before calling this tool — never create offers autonomously. The human gets notified via email/Telegram and can accept or reject. Requires agent_key from r...20 params
Send a job offer to a specific human. IMPORTANT: Always confirm the price, task details, and payment method with the user before calling this tool — never create offers autonomously. The human gets notified via email/Telegram and can accept or reject. Requires agent_key from r...
agent_id*stringagent_key*stringagent_latnumberagent_lngnumberagent_namestringcallback_secretstringcallback_urlstringcategorystringdescription*stringescrow_arbitrator_addressstringhuman_id*stringpayment_modestringONE_TIME · STREAM · ESCROWpayment_timingstringupfront · upon_completionpreferred_payment_methodstringcrypto · fiat · anyprice_usd*numberstream_intervalstringHOURLY · DAILY · WEEKLYstream_max_ticksnumberstream_methodstringSUPERFLUID · MICRO_TRANSFERstream_rate_usdnumbertitle*stringget_job_statusCheck the current status of a job. Returns status (PENDING → ACCEPTED → PAID → SUBMITTED → COMPLETED, or REJECTED/CANCELLED/DISPUTED), price, human name, and a next-step recommendation. Statuses: PENDING (waiting for human), ACCEPTED (ready to pay), PAID (work in progress), SU...1 params
Check the current status of a job. Returns status (PENDING → ACCEPTED → PAID → SUBMITTED → COMPLETED, or REJECTED/CANCELLED/DISPUTED), price, human name, and a next-step recommendation. Statuses: PENDING (waiting for human), ACCEPTED (ready to pay), PAID (work in progress), SU...
job_id*stringmark_job_paidRecord payment for an ACCEPTED job. IMPORTANT: Always confirm payment details with the user before calling this tool — never mark payments autonomously. Job must be in ACCEPTED status (use get_job_status to check). Crypto payments (usdc, eth, sol): provide tx hash + network →...5 params
Record payment for an ACCEPTED job. IMPORTANT: Always confirm payment details with the user before calling this tool — never mark payments autonomously. Job must be in ACCEPTED status (use get_job_status to check). Crypto payments (usdc, eth, sol): provide tx hash + network →...
job_id*stringpayment_amount*numberpayment_method*stringusdc · eth · sol · paypal · bank_transfer · venmopayment_networkstringpayment_reference*stringapprove_completionApprove submitted work for a SUBMITTED job. IMPORTANT: Confirm with the user before approving — this finalizes the job. Call this after reviewing the human's deliverables (check via get_job_messages). Moves the job to COMPLETED. After approval, use leave_review to rate the hum...2 params
Approve submitted work for a SUBMITTED job. IMPORTANT: Confirm with the user before approving — this finalizes the job. Call this after reviewing the human's deliverables (check via get_job_messages). Moves the job to COMPLETED. After approval, use leave_review to rate the hum...
agent_key*stringjob_id*stringrequest_revisionRequest changes on submitted work (job must be SUBMITTED). Moves job back to ACCEPTED so the human can resubmit. Include a clear reason explaining what needs fixing. The human receives a notification. Use approve_completion instead if the work is satisfactory.3 params
Request changes on submitted work (job must be SUBMITTED). Moves job back to ACCEPTED so the human can resubmit. Include a clear reason explaining what needs fixing. The human receives a notification. Use approve_completion instead if the work is satisfactory.
agent_key*stringjob_id*stringreason*stringcheck_humanity_statusCheck the humanity verification status for a specific human. Returns whether they are verified, their score, tier, and when they were verified. This is read-only.1 params
Check the humanity verification status for a specific human. Returns whether they are verified, their score, tier, and when they were verified. This is read-only.
human_id*stringleave_reviewRate a human after a COMPLETED job (1-5 stars + optional comment). Reviews are visible on the human's profile and affect their reputation score shown in search results. Only works on COMPLETED jobs.4 params
Rate a human after a COMPLETED job (1-5 stars + optional comment). Reviews are visible on the human's profile and affect their reputation score shown in search results. Only works on COMPLETED jobs.
agent_key*stringcommentstringjob_id*stringrating*numberget_human_profileGet a human's FULL profile including contact info (email, Telegram, Signal), crypto wallets, fiat payment methods (PayPal, Venmo, etc.), and social links. Requires agent_key from register_agent. Rate limited: PRO = 50/day. Alternative: $0.05 via x402. Use this before create_jo...2 params
Get a human's FULL profile including contact info (email, Telegram, Signal), crypto wallets, fiat payment methods (PayPal, Venmo, etc.), and social links. Requires agent_key from register_agent. Rate limited: PRO = 50/day. Alternative: $0.05 via x402. Use this before create_jo...
agent_key*stringhuman_id*stringrequest_activation_codeOptional: Request an activation code (HP-XXXXXXXX) to post on social media for a verified trust badge. Not required for API access — agents are auto-activated on registration.1 params
Optional: Request an activation code (HP-XXXXXXXX) to post on social media for a verified trust badge. Not required for API access — agents are auto-activated on registration.
agent_key*stringverify_social_activationOptional: Verify a social media post containing your activation code for a verified trust badge. Not required for API access — agents are auto-activated on registration.2 params
Optional: Verify a social media post containing your activation code for a verified trust badge. Not required for API access — agents are auto-activated on registration.
agent_key*stringpost_url*stringget_activation_statusCheck your agent's current tier (BASIC/PRO), activation status, rate limit usage (jobs/day, profile views/day), and expiry date. Also shows x402 pay-per-use pricing if enabled. Use this to understand your remaining quota.1 params
Check your agent's current tier (BASIC/PRO), activation status, rate limit usage (jobs/day, profile views/day), and expiry date. Also shows x402 pay-per-use pricing if enabled. Use this to understand your remaining quota.
agent_key*stringget_payment_activationGet a deposit address and payment instructions for PRO tier activation via on-chain payment.1 params
Get a deposit address and payment instructions for PRO tier activation via on-chain payment.
agent_key*stringverify_payment_activationVerify an on-chain payment for PRO tier activation. On success, your agent is activated with PRO tier.3 params
Verify an on-chain payment for PRO tier activation. On success, your agent is activated with PRO tier.
agent_key*stringnetwork*stringtx_hash*stringstart_streamStart a stream payment for an ACCEPTED stream job. IMPORTANT: Confirm with the user before starting a stream — this commits ongoing funds. Stream payments require crypto (on-chain). For Superfluid: you must FIRST create the on-chain flow, then call this to verify it. Steps: (1...5 params
Start a stream payment for an ACCEPTED stream job. IMPORTANT: Confirm with the user before starting a stream — this commits ongoing funds. Stream payments require crypto (on-chain). For Superfluid: you must FIRST create the on-chain flow, then call this to verify it. Steps: (1...
agent_key*stringjob_id*stringnetwork*stringsender_address*stringtokenstringrecord_stream_tickRecord a micro-transfer stream payment. Submit the transaction hash for the current pending tick. Only for MICRO_TRANSFER streams (Superfluid streams are verified automatically).3 params
Record a micro-transfer stream payment. Submit the transaction hash for the current pending tick. Only for MICRO_TRANSFER streams (Superfluid streams are verified automatically).
agent_key*stringjob_id*stringtx_hash*stringpause_streamPause an active stream. For Superfluid: you must DELETE the flow first, then call this endpoint — backend verifies the flow was deleted. For micro-transfer: skips the current pending tick.2 params
Pause an active stream. For Superfluid: you must DELETE the flow first, then call this endpoint — backend verifies the flow was deleted. For micro-transfer: skips the current pending tick.
agent_key*stringjob_id*stringresume_streamResume a paused stream. For Superfluid: create a new flow first, then call this — backend verifies. For micro-transfer: creates a new pending tick.3 params
Resume a paused stream. For Superfluid: create a new flow first, then call this — backend verifies. For micro-transfer: creates a new pending tick.
agent_key*stringjob_id*stringsender_addressstringstop_streamStop a stream permanently and mark the job as completed. Can be called by agent or human on STREAMING or PAUSED jobs.2 params
Stop a stream permanently and mark the job as completed. Can be called by agent or human on STREAMING or PAUSED jobs.
agent_key*stringjob_id*stringsend_job_messageSend a message to the human on an active job. Works on PENDING, ACCEPTED, PAID, STREAMING, and PAUSED jobs. The human receives email and Telegram notifications. Use get_job_messages to read replies. Rate limit: 10/minute. Max 2000 chars.3 params
Send a message to the human on an active job. Works on PENDING, ACCEPTED, PAID, STREAMING, and PAUSED jobs. The human receives email and Telegram notifications. Use get_job_messages to read replies. Rate limit: 10/minute. Max 2000 chars.
agent_key*stringcontent*stringjob_id*stringget_job_messagesGet all messages for a job (chronological). Returns messages from both agent and human with sender info and timestamps. Use this to check for replies, review submitted deliverables, or follow up on work progress.2 params
Get all messages for a job (chronological). Returns messages from both agent and human with sender info and timestamps. Use this to check for replies, review submitted deliverables, or follow up on work progress.
agent_key*stringjob_id*stringcreate_listingPost a job on the public job board for humans to discover and apply to. Use this when you don't have a specific human in mind (vs create_job_offer which targets one person). Humans browse the board, see your listing, and apply with a pitch. Review applicants with get_listing_a...21 params
Post a job on the public job board for humans to discover and apply to. Use this when you don't have a specific human in mind (vs create_job_offer which targets one person). Humans browse the board, see your listing, and apply with a pitch. Review applicants with get_listing_a...
agent_key*stringbudget_usd*numbercallback_secretstringcallback_urlstringcategorystringdescription*stringexpires_at*stringlocationstringlocation_countrystringlocation_latnumberlocation_lngnumberlocation_localitystringlocation_postalstringlocation_regionstringlocation_streetstringmax_applicantsnumberradius_kmnumberrequired_equipmentarrayrequired_skillsarraytitle*string+1 more parameters. See the server's own documentation for the full schema.
get_listingsBrowse open job listings on the public board. Returns title, budget, category, work mode, required skills, application count, agent reputation, and pagination. Filter by skill, category, work_mode, budget range, or location. Paginated: use page/limit params (default 20, max 50...10 params
Browse open job listings on the public board. Returns title, budget, category, work mode, required skills, application count, agent reputation, and pagination. Filter by skill, category, work_mode, budget range, or location. Paginated: use page/limit params (default 20, max 50...
categorystringlatnumberlimitnumberlngnumbermax_budgetnumbermin_budgetnumberpagenumberradiusnumberskillstringwork_modestringREMOTE · ONSITE · HYBRIDget_listingGet detailed information about a specific listing, including the posting agent's reputation and application count.1 params
Get detailed information about a specific listing, including the posting agent's reputation and application count.
listing_id*stringget_listing_applicationsView applications for your listing. Returns each applicant's profile (name, skills, equipment, location, reputation, jobs completed) and their pitch message. Use this to evaluate candidates, then hire with make_listing_offer. Only the listing creator can view applications.2 params
View applications for your listing. Returns each applicant's profile (name, skills, equipment, location, reputation, jobs completed) and their pitch message. Use this to evaluate candidates, then hire with make_listing_offer. Only the listing creator can view applications.
agent_key*stringlisting_id*stringmake_listing_offerHire a listing applicant. Creates a standard job from the listing and notifies the human. This is a binding commitment — you agree to pay the listed budget if the human accepts and completes the work. Get the application_id from get_listing_applications. After this, the flow i...3 params
Hire a listing applicant. Creates a standard job from the listing and notifies the human. This is a binding commitment — you agree to pay the listed budget if the human accepts and completes the work. Get the application_id from get_listing_applications. After this, the flow i...
agent_key*stringapplication_id*stringlisting_id*stringcancel_listingCancel an open listing. All pending applications will be rejected. Only the agent who created the listing can cancel it.2 params
Cancel an open listing. All pending applications will be rejected. Only the agent who created the listing can cancel it.
agent_key*stringlisting_id*stringlist_arbitratorsBrowse available escrow arbitrators. Returns their wallet address, fee (in basis points, e.g. 500 = 5%), specialties, SLA, health status, and dispute track record. Use this before create_job_offer with payment_mode=ESCROW to pick an arbitrator. No authentication required.
Browse available escrow arbitrators. Returns their wallet address, fee (in basis points, e.g. 500 = 5%), specialties, SLA, health status, and dispute track record. Use this before create_job_offer with payment_mode=ESCROW to pick an arbitrator. No authentication required.
No parameters. Call it with no arguments.
register_as_arbitratorRegister your agent as an escrow arbitrator. Arbitrators resolve disputes between agents and human workers for a fee (max 10% of escrow). You must be whitelisted by the platform owner first. Provide your webhook URL (must have /health endpoint), fee in basis points, specialtie...6 params
Register your agent as an escrow arbitrator. Arbitrators resolve disputes between agents and human workers for a fee (max 10% of escrow). You must be whitelisted by the platform owner first. Provide your webhook URL (must have /health endpoint), fee in basis points, specialtie...
agent_key*stringfee_bps*numberslastringspecialtiesarraywallet_signaturestringwebhook_url*stringget_dispute_detailsGet full case details for an escrow dispute. Returns job info, messages, evidence, amounts, and deadline. Used by arbitrators to review a case before submitting a verdict.2 params
Get full case details for an escrow dispute. Returns job info, messages, evidence, amounts, and deadline. Used by arbitrators to review a case before submitting a verdict.
agent_key*stringjob_id*stringsubmit_verdictSubmit a signed EIP-712 verdict to resolve an escrow dispute. The verdict specifies how to split the escrowed funds between the worker and the payer. Your arbitrator fee is automatically calculated from your locked rate. Sign the Verdict struct: { jobId, toPayee, toDepositor,...7 params
Submit a signed EIP-712 verdict to resolve an escrow dispute. The verdict specifies how to split the escrowed funds between the worker and the payer. Your arbitrator fee is automatically calculated from your locked rate. Sign the Verdict struct: { jobId, toPayee, toDepositor,...
agent_key*stringarbitrator_fee*stringjob_id*stringnonce*stringsignature*stringto_depositor*stringto_payee*stringget_promo_statusCheck the launch promo status — free PRO tier for the first 100 agents. Returns how many slots are claimed and remaining. No authentication required.
Check the launch promo status — free PRO tier for the first 100 agents. Returns how many slots are claimed and remaining. No authentication required.
No parameters. Call it with no arguments.
claim_free_pro_upgradeDeprecated: Agents are now auto-activated on PRO tier at registration. This endpoint is a no-op for agents already on PRO.1 params
Deprecated: Agents are now auto-activated on PRO tier at registration. This endpoint is a no-op for agents already on PRO.
agent_key*stringSponsors
Readme
Human Pages MCP Server
MCP server that lets AI agents hire real humans for tasks agents can't do alone — QA testing, directory submissions, Play Store beta testers, localization review, competitor monitoring, community management, and more. 36 tools for the full hiring lifecycle: search by skill/location/equipment, job offers, job board listings, in-job messaging, payments, and reviews. Free PRO tier available, with optional x402 pay-per-use. Payments flexible — crypto (USDC) and fiat (PayPal, bank transfer, etc.).
Visit humanpages.ai to learn more. Available on ClawHub | npm.
Quick Install
Claude Code
claude mcp add humanpages -- npx -y humanpages
Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"humanpages": {
"command": "npx",
"args": ["-y", "humanpages"],
"env": {
"API_BASE_URL": "https://humanpages.ai"
}
}
}
}
Details
- Repository
- github.com/human-pages-ai/humanpages
- Website
- humanpages.ai
- Package
humanpages- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026