protogrid

Search / io.github.RealWagmi/heyanon

HeyAnon MCP

R0· no sign-in

HeyAnon on-chain agent: wallets, portfolios, DeFi and CEX actions, transfers, Gemma research.

v1.0.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.
Quality85good
Trust97of 100
Uptime, 30 days100%
Latency p50363 ms

Connect

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

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
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 hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations21 of 21 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints6 of 21 tools declare all four hints; missing: get_api_key_setup_url (destructiveHint); address_book_list (destructiveHint); ping (destructiveHint); …
  • pass
    tools.token_costabout 4,035 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

21 tools, about 4,035 tokens to load them all · tool set 5ed4da218a8e · checked 2026-10-20 19:10 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 97 / 100

provenance90
liveness100
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-100% +updated-7d-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://api.heyanon.ai/mcp streamable-httpnoneyes100%363 ms2025-11-252026-10-20

Tools (21)

abortdestructiveForce-stop Anon processing of the current ask_anon request. Use only when isProcessing stays true for too long or the request is stuck; otherwise wait for the background task to complete.
address_book_listread-onlyList the user saved recipient addresses (address book): name, networks and address. Use it to resolve a recipient the user names, e.g. "send 0.1 ETH to My work address": find the entry by name (search), take its address and confirm it with the user before calling transfer_native or transfer_asset. Informational only: transfers are not restricted to these addresses. Returns the entries and pagination, also as structuredContent.
ask_anondestructiveSend a message to Anon, the Hey Anon on-chain AI agent (balances, swaps, bridging, lending, staking, CEX, scheduled automations, research). Asynchronous: the output is only a confirmation with the background task ID; poll background_task with that ID until status is no longer "pending" ("completed": the reply is in result; any other status, e.g. "failed": the request did not finish, check logs). Anon keeps NO conversation context: every message is processed from a clean slate, so each message must be self-contained (repeat the wallet, network, token and amount every time; follow-ups like "and on Base?" will not work). Before sending, the tool checks that Anon is idle: if the previous request is still processing it returns an error, poll background_task until it finishes (or call abort) and retry. Anon can execute real transactions from the attached wallets: send action instructions (swap, send, bridge, stake, create an automation) only when the user explicitly asked for that action, and phrase everything else as a question. For general crypto research not tied to the user wallets, prefer ask_gemma.
ask_gemmaread-onlyAsk Gemma, the Hey Anon crypto research assistant: protocol analysis, community and social insights, market data, news, token analytics by contract address. Synchronous: returns the answer text directly, no polling and no wallet addresses needed. Research only: Gemma takes no wallet addresses, executes no transactions and keeps its own session, separate from the Anon conversation. Prefer ask_gemma for general crypto questions and ask_anon for anything about the user wallets or for actions.
background_taskread-onlyGet one Anon background task by id. Each ask_anon call creates a task; poll this tool until status is no longer "pending": "completed" means the Anon reply is in result; any other status (e.g. "failed") means the request did not finish, check logs. Returns id, prompt, status, result ("—" while absent), logs (execution trace, appended live while the task runs), createdAt, updatedAt; the same object is returned as structuredContent.
background_task_deletedestructiveDelete a background task record by id.
background_task_listread-onlyList the user Anon background tasks (one per ask_anon message): id, prompt, status, result (Anon reply when completed), logs, createdAt, updatedAt. Use it to find earlier answers or check what is still pending. Also returned as structuredContent { tasks }.
get_api_key_setup_urlread-onlyGet the URL of the Hey Anon page where the user logs in and creates an API key, plus the MCP config snippet where the key goes (X-API-Key header). Call this when a tool fails with "API key not set" or the user has no key yet. The key is never passed through the chat. No API key required.
isProcessingread-onlyCheck whether Anon is still processing the previous ask_anon request. Returns "isProcessing: true|false". Use before sending another message, or when a request looks stuck (then call abort).
pingread-onlyHealth check for the Hey Anon MCP server. Returns "pong" and the server time (ISO 8601). No API key required.
portfolio_cexread-onlyBalances and positions from the exchange accounts linked to Hey Anon (e.g. Hyperliquid, keyed by exchange). Pass address (an EVM wallet from wallet_list) when the user has several EVM wallets, otherwise the backend rejects the call. Returns the raw JSON response.
portfolio_defiread-onlyDeFi positions (LP, staking, lending, vaults, etc.) for every user wallet (addresses taken from wallet_list). Returns JSON [{ walletAddress, data }].
portfolio_tokensread-onlyToken balances for every user wallet (addresses taken from wallet_list) across all supported networks. Returns JSON [{ walletAddress, data }]; for EVM wallets data.evm is keyed by chain id, Solana balances are in data.solana. Output can be large with many wallets.
portfolio_transactionsread-onlyRecent transactions for every user wallet (addresses taken from wallet_list). Returns JSON [{ walletAddress, data }]. Output can be large with many wallets.
projectsread-onlyList the protocols and integrations Anon can operate (swaps, lending, staking, bridges, CEX, etc.): name, key, description, supported networks, tool count. Use it to check whether Anon supports a protocol or network before asking.
scheduled_task_deletedestructiveDelete (cancel) a scheduled task by id. Irreversible: the automation will not run again. Returns a confirmation.
scheduled_task_getread-onlyGet one scheduled task by id (from scheduled_task_list). Returns id, description, status, type and taskExecutorResponse (the last execution result).
scheduled_task_listread-onlyList the user scheduled tasks: automations created through Anon that run at a given time or when a price condition is met. There is no create/update tool: to create an automation, ask Anon via ask_anon (e.g. "Buy 0.1 ETH on Base when ETH drops below 2000"), then use this tool to confirm it exists. Returns id, description, status, type and, when present, taskExecutorResponse (the last execution result); the trigger time or condition is not a separate field, infer it from description.
transfer_assetdestructiveSend a token (ERC-20 / SPL / jetton) from one of the user wallets to another address. This moves real funds and cannot be undone. Call it only when the user explicitly asked to send this exact amount of this asset from this wallet to this recipient on this network; never infer, round or top up any of these values. If anything is missing or ambiguous, ask the user instead of guessing. Returns the transaction hash and an explorer link (also as structuredContent).
transfer_nativedestructiveSend the native coin of a network (ETH, S, SOL, TON, ...) from one of the user wallets to another address. This moves real funds and cannot be undone. Call it only when the user explicitly asked to send this exact amount of this asset from this wallet to this recipient on this network; never infer, round or top up any of these values. If anything is missing or ambiguous, ask the user instead of guessing. Returns the transaction hash and an explorer link (also as structuredContent).
wallet_listread-onlyList the user wallets registered in Hey Anon: display name, type (evm, solana, ton, etc.), address, labels and whether the wallet is archived. Call it before ask_anon to choose which addresses to attach (at most one per type); match the wallet the user names by display name, label or address and skip archived wallets. The same addresses are used by the portfolio_* tools.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.RealWagmi/heyanon",
  "icons": [
    {
      "src": "https://heyanon.ai/favicon.ico",
      "sizes": [
        "256x256"
      ]
    }
  ],
  "title": "HeyAnon MCP",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.heyanon.ai/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/RealWagmi/heyanon-ai-cursor-plugin",
    "source": "github"
  },
  "websiteUrl": "https://heyanon.ai",
  "description": "HeyAnon on-chain agent: wallets, portfolios, DeFi and CEX actions, transfers, Gemma research."
}