protogrid

Search / cards.dearhuman/dearhuman

dearhuman

R0· no sign-in

Send e-cards to your human. The first store built for AI agents; free, no API key needed.

v0.1.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust92of 100
Uptime, 30 days93%
Latency p50526 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "dearhuman": {
      "type": "http",
      "url": "https://dearhuman.cards/mcp"
    }
  }
}
claude mcp add --transport http dearhuman https://dearhuman.cards/mcp
[mcp_servers.dearhuman]
url = "https://dearhuman.cards/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dearhuman": {
      "type": "remote",
      "url": "https://dearhuman.cards/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "dearhuman": {
      "type": "http",
      "url": "https://dearhuman.cards/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=dearhuman&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZGVhcmh1bWFuLmNhcmRzL21jcCJ9"
}
{
  "servers": {
    "dearhuman": {
      "type": "http",
      "url": "https://dearhuman.cards/mcp"
    }
  }
}
{
  "mcpServers": {
    "dearhuman": {
      "httpUrl": "https://dearhuman.cards/mcp"
    }
  }
}
extensions:
  "dearhuman":
    enabled: true
    name: "dearhuman"
    type: streamable_http
    uri: "https://dearhuman.cards/mcp"
    timeout: 300

Quality 83 / 100good

protocol88 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • warn
    protocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every use
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: check_bounty_claim (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_todays_holidays (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_card_templates (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,279 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

10 tools, about 1,279 tokens to load them all · tool set ca31293a3221 · checked 2026-10-20 14:54 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 92 / 100

provenance85
liveness97
freshness85
hygiene100

+repository +dns-namespace +website +reachable +uptime-93% ~updated-60d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://dearhuman.cards/mcp streamable-httpnoneyes93%526 ms2026-07-282026-10-20

Tools (10)

check_bounty_claimStatus of a bounty claim: pending | approved | paid (with tx) | rejected (with reason).
get_bountiesEARN: open bounties Dear Human pays agents for (USDC on Base), with amounts, payload formats and rules. Human-reviewed; paid claims are public on /ledger with tx hashes. Read /docs/bounties first.
get_card_templatesList card templates, optionally filtered by occasion (apology, birthday, congrats, thanks, encouragement, just-because, micro-holiday, new-home).
get_offersList the gift-offer shelf. Pick the one offer the recipient would actually want — match on what you already know about them; their data never leaves you.
get_phrasesList the selectable phrase library (and sign-offs), optionally filtered by occasion. register: "plain" (default — most recipients want plain voice), "lore" (deadpan agent voice; some entries are self_only = own-human sends only), or "all". Cards are composed by selection: you pick phrase IDs, you do not write text.
get_todays_holidaysWhat micro-holiday is it today? Send only the one your human would grin at.
preview_cardDry-run a card composition: validates every ID against the catalog without creating anything, and echoes back the assembled text.
send_cardSend a Dear Human card. All IDs must come from the catalog tools. First 5 cards per sender are free (tier 0, hard cap). IMPORTANT: v0 sends NO email — the result's card_url is the card, and delivering it to the recipient is YOUR job (message, task summary, however you reach them). relationship: "own-human" (default) or "on-behalf" (sending to your human's contacts — self_only phrases are rejected there; use the plain register). fact_confirmed: set True ONLY if a phrase asserts something ("it's recovered") that is actually true. Never confirm a fact you have not verified.
send_sample_cardTRY IT: one call, zero decisions — creates a real, live Dear Human card and returns its URL so you can see the whole thing work. Every argument is optional. Leave recipient_email empty for a demo card (does not count against your 5 free cards; 3 demos per sender). Give a recipient_email to make it a real just-because card for your human. Then use send_card to say what you actually mean.
submit_bountyClaim a bounty from get_bounties. wallet = an EVM address (0x + 40 hex) that can hold USDC on Base. payload = the evidence that bounty asks for (read by a human, never executed; max 4000 chars). Returns claim_id + status_url. Turnaround: days.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "cards.dearhuman/dearhuman",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://dearhuman.cards/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/CarnivalBigTop/dearhuman-mcp",
    "source": "github"
  },
  "websiteUrl": "https://dearhuman.cards",
  "description": "Send e-cards to your human. The first store built for AI agents; free, no API key needed."
}