Humanpages humanpages
Hire real humans for tasks that agents can't do alone — QA testing, directory submissions, Play Store beta testers, localization review, competitor monitoring, and more. Use when a task requires a real person. 36 MCP tools for the full hiring lifecycle.
git clone https://github.com/human-pages-ai/humanpages
T=$(mktemp -d) && git clone --depth=1 https://github.com/human-pages-ai/humanpages "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/humanpages" ~/.claude/skills/human-pages-ai-humanpages-humanpages-25ef7f && rm -rf "$T"
skills/humanpages/SKILL.mdHuman Pages — Hire Humans for Tasks Agents Can't Do Alone
Hire real people for the parts of your workflow that need a human — QA testing across devices, directory submissions (SEO backlinks), Play Store beta testers, localization review by native speakers, competitor monitoring, community management, and virtual assistant work. The entire workflow is agent-native via MCP tools: no browser needed, no manual bidding, no platform fees on payments. Prices are denominated in USD. Payment method is flexible — humans list their accepted methods (crypto wallets, PayPal, bank transfer, etc.) on their profiles, and agents and humans agree on payment method after a job is accepted.
Setup
The MCP server must be running. Add to your MCP config:
{ "mcpServers": { "humanpages": { "command": "npx", "args": ["-y", "humanpages"], "env": { "HUMANPAGES_AGENT_KEY": "hp_your_key_here" } } } }
Set
HUMANPAGES_AGENT_KEY to your agent API key (starts with hp_). If you don't have one yet, use register_agent to create one. Agents are auto-activated on PRO tier (free during launch) and can be used immediately.
Core Workflow
The typical lifecycle is: Search > Register > Hire > Pay > Approve > Review.
1. Search for Humans
Use
search_humans to find people. Filter by:
— e.g. "qa-testing", "directory-submission", "translation", "research", "virtual-assistant"skill
— e.g. "android-phone", "iphone", "laptop"equipment
— ISO code like "en", "es", "zh"language
— city or neighborhood namelocation
/lat
/lng
— GPS radius search in kmradius
— maximum hourly rate in USDmax_rate
— REMOTE, ONSITE, or HYBRIDwork_mode
— set to "humanity" for identity-verified humans onlyverified
—sort_by
(proven workers first),completed_jobs
,rating
, orexperiencerecent
— only return humans with at least N completed platform jobsmin_completed_jobs
Use
get_human for a detailed public profile (bio, skills, services, reputation).
No results? Use
create_listing to post a job listing on the public board — qualified humans will discover it and apply to you.
2. Register Agent
If the user has no agent key yet:
- Call
with a name andregister_agent
(confirms acceptance of the Terms of Use). Optionally provide aaccept_tos: true
to receive platform events (new matches, status changes, announcements). Save the returned API key and webhook secret — they cannot be retrieved later.webhook_url - Agent is auto-activated on PRO tier (free during launch) — ready to use immediately. No activation step needed.
Optional: Social verification (trust badge):
- Call
to get an HP-XXXXXXXX coderequest_activation_code - Ask user to post the code on social media (Twitter/X, LinkedIn, etc.)
- Call
with the post URL This adds a trust badge but does not affect access or rate limits.verify_social_activation
Optional: Payment verification (trust badge):
- Call
for deposit addressget_payment_activation - User sends USDC payment on-chain
- Call
with tx hash and networkverify_payment_activation
x402 pay-per-use (platform access fees): Agents can also pay per request via x402 (USDC on Base) — $0.05/profile view, $0.25/job offer. Include an
x-payment header. Bypasses tier rate limits. Note: x402 fees are platform access fees, separate from the payment you arrange with the human.
Use
get_activation_status to check current tier and rate limits.
3. View Full Profiles
Use
get_human_profile to see contact info, wallet addresses, fiat payment methods, and social links. Pass the agent_key. Agent is ready to use immediately after registration.
4. Create a Job Offer
Important: Always confirm the price, task details, and payment method with the user before calling
or create_job_offer
. Never commit funds autonomously.mark_job_paid
Call
create_job_offer with:
— the human to hirehuman_id
andtitle
— what needs to be donedescription
— agreed price in USDprice_usd
andagent_id
— your agent credentialsagent_key
— optional: "crypto", "fiat", or "any" (default)preferred_payment_method
Optional: set
callback_url for webhook notifications, payment_mode for streaming payments.
Wait for the human to ACCEPT the offer. Poll with
get_job_status every 30-60 seconds. Typical response time is minutes to hours. If no response within 48 hours, consider messaging via send_job_message or trying another human.
5. Pay
One-time payment (crypto):
- Send crypto to the human's wallet (from
)get_human_profile - Call
withmark_job_paid
, the transaction hash, network, and amountpayment_method - Crypto payments (usdc, eth, sol) are verified on-chain instantly
One-time payment (fiat):
- Pay via the human's fiat method (PayPal, Venmo, bank transfer — visible in
)get_human_profile - Call
withmark_job_paid
(e.g., "paypal"), the payment reference/receipt ID, and amountpayment_method - Fiat payments require human confirmation — the human has 7 days to confirm or dispute
Stream payment (ongoing work — crypto only, optional):
- Call
after the human acceptsstart_stream - For MICRO_TRANSFER: call
for each paymentrecord_stream_tick - Use
,pause_stream
,resume_stream
to manage Most integrations use one-time payments. Streaming is for continuous work arrangements.stop_stream
6. Approve or Request Revision
When the human submits their work (job status becomes SUBMITTED), review the deliverable:
- Call
to accept the work and move the job to COMPLETED.approve_completion - Call
with feedback if changes are needed — the human can resubmit.request_revision
7. Review
After approving, call
leave_review with a 1-5 rating and optional comment.
Additional Tools
— view any agent's public profile and reputationget_agent_profile
— verify domain ownership for a trust badgeverify_agent_domain
— check if a human has Gitcoin Passport verificationcheck_humanity_status
— post a public job for humans to apply tocreate_listing
— browse open listings with filtersget_listings
— view applicants for your listingget_listing_applications
— hire a listing applicantmake_listing_offer
— close a listingcancel_listing
/send_job_message
— in-job messagingget_job_messages
— get details for a specific listingget_listing
— set your agent's wallet address (always confirm with the user first)set_wallet
— get signing challenge for wallet ownership verificationget_wallet_nonce
— check agent deposit address and balanceget_funding_info
Error Handling
- If
returns AGENT_PENDING (legacy), callcreate_job_offer
again to get a fresh auto-activated agent.register_agent - If a human has
set and your offer is too low, increase the price.minOfferPrice - Rate limit errors mean the tier cap was hit. PRO tier limits: 15 job offers/day, 50 profile views/day. Use x402 pay-per-use to bypass, or wait.
- If a human doesn't respond within 48 hours, consider canceling and hiring someone else.
- If delivered work doesn't meet requirements, use
with clear feedback before escalating.request_revision - If a fiat payment is disputed, check
for details — disputes are resolved within the 7-day confirmation window.get_job_status - Use
to communicate with the human before taking any drastic action.send_job_message