HeyAnon MCP
HeyAnon on-chain agent: wallets, portfolios, DeFi and CEX actions, transfers, Gemma research.
| Endpoint | https://api.heyanon.ai/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.0 |
| Now | 21 tools · grade D (52) · pin ts_8b91c58ddf7155503bbd44309a752831 · protocol 2025-06-18 |
| First / last listed | 2026-10-27 02:20 UTC / 2026-10-27 02:20 UTC |
| Grade over time | 2026-10-27: D (52), 21 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: ping login login_status whoami wallet_list ask_anon ask_gemma isProcessing abort projects scheduled_task_list scheduled_task_get scheduled_task_delete portfolio_tokens portfolio_transactions portfolio_defi portfolio_cex anon_message transfer_native transfer_asset address_book_list
ping | Health check for the Hey Anon MCP server. Returns "pong" and the server time (ISO 8601). No API key required. params: none |
login | Sign in to Hey Anon (or create an account) without an API key, through Privy in the browser. Returns a link and a short code. Open the link yourself in a browser you control: if the user is signed in to Hey Anon there, check that the code matches and press Approve; if not, sign in for the user with a supported method (email code, Google, Apple, Telegram, wallet, passkey) using access you already h params: none |
login_status | Finish a login started with the login tool: waits up to 25 seconds for the approval, then answers. While it is pending, keep calling it on your own (do not ask the user whether to continue) until it completes or expires. "pending": the user has not approved yet, call again. "completed": returns a new Hey Anon API key (named "MCP <date>"); when the account had no wallets, an EVM, a Solana and a TON params: login_id* |
whoami | Check which Hey Anon account the API key of this connection belongs to: account id, account type (e.g. privy), Privy user id, creation date, and the number of wallets per type. Use it to verify a login (an authenticated call; ping alone does not prove the key works). Read-only. params: none |
wallet_list | List 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. params: none |
ask_anon | Send 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 Message ID; poll anon_message with that ID (every 2-3 s) until status is "done" (or "failed" / "aborted"), then read the answer from reply and show its cards (anon_message also returns them as HTML for c params: text*, wallets*, files |
ask_gemma | Ask 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 params: text* |
isProcessing | Check 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). params: none |
abort | Force-stop Anon processing of the current ask_anon request. Use only when isProcessing stays true for too long or the request is stuck; otherwise keep polling anon_message until the message is done. params: none |
projects | List 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. params: none |
scheduled_task_list | List 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 res params: none |
scheduled_task_get | Get one scheduled task by id (from scheduled_task_list). Returns id, description, status, type and taskExecutorResponse (the last execution result). params: id* |
scheduled_task_delete | Delete (cancel) a scheduled task by id. Irreversible: the automation will not run again. Returns a confirmation. params: id* |
portfolio_tokens | Token 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. params: none |
portfolio_transactions | Recent transactions for every user wallet (addresses taken from wallet_list). Returns JSON [{ walletAddress, data }]. Output can be large with many wallets. params: none |
portfolio_defi | DeFi positions (LP, staking, lending, vaults, etc.) for every user wallet (addresses taken from wallet_list). Returns JSON [{ walletAddress, data }]. params: none |
portfolio_cex | Balances 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. params: address |
anon_message | Get the state of a message sent with ask_anon, by its Message ID. Poll it until status is "done" (or "failed" / "aborted"): then reply holds the Anon answer. While status is "running", activity shows what Anon is doing right now (each step has a human text and a technical trace), so you can tell at which stage a slow request is. cards hold structured results: swaps, transfers, bridges, lending, va params: id* |
transfer_native | Send 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 gu params: chain*, from*, to*, amount*, allBalance |
transfer_asset | Send 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 t params: chain*, from*, to*, amount*, allBalance, asset* |
address_book_list | List 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 paginati params: search, chains, page, size |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.