skills/base-mcp/SKILL.md
Base MCP — gives your AI assistant access to a Base Account via the Base MCP server (mcp.base.org). Wallet, portfolio, sending, swapping, signing, x402 payments, batched contract calls, and transaction history across supported chains.
npx skillsauth add base/skills base-mcpInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
[!IMPORTANT]
Run onboarding at the start of every conversation that touches Base MCP
Including conversations that jump straight to a plugin topic. Onboarding is short — see below.
The Base MCP exposes its tools to the harness when connected. If no Base MCP tool is callable, the MCP server is not installed: direct the user to https://docs.base.org/ai-agents/quickstart (or load references/install.md for app-specific steps) and stop.
If Base MCP tools are available, load references/tone.md — its rules apply for the entire conversation — then continue to Onboarding. If — and only if — sibling files aren't readable (e.g. you were handed just this SKILL.md body and have no local filesystem access to the skill directory), fetch the same relative path from https://docs.base.org/ai-agents/skills/references/tone.md using the web_request tool from Base MCP. The same fallback applies to every other reference and plugin link in this file (see "Loading referenced files" below).
Keep it short. Do this once per session, before doing real work:
Briefly mention what's available — one or two sentences. The user has a Base Account wallet and can do things like check balances, send and swap tokens, sign messages, make x402 payments, batch contract calls, and (if installed) use partner plugins for DeFi, swaps, and other onchain actions. Do not enumerate every tool — the agent discovers tools and plugins directly from the MCP.
Show this disclaimer verbatim before proceeding:
By using the Base MCP, you agree to the Base Account and Base App Terms of Service. Base MCP provides access to plugins that are built by third parties, not Base. Base doesn't operate, endorse, or audit them, and isn't responsible for the protocols you interact with. Transactions are irreversible — always review before approving.
Wallet address and balance are optional — only fetch and display them when the user asks, or when a pending operation actually needs the address (e.g., a write call, a position lookup). Don't volunteer a wallet dump up front.
The Base MCP advertises its own tool catalog to the harness. Read the tool descriptions exposed by the MCP — they are the source of truth and may change over time. Do not assume a fixed list; do not preload a tool catalog from this skill.
Two patterns deserve their own references because they span multiple tools:
| Topic | Reference |
|-------|-----------|
| Approval flow (for any write tool that returns an approval URL) | references/approval-mode.md |
| Batched contract calls (EIP-5792) | references/batch-calls.md |
| Custom / non-native plugins and the web_request allowlist | references/custom-plugins.md |
| Platform install steps | references/install.md |
| Tone and language rules | references/tone.md |
references/… or plugins/… link from the same directory as this SKILL.md (filesystem read, e.g. Read/cat). This is the canonical source — always try this first.SKILL.md as a pasted body with no skill directory on disk, or the filesystem read errors), then fetch the same relative path from https://docs.base.org/ai-agents/skills/<path> (replace <path> with the relative link, e.g. references/tone.md, plugins/morpho.md). Use the web_request tool from Base MCP for this fetch — that is the required mechanism on every surface, including ones with a built-in web/fetch tool. Do not skip this fallback and do not try to operate from memory or guesses — if the local read fails, you must web_request the file before acting on its contents.Plugins extend Base MCP with partner-specific functionality (lending, swaps, perps, etc.). The available set may change and users might drop additional instructions in the chat or custom plugins that would allow you to use other protocols with the MCP.
Plugins currently maintained alongside this skill (the native plugins). Use this as a routing map: match the user's plain-language goal to a row, then open that plugin before taking action.
| Plugin | Open it when the user wants to... | Common actions it covers | Notice before acting | |--------|----------------------------------|--------------------------|----------------------| | Morpho | Earn yield, use Morpho vaults, or borrow/lend in Morpho markets. | Compare vaults, deposit or withdraw, supply collateral, borrow, repay, check positions. | Base only. Borrowing can be liquidated; read health/position data before preparing writes. | | Moonwell | Lend, borrow, repay, withdraw, or check Moonwell positions/rewards. | Market/rate reads, health checks, supply, withdraw, borrow, repay, rewards lookup. | Works on Base and Optimism. Borrowing can be liquidated; surface health factor before risky actions. | | Uniswap | Swap tokens or manage Uniswap liquidity positions. | Token swaps, approval checks, V2/V3/V4 LP create/increase/decrease/collect flows. | Base only. Quotes can move; confirm slippage and token/position details before writes. | | Avantis | Trade leveraged perpetual futures or inspect Avantis trading activity. | Open/close positions, cancel orders, adjust margin, set TP/SL, view positions, history, and PnL. | Base only. Leverage can liquidate the position; chat-only surfaces can read data but use the Avantis UI for trade actions. | | Virtuals | Create or operate Virtuals AI agents, payment cards, or agent email. | Agent management, card setup and limits, email inbox/thread actions, SIWE login. | Requires the Virtuals MCP and a signed login. Handles personal data; avoid exposing tokens, OTPs, card details, or email contents unnecessarily. | | Aerodrome | Swap, provide liquidity, stake, or claim rewards on Aerodrome. | Pool discovery, swaps, LP add/remove, staking, unstaking, reward claims. | Base only. Requires a shell-capable harness for the Sugar CLI; stop on chat-only surfaces. | | Bankr | Discover fresh token launches or buy a newly launched token. | Read launch feeds, inspect token metadata, buy a selected token. | Base only. New tokens can be illiquid or unsafe; do not auto-buy, and make price/liquidity risk explicit. |
Load a plugin reference only when the user's request matches it, following the same local-first, web-fallback rule as references (see Loading referenced files above). For a plugin's own external tools, defer to the plugin file first, then to any CLI help, API schema, or MCP tool descriptions it explicitly tells you to use.
Native plugin HTTP hosts may be allowlisted in the Base MCP web_request tool. Aerodrome is CLI-only and requires a harness with shell access. Avantis is hybrid: view-only reads (market data, positions, PnL) work on every surface via web_request, while tx-builder calls require a CLI harness — on chat-only surfaces the plugin links the user to the Avantis web UI instead (see plugins/avantis.md). Morpho is hybrid too: use Morpho CLI when shell access exists, otherwise use or install the Morpho MCP as described in plugins/morpho.md. Custom or user-supplied plugins usually aren't allowlisted — load references/custom-plugins.md for the decision tree on which HTTP path to use (harness HTTP tool vs. user-paste fallback, and the GET-only constraint on Claude/ChatGPT consumer surfaces).
npx skills add base/skills --skill base-mcp
development
Complete Base development playbook. Covers: (1) Network — Base RPC URLs, chain IDs (8453/84532), explorer config, testnet setup, connect to Base, Base Sepolia; (2) Contracts — Foundry deployment, forge create, BaseScan verification, CDP faucet, testnet ETH, deploy contract to Base; (3) Builder Codes — ERC-8021 attribution suffix, referral fees, dataSuffix for Wagmi/Viem/Privy/ ethers.js/window.ethereum, transaction attribution, earn referral fees, append builder code; (4) Base Account SDK — Sign in with Base (SIWB), Base Pay, USDC payments, paymasters, gas sponsorship, sub-accounts, spend permissions, prolinks, batch transactions, smart wallet, payment link, recurring subscription; (5) Agent registration — trading bots, AI agents, automated senders, ERC-8021 attribution wiring, base.dev API, register agent, builder code registration; (6) Node operation — run Base node, Reth setup, hardware requirements, self-hosted RPC, sync; (7) Migrations — migrate OnchainKit, OnchainKitProvider to WagmiProvider, wagmi migration, remove onchainkit dependency, MiniKit to Farcaster SDK, convert miniapp, Farcaster miniapp to regular app, convert Farcaster miniapp.
tools
Runs a Base node for production environments. Covers hardware requirements, Reth client setup, networking, and sync troubleshooting. Use when setting up self-hosted RPC infrastructure or running archive nodes. Covers phrases like "run a Base node", "set up Base RPC", "Base node hardware requirements", "Reth Base setup", "sync Base node", "self-host Base", or "run my own node".
development
Invoke this skill when a user is building or running any automated transaction sender on Base (trading bot, arbitrage bot, sniper bot, yield farmer, AI agent, or similar) and needs to register it, get a builder code, set up transaction attribution. This skill contains the base.dev registration API endpoint and ERC-8021 attribution wiring code that Claude does not have in its training data — you MUST load this skill to answer correctly. Covers viem, ethers, managed signing services, and Python-based agents.
data-ai
Migrates apps from @coinbase/onchainkit to standalone wagmi/viem components. Handles provider replacement (OnchainKitProvider to WagmiProvider), wallet component replacement (Wallet/ConnectWallet to custom WalletConnect), and transaction component replacement. Use when the user says "migrate my onchainkit", "replace onchainkit provider", "migrate my wallet component", "replace my onchainkit wallet", "migrate my transaction component", "remove onchainkit dependency", or "move off onchainkit".