Alpaca Trading API integration for Model Context Protocol (MCP)
Money Maker x402 tools: EVM reads + AI tasks is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
x402 pay-per-call: EVM balances, tx decode, transfers; AI extract, classify, embed, speech, image
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http money-maker-x402-tools-evm-reads-ai-tasks-mcp https://ai-policy-kit.moneymaker-ai.workers.dev/mcp
# 2 — ask your agent for something these tools do
# repo_ai_policy, x402_lint, usdc_payment and 25 more
Money Maker x402 tools: EVM reads + AI tasks costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http money-maker-x402-tools-evm-reads-ai-tasks-mcp https://ai-policy-kit.moneymaker-ai.workers.dev/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
28 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
Before a coding agent opens a PR: does this GitHub repo ban, restrict or allow AI-assisted contributions? Reads AI_POLICY/CONTRIBUTING/AGENTS.md/PR template/SECURITY and returns a verdict, evidence lines with file:line, and build/test commands from AGENTS.md. Keyword heuristic: read the evidence. Price: $0.01 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 Pay
| Parameter | Type | Required | Notes |
|---|---|---|---|
| repo | string | yes | owner/name or github.com URL (public repos) |
Probe any public x402 endpoint and validate its 402 challenge: version, accepts[], CAIP-2 network, atomic amounts, payTo checksum, native-USDC asset, EIP-712 extra, timeout, Bazaar discovery info, and /openapi.json presence. Returns errors, warnings and human-readable prices. Price: $0.005 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object;
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | public https URL of the paid endpoint |
| method | string | no | — |
Did this transaction pay USDC on Base to an address? Returns success, confirmations, every USDC transfer in the tx, the total received by to, and whether it meets min. Price: $0.002 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/usdc-payment.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tx | string | yes | Base tx hash |
| to | string | no | recipient address (optional) |
| min | string | no | minimum USDC (optional) |
Know-your-agent check before you pay or hire an agent: reads the ERC-8004 Identity Registry (0x8004A169…a432) at a pinned block on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo and returns ownerOf, getAgentWallet and tokenURI, fetches the registration file (https/ipfs/data) with its sha256, and checks that the file's agentWallet and registrations[] match the chain. Includes the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| id | string | yes | numeric agentId |
| block | string | no | optional block number to pin (default latest) |
Payment proof for any EVM tx: success, block, UTC time, confirmations, sender, and every ERC-20 Transfer (token, symbol, decimals, from, to, exact raw + decimal amount) plus ERC-721 transfers, decoded from the receipt. Chains: base, ethereum, bsc, arbitrum, optimism, polygon, gnosis, celo. Price: $0.005 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 PaymentRe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| tx | string | yes | transaction hash |
Got a tx hash but not the chain? Searches base, ethereum, bsc, arbitrum, optimism, polygon, gnosis and celo in parallel and returns where it was mined: status (success/reverted/pending), block, UTC time, confirmations, from, to, native value, method selector, nonce, gas used, effective gas price, fee (incl. L1 fee when the receipt has one), log and ERC-20 transfer-log counts, explorer link. Price:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tx | string | yes | 0x transaction hash (any of the 8 chains) |
One call, 8 chains: native balance, USDC/USDT balances (main contracts per chain, addresses returned), nonce (txs sent), and account type (EOA, EIP-7702-delegated EOA with its delegate, or contract) on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis and celo, plus USDC/USDT totals and the chains where the address is active. Price: $0.003 USDC on Base per call, paid with x402 (MCP transpor
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x EVM address |
Current gas price, base fee, priority fee, block fullness and the cost of a native transfer (21k gas) and an ERC-20 transfer (65k gas) in the native coin, for base, ethereum, bsc, arbitrum, optimism, polygon, gnosis and celo (or one chain with ?chain=). Price: $0.001 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object; retry with params._met
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | no | optional; omit for all 8 chains |
For a token contract on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo: name, symbol, decimals, total supply (raw and decimal), code size, owner() if any, and whether it is an upgradeable proxy (EIP-1967 or legacy OpenZeppelin slots) with implementation and admin addresses. Price: $0.001 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 Payment
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| token | string | yes | 0x token contract address |
Resolve an ENS name or Basename (alice.eth, alice.base.eth) to its EVM and Base address records, with resolver, url/avatar/com.twitter/description text records and whether the address's primary name points back (reverse_matches). Or pass address= for its forward-verified primary name (mainnet and Base/ENSIP-19). Read live via the ENS Universal Resolver with CCIP-read. Price: $0.001 USDC on Base pe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| name | string | no | ENS name or Basename, e.g. vitalik.eth or jesse.base.eth |
| address | string | no | or: 0x address for reverse lookup |
The last block at or before a given time (unix seconds/ms or ISO 8601) on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo, with its timestamp and the next block's, so you can pin eth_call reads, audits and snapshots to a moment. Batched k-ary search over live block headers (about 7 round trips). Very old history may be unavailable on public nodes. Price: $0.002 USDC on Base per ca
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| time | string | yes | unix seconds, unix ms, or ISO 8601 (UTC) |
How much can each spender pull from an owner's tokens? For a token on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo: allowance(owner, spender) for up to 10 spenders, owner balance, symbol, decimals, whether each spender is a contract, EOA or 7702-delegated EOA, and flags for unlimited approvals and approvals to plain EOAs. Use before or after approving, or to audit what to revok
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| token | string | yes | 0x ERC-20 contract |
| owner | string | yes | 0x owner address |
| spender | string | yes | 0x spender, or up to 10 comma-separated |
Is this token centrally controllable? Deterministic screen for a token on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo, from bytecode and eth_call only (no third-party risk API): upgradeable proxy and admin, owner and whether renounced, privileged functions found by selector scan of the token and its implementation (mint, pause, blacklist, tax/fee setters, max-tx limits, tradin
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | — |
| token | string | yes | 0x token contract address |
Live Chainlink price for ETH, BTC, LINK, USDC, USDT, DAI, SOL, AAVE, UNI, stETH, cbETH, ARB, OP, POL or BNB in USD, read with latestRoundData() from verified aggregator contracts on ethereum, base, arbitrum, optimism, polygon and bsc. Omit chain to read every chain that has the pair and get the median, the cross-chain spread and each feed's age in seconds (to apply your own staleness limit), round
| Parameter | Type | Required | Notes |
|---|---|---|---|
| pair | string | yes | e.g. ETH/USD, BTC, cbETH/USD (USD quote only) |
| chain | string | no | optional; omit to read all chains with this pair |
Fetch one public web page politely (checks robots.txt first and refuses disallowed paths; identifies itself as MoneyMakerBot) and return status, final URL after redirects, title, language, meta description, canonical, favicon, Open Graph/Twitter tags, JSON-LD types, h1-h3 outline, link counts with a sample, and the readable text of <main>/<article>/<body> (scripts and styles stripped, up to max_ch
| Parameter | Type | Required | Notes |
|---|---|---|---|
| url | string | yes | public http(s) URL |
| max_chars | string | no | optional text limit, 500-50000 (default 20000) |
One call for a domain (or URL): A/AAAA, NS, SOA, MX (incl. null MX), TXT, CAA, DNSSEC validation flag, parsed SPF (all-qualifier, includes, lookup estimate, verdict), DMARC (policy, sp, pct, rua), MTA-STS presence, site-verification tokens, and one HTTPS GET of / (status, final URL, HSTS, server), plus a plain-language issues list. Read live via DNS-over-HTTPS (Cloudflare 1.1.1.1, Google fallback)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| domain | string | yes | hostname or URL, e.g. example.com |
| https | string | no | optional; 0 skips the HTTPS GET |
Is this address worth sending to? Syntax check, then the domain's mail route via DNS-over-HTTPS: domain exists, MX hosts (or A fallback), null MX (domain refuses mail), SPF and DMARC presence, role account (info@, support@…) and plus-tag flags, and a verdict. It does not contact the mail server, so it cannot confirm that the mailbox itself exists. Price: $0.001 USDC on Base per call, paid with x40
| Parameter | Type | Required | Notes |
|---|---|---|---|
| string | yes | email address |
Typed balances for one address: native coin plus USDC, USDT, WETH, BTC wrappers, DAI and the chain token on base, ethereum, arbitrum, optimism, polygon and bsc (gnosis/celo on request), read with one Multicall3 eth_call per chain at a stated block. Or pass chain= and tokens= (up to 20 addresses) for your own list; symbol/decimals are read on-chain. Returns raw and decimal amounts plus a nonzero su
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x EVM address |
| chain | string | no | optional; one or more of base, ethereum, bsc, arbitrum, optimism, polygon, gnosis, celo (comma-separated). Default: base, ethereum, arbitrum, optimism, polygon, bsc |
| tokens | string | no | optional; up to 20 comma-separated token addresses (needs a single chain=) |
What is this address on each chain: unused EOA, active EOA, EIP-7702-delegated EOA (with delegate), ERC-20, ERC-721, ERC-1155, Safe multisig (threshold, owners, version), or other contract; EIP-1967/beacon/zos/EIP-1167 proxy with implementation and admin; owner(); nonce, native balance and code size. From bytecode, storage slots and probe calls via free public RPCs. Price: $0.002 USDC on Base per
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x EVM address |
| chain | string | no | optional; comma-separated chains. Default: base, ethereum, arbitrum, optimism, polygon, bsc |
Typed decode of any tx on base, ethereum, bsc, arbitrum, optimism, polygon, gnosis or celo (chain optional: all 8 are searched): success/reverted, method signature from a known-selector table (args for transfer/approve/transferFrom), every log decoded where known (ERC-20/721/1155 transfers with symbols and decimal amounts, approvals with an unlimited flag, WETH deposit/withdraw, Uniswap V2/V3/V4 s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tx | string | yes | 0x transaction hash |
| chain | string | no | optional; omit to search all 8 |
Recent token activity for an address on one chain: ERC-20 Transfer logs where it is sender or recipient, for the chain's major tokens (USDC, USDT, WETH, BTC wrappers, DAI, chain token) or up to 10 tokens you pass, within the last N blocks (max 10,000, the free public-RPC log limit: ~5.5 h on base/optimism/polygon, ~33 h on ethereum, ~75 min on bsc, ~40 min on arbitrum). Newest first, max 50, with
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | 0x EVM address |
| chain | string | no | default base |
| tokens | string | no | optional; up to 10 comma-separated token addresses |
| blocks | string | no | optional window, 100-10000 (default 10000) |
Structured extraction task: send text (max 12,000 chars) and a JSON Schema; get back JSON that has been validated against your schema (type, properties, required, enum, items, min/max, pattern, anyOf/oneOf). One automatic repair attempt; if it still does not validate you get 422 and are not charged. Fixed extraction prompt (copy, don't invent). Runs on our Cloudflare Worker using Workers AI (IBM G
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | source text, max 12,000 characters |
| schema | object | yes | JSON Schema (object or array at top level, max 8,000 chars, no $ref); as a JSON string in GET |
| instructions | string | no | optional extra guidance, max 500 chars |
Zero-shot classification task: send text (max 8,000 chars) and 2-50 labels; get one label (or every applicable label with multi_label=true) guaranteed to be from your list, plus a one-sentence reason. Invalid output → 422, not charged. Runs on our Cloudflare Worker using Workers AI (IBM Granite 4.0 micro, Apache-2.0). No calibrated probabilities. Limited daily capacity: 503 (not charged) when used
| Parameter | Type | Required | Notes |
|---|---|---|---|
| text | string | yes | text to label, max 8,000 characters |
| labels | array | yes | 2-50 labels (JSON array or comma-separated string) |
| multi_label | string | no | — |
| instructions | string | no | optional labelling guidance |
Embed 1-32 texts (each up to 4,000 chars) with BAAI bge-m3 (multilingual, MIT) on our Cloudflare Worker via Workers AI. Add query= to also get the texts ranked by cosine similarity (a cheap semantic search / rerank step); include_vectors=false returns only the ranking. Limited daily capacity: 503 (not charged) when used up. Price: $0.0005 USDC on Base per call, paid with x402 (MCP transport: an un
| Parameter | Type | Required | Notes |
|---|---|---|---|
| texts | array | yes | 1-32 strings (or text= for one) |
| query | string | no | optional; rank texts against it |
| include_vectors | string | no | — |
Transcribe one audio file (mp3/wav/m4a/ogg/webm, max 1 MB, via public https audio_url or audio_base64) with OpenAI Whisper large-v3-turbo (MIT) on our Cloudflare Worker via Workers AI, with voice-activity filtering. Returns text, language, duration and optional segments + WebVTT. Audio is not stored. Limited daily capacity: 503 (not charged) when used up. Price: $0.005 USDC on Base per call, paid
| Parameter | Type | Required | Notes |
|---|---|---|---|
| audio_url | string | no | public https URL of the audio (max 1 MB) |
| audio_base64 | string | no | or base64 audio (POST) |
| language | string | no | optional ISO code, e.g. en |
| segments | string | no | — |
Generate one 1024×1024 image from a short prompt (max 600 chars) with FLUX.1 [schnell] (Apache-2.0) on our Cloudflare Worker via Workers AI. Before generation we detect the medium you asked for (photo, illustration, flat vector, logo/icon, watercolor, oil painting, pencil sketch, ink, anime, comic, pixel art, 3D render, digital painting) and rewrite the prompt to honour it, with style-specific qua
| Parameter | Type | Required | Notes |
|---|---|---|---|
| prompt | string | yes | what to make, max 600 chars |
| style | string | no | optional override; default auto (detected from prompt, photo if none) |
| enhance | string | no | default true; false = use the prompt as given |
| steps | string | no | 1-8, default 6 |
AI_POLICY.md (strict | disclose-and-own | agent-friendly) for your project plus a PR template with an AI-disclosure section, as JSON. Same text as the free web generator on this site. Price: $0.01 USDC on Base per call, paid with x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/policy.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| project | string | no | — |
| style | string | no | — |
Free. Today's remaining free Workers AI capacity for the ai_* tools (they answer 'capacity used up' before any payment when the daily cap is reached).
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Money Maker x402 tools: EVM reads + AI tasks or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| repo_ai_policy | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| x402_lint | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| usdc_payment | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| erc8004_agent | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| token_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| tx_find | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| wallet_snapshot | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| gas_now | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| token_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ens_resolve | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| block_at_time | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| erc20_allowance | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| token_risk | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| chainlink_price | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| web_extract | untrusted-input | untrusted-input: keyword "fetch", declares openWorldHint: true (interacts with entities outside the server) |
| domain_check | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| email_check | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| token_balances | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| address_info | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| tx_decode | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| address_transfers | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_extract | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_classify | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_embed | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_transcribe | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_image | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| policy | untrusted-input | untrusted-input: declares openWorldHint: true (interacts with entities outside the server) |
| ai_status | no tags |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
The public result for this release does not print the flow graph, so there is nothing to show here. That is not the same as "no paths were found": what the scan did read is above, under coverage.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.1.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Money Maker x402 tools: EVM reads + AI tasks can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.