# Money Maker x402 tools: EVM reads + AI tasks (remote · ai-policy-kit.moneymaker-ai.workers.dev)

x402 pay-per-call: EVM balances, tx decode, transfers; AI extract, classify, embed, speech, image

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-23

## Components

- remote · `ai-policy-kit.moneymaker-ai.workers.dev`: 63/100 (this document), [markdown](https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit.md), [page](https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit)

## Channel facts

- Endpoint: `https://ai-policy-kit.moneymaker-ai.workers.dev/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-23.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 62/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5574 tokens (~199/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 94/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 81% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 28 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Money Maker x402 tools: EVM reads + AI tasks MCP server?

Money Maker x402 tools: EVM reads + AI tasks is a hosted endpoint at https://ai-policy-kit.moneymaker-ai.workers.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http dev-workers-moneymaker-ai-ai-policy-kit-x402-too 'https://ai-policy-kit.moneymaker-ai.workers.dev/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "dev-workers-moneymaker-ai-ai-policy-kit-x402-too": {
      "url": "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "dev-workers-moneymaker-ai-ai-policy-kit-x402-too": {
      "type": "http",
      "url": "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.dev-workers-moneymaker-ai-ai-policy-kit-x402-too]
url = "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dev-workers-moneymaker-ai-ai-policy-kit-x402-too": {
      "type": "remote",
      "url": "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add dev-workers-moneymaker-ai-ai-policy-kit-x402-too --url 'https://ai-policy-kit.moneymaker-ai.workers.dev/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  dev-workers-moneymaker-ai-ai-policy-kit-x402-too:
    url: "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "dev-workers-moneymaker-ai-ai-policy-kit-x402-too": {
      "Transport": "http",
      "Url": "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add dev-workers-moneymaker-ai-ai-policy-kit-x402-too -t streamable-http -u 'https://ai-policy-kit.moneymaker-ai.workers.dev/mcp'
```

### Other

```json
{
  "mcpServers": {
    "dev-workers-moneymaker-ai-ai-policy-kit-x402-too": {
      "type": "http",
      "url": "https://ai-policy-kit.moneymaker-ai.workers.dev/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-23 (score 63, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-22 (score 62)

First indexed and scored.

## MCP tools (28)

### `repo_ai_policy` (~149 tokens)

Repo AI-contribution preflight

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 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/repo-ai-policy.

Input parameters:

- `repo` (string, required): owner/name or github.com URL (public repos)

### `x402_lint` (~150 tokens)

x402 endpoint linter

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; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/x402-lint.

Input parameters:

- `method` (string)
- `url` (string, required): public https URL of the paid endpoint

### `usdc_payment` (~136 tokens)

USDC payment check on Base

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.

Input parameters:

- `min` (string): minimum USDC (optional)
- `to` (string): recipient address (optional)
- `tx` (string, required): Base tx hash

### `erc8004_agent` (~209 tokens)

ERC-8004 agent identity lookup (8 chains)

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 exact eth_call data so anyone can re-check. 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/erc8004-agent.

Input parameters:

- `block` (string): optional block number to pin (default latest)
- `chain` (string, required)
- `id` (string, required): numeric agentId

### `token_transfers` (~154 tokens)

Token transfers in a tx (8 EVM chains)

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 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/token-transfers.

Input parameters:

- `chain` (string, required)
- `tx` (string, required): transaction hash

### `tx_find` (~178 tokens)

Find a tx on any of 8 EVM chains

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: $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/tx-find.

Input parameters:

- `tx` (string, required): 0x transaction hash (any of the 8 chains)

### `wallet_snapshot` (~168 tokens)

Wallet snapshot across 8 EVM 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 transport: an unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/wallet-snapshot.

Input parameters:

- `address` (string, required): 0x EVM address

### `gas_now` (~146 tokens)

Gas snapshot on 8 EVM chains

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._meta["x402/payment"]). Same tool over HTTP: GET /api/gas-now.

Input parameters:

- `chain` (string): optional; omit for all 8 chains

### `token_info` (~154 tokens)

ERC-20 token info + proxy check (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 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/token-info.

Input parameters:

- `chain` (string, required)
- `token` (string, required): 0x token contract address

### `ens_resolve` (~187 tokens)

ENS + Basename resolve (forward and reverse)

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 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/ens-resolve.

Input parameters:

- `address` (string): or: 0x address for reverse lookup
- `name` (string): ENS name or Basename, e.g. vitalik.eth or jesse.base.eth

### `block_at_time` (~181 tokens)

Block number at a timestamp (8 EVM chains)

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 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/block-at-time.

Input parameters:

- `chain` (string, required)
- `time` (string, required): unix seconds, unix ms, or ISO 8601 (UTC)

### `erc20_allowance` (~219 tokens)

ERC-20 allowance / approval check (8 chains)

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 revoke. Price: $0.001 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/erc20-allowance.

Input parameters:

- `chain` (string, required)
- `owner` (string, required): 0x owner address
- `spender` (string, required): 0x spender, or up to 10 comma-separated
- `token` (string, required): 0x ERC-20 contract

### `token_risk` (~215 tokens)

ERC-20 token risk screen (bytecode + on-chain, 8 chains)

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, trading switch, fee exclusion, rescue), owner/self/burn share of supply, a 0-100 score with one reason per flag, and a list of what was not checked (no DEX sell simulation). Price: $0.003 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/token-risk.

Input parameters:

- `chain` (string, required)
- `token` (string, required): 0x token contract address

### `chainlink_price` (~231 tokens)

Chainlink oracle price (6 chains, median + freshness)

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 id and the exact eth_call to re-check. Oracle price, not a DEX quote. Price: $0.001 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/chainlink-price.

Input parameters:

- `chain` (string): optional; omit to read all chains with this pair
- `pair` (string, required): e.g. ETH/USD, BTC, cbETH/USD (USD quote only)

### `web_extract` (~219 tokens)

Web page extract: title, meta, OG, headings, links, readable text

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_chars, default 20,000). No JavaScript rendering. Private hosts are refused. Failed fetches return an error status, so x402 clients are not charged. 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/web-extract.

Input parameters:

- `max_chars` (string): optional text limit, 500-50000 (default 20000)
- `url` (string, required): public http(s) URL

### `domain_check` (~215 tokens)

Domain DNS + mail-security + HTTPS check

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). No WHOIS. Price: $0.003 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/domain-check.

Input parameters:

- `domain` (string, required): hostname or URL, e.g. example.com
- `https` (string): optional; 0 skips the HTTPS GET

### `email_check` (~152 tokens)

Email address check (syntax + domain mail route)

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 x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: GET /api/email-check.

Input parameters:

- `email` (string, required): email address

### `token_balances` (~258 tokens)

Wallet token balances, multichain (ETH + ERC-20 on Ethereum, Base, Arbitrum, Optimism, Polygon, BSC)

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 summary. No USD prices. Price: $0.003 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/token-balances.

Input parameters:

- `address` (string, required): 0x EVM address
- `chain` (string): optional; one or more of base, ethereum, bsc, arbitrum, optimism, polygon, gnosis, celo (comma-separated). Default: base, ethereum, arbitrum, optimism, polygon, bsc
- `tokens` (string): optional; up to 20 comma-separated token addresses (needs a single chain=)

### `address_info` (~205 tokens)

EVM address type check: EOA or contract, ERC-20/721/1155, Safe multisig, proxy (6 chains)

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 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/address-info.

Input parameters:

- `address` (string, required): 0x EVM address
- `chain` (string): optional; comma-separated chains. Default: base, ethereum, arbitrum, optimism, polygon, bsc

### `tx_decode` (~231 tokens)

EVM transaction decoder: method, decoded events, swaps, token flows, revert reason (8 chains)

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 swaps, ownership/upgrade, EIP-3009), the sender's net token flows, fee incl. L1 fee, and for reverted txs a decoded revert reason (approximate replay at the previous block). Price: $0.003 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/tx-decode.

Input parameters:

- `chain` (string): optional; omit to search all 8
- `tx` (string, required): 0x transaction hash

### `address_transfers` (~279 tokens)

Recent ERC-20 token transfers of a wallet (in/out, newest 50, 6 EVM chains)

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 direction, symbol, decimal amount and block time. Native-coin transfers and older history are not included. If every free RPC is rate-limited you get 502 and are not charged. Price: $0.003 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/address-transfers.

Input parameters:

- `address` (string, required): 0x EVM address
- `blocks` (string): optional window, 100-10000 (default 10000)
- `chain` (string): default base
- `tokens` (string): optional; up to 10 comma-separated token addresses

### `ai_extract` (~255 tokens)

Structured data extraction: text to JSON by your JSON Schema (LLM, validated)

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 Granite 4.0 micro, Apache-2.0). Not a chat or model-access API. Limited daily capacity: 503 (not charged) when used up. Price: $0.004 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: POST /api/ai/extract.

Input parameters:

- `instructions` (string): optional extra guidance, max 500 chars
- `schema` (object, required): JSON Schema (object or array at top level, max 8,000 chars, no $ref); as a JSON string in GET
- `text` (string, required): source text, max 12,000 characters

### `ai_classify` (~220 tokens)

Zero-shot text classification into your labels (intent, sentiment, topic, routing)

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 up. 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: POST /api/ai/classify.

Input parameters:

- `instructions` (string): optional labelling guidance
- `labels` (array, required): 2-50 labels (JSON array or comma-separated string)
- `multi_label` (string)
- `text` (string, required): text to label, max 8,000 characters

### `ai_embed` (~186 tokens)

Text embeddings (bge-m3, 1024-d, multilingual) + semantic search ranking

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 unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: POST /api/ai/embed.

Input parameters:

- `include_vectors` (string)
- `query` (string): optional; rank texts against it
- `texts` (array, required): 1-32 strings (or text= for one)

### `ai_transcribe` (~214 tokens)

Speech to text / audio transcription (Whisper large-v3-turbo, timestamps + WebVTT)

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 with x402 (MCP transport: an unpaid call returns the x402 PaymentRequired object; retry with params._meta["x402/payment"]). Same tool over HTTP: POST /api/ai/transcribe.

Input parameters:

- `audio_base64` (string): or base64 audio (POST)
- `audio_url` (string): public https URL of the audio (max 1 MB)
- `language` (string): optional ISO code, e.g. en
- `segments` (string)

### `ai_image` (~381 tokens)

AI image generation, text to image (FLUX.1 schnell): photo, illustration, logo, 3D; style-faithful, safety-screened

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 quality guidance (e.g. real lens and natural light for photos, clean 2D linework for illustrations); no medium named = natural photo. The medium is never switched and nothing unrequested is added; set style to force one, or enhance=false to use your prompt as written. Both your prompt and the final prompt go through our content screen (keyword rules + an LLM check): sexual content, minors, violence/weapons, real or identifiable people, hate and illegal content are refused with 400 and you are not charged. The image itself is not classified. Returns a base64 JPEG plus the final prompt and detected style. Capped at a small number of images per day: 503 (not charged) when used up. 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: POST /api/ai/image.

Input parameters:

- `enhance` (string): default true; false = use the prompt as given
- `prompt` (string, required): what to make, max 600 chars
- `steps` (string): 1-8, default 6
- `style` (string): optional override; default auto (detected from prompt, photo if none)

### `policy` (~116 tokens)

AI contribution policy generator

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.

Input parameters:

- `project` (string)
- `style` (string)

### `ai_status` (~39 tokens)

AI capacity today (free)

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).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit#diagnostics

## Score history

- 2026-10-23: 63
- 2026-10-22: 62

## Common questions

### What is the Money Maker x402 tools: EVM reads + AI tasks MCP server?

Money Maker x402 tools: EVM reads + AI tasks is an MCP server listed in the public MCP registry as dev.workers.moneymaker-ai.ai-policy-kit/x402-tools. x402 pay-per-call: EVM balances, tx decode, transfers; AI extract, classify, embed, speech, image. This page covers its hosted endpoint (https://ai-policy-kit.moneymaker-ai.workers.dev/mcp).

### Is the Money Maker x402 tools: EVM reads + AI tasks MCP server safe to use?

Money Maker x402 tools: EVM reads + AI tasks scores 63 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Money Maker x402 tools: EVM reads + AI tasks MCP server expose?

Money Maker x402 tools: EVM reads + AI tasks exposes 28 tools: repo_ai_policy, x402_lint, usdc_payment, erc8004_agent, token_transfers, and 23 more. Their descriptions and schemas cost roughly 5,447 tokens of context every time the server is loaded.

### Does the Money Maker x402 tools: EVM reads + AI tasks MCP server require authentication?

No. We connected to Money Maker x402 tools: EVM reads + AI tasks without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Money Maker x402 tools: EVM reads + AI tasks MCP server still maintained?

Money Maker x402 tools: EVM reads + AI tasks is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://ai-policy-kit.moneymaker-ai.workers.dev/mcp
- Website: https://ai-policy-kit.moneymaker-ai.workers.dev/llms.txt
- Changelog RSS feed: https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit.xml
- Changelog JSON feed: https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit.json
- HTML version of this page: https://verifymcp.io/servers/dev-workers-moneymaker-ai-ai-policy-kit-x402-tools/ai-policy-kit
