base-mcp
Skill776 starsChanged 2 months agoMITView on GitHub
Access a Base Account via the Base MCP server (mcp.base.org) - wallet, portfolio, sending, swapping, signing, x402 payments, batched calls, and transaction history.
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 5 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 25
Skip onboarding: No capability intro, no disclaimer, no "give me an action" reply.
- Distinctive: line 28
Every figure traces to a tool response: Never estimate balances or values.
- Very specific: line 32
Call the Base MCP tools (mcp__base__*.
- Very specific: line 44
Read the previous run's output at output/.chains/base-mcp.md if it exists and pull its Snapshot: line.
- Distinctive: line 59
No change on an empty-var run = no notify.
- Distinctive: line 85
Keep it short. Do this once per session, before doing real work:
- Distinctive: line 89
Show this disclaimer verbatim: before proceeding:
- Very specific: line 111
Default — local: Read each references/… or plugins/… link from the same directory as this SKILL.md (filesystem read, e.g.
- Distinctive: line 113
Lazy: Only load a reference or plugin when the conversation actually needs it.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Base MCP
${var} - empty = wallet snapshot (address, portfolio, last 7 days of activity).
history[:N]= last N transactions (default 10). Anything else = a read-only question about the account, answered from the MCP reads. Never sends, swaps, signs, pays, or batches on an Aeon run.
Aeon runs (scheduled or dispatched)
The rest of this file is Base's upstream skill, written for a live chat. An Aeon run has no user to talk to, so these rules override it:
- Skip onboarding. No capability intro, no disclaimer, no "give me an action" reply. Go straight to the reads below. An empty
${var}is the task, not a missing one. - Fetch the wallet address and balances up front. The upstream "only when the user asks" rule does not apply: the snapshot needs them.
- Read-only. Call only read tools (address, portfolio/balances, transaction history,
web_requestGETs for plugin data). Do not call any tool that sends, swaps, signs, pays (x402), or batches, even if${var}asks for it - nobody is present to approve it. Refuse that request in the notify and say to run it from a chat surface instead. - Every figure traces to a tool response. Never estimate balances or values.
1. Read
Call the Base MCP tools (mcp__base__*; discover them from the server, don't assume names) for:
- wallet address
- portfolio: each token (symbol, amount, USD value), total USD value
- transaction history: last 7 days (empty var) or last N (
history[:N]), with date, type, token, amount, counterparty
For a free-form ${var} question, make only the reads that answer it.
If no mcp__base__* tool is callable, the server is not connected (or MCP_BASE_TOKEN is missing and the workflow skipped MCP with a ::warning::). Report BASE_MCP_NOT_CONNECTED, notify once pointing the operator at the dashboard MCP tab, and stop. If tools return 401/invalid-token, report BASE_MCP_AUTH_STALE and ask the operator to reconnect. Don't retry the same call more than twice.
2. Compare
Read the previous run's output at output/.chains/base-mcp.md if it exists and pull its Snapshot: line. Something changed when any of these holds:
- first run (no previous snapshot)
- a transaction newer than the previous snapshot
- a token added or removed from the holdings
- total USD value moved 5% or more
3. Notify
One ./notify -f - <<'EOF' ... EOF call per run, only when something changed (step 2) or ${var} was set:
- Snapshot: address (shortened), total value and change vs last snapshot, a holdings table, recent transactions, one line on what stands out (a new token, a large outflow, a big move).
- Question / history: the answer or the transaction list.
- Refused write: what was asked and why it was not run.
No change on an empty-var run = no notify; the final output still carries the full snapshot.
4. Result record
This skill is read-only: the workflow writes the ### base-mcp log entry and output/.chains/base-mcp.md from your final output, so don't append to memory/logs/ yourself. End the final output with:
### base-mcp
- Branch: snapshot | history | question | refused
- Result: BASE_MCP_OK | BASE_MCP_NO_CHANGE | BASE_MCP_REFUSED | BASE_MCP_NOT_CONNECTED | BASE_MCP_AUTH_STALE | BASE_MCP_ERROR
- Snapshot: address=0x… value=$… tokens=N last_tx=<ISO time or none>[!IMPORTANT]
Run onboarding at the start of every conversation that touches Base MCP (chat surfaces only - Aeon runs skip it, see above)
Including conversations that jump straight to a plugin topic. Onboarding is short — see below.
Detection
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).
Onboarding
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. Plugins available in the Base repo are authored by Base, not by the third-party protocols they reference.
- 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.
Tools
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 |
Loading referenced files
- Default — local. Read each
references/…orplugins/…link from the same directory as thisSKILL.md(filesystem read, e.g.Read/cat). This is the canonical source — always try this first. - Fallback — web (only when local read fails). If — and only if — the local file is genuinely unreadable (e.g. you were handed
SKILL.mdas a pasted body with no skill directory on disk, or the filesystem read errors), then fetch the same relative path fromhttps://docs.base.org/ai-agents/skills/<path>(replace<path>with the relative link, e.g.references/tone.md,plugins/morpho.md). Use theweb_requesttool 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 mustweb_requestthe file before acting on its contents. - Lazy. Only load a reference or plugin when the conversation actually needs it. Don't preload the catalog.
Plugins
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):
| Plugin | Reference |
| Morpho | plugins/morpho.md |
| Moonwell | plugins/moonwell.md |
| Uniswap | plugins/uniswap.md |
| Avantis (hybrid) | plugins/avantis.md |
| Virtuals | plugins/virtuals.md |
| Aerodrome (CLI-only) | plugins/aerodrome.md |
| Bankr | plugins/bankr.md |
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 plugins vs. custom / user-supplied plugins
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).
Installation
npx skills add base/skills --skill base-mcpOther versions3 projects use a version of this.
Word for word · 3
- aeonfun/aeon★ 782100% same
- aaronjmars/miroshark-aeon★ 18100% same
- MiroShark/miroshark-aeon★ 18100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository89 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- aeonSkill
- action-converterSkill
- aeon-doctorSkill
- aeon-updateSkill
- anatomySkill
- arc-studioSkill
- articleSkill
- auto-mergeSkill
- autoresearchSkill
- auto-workflowSkill
- bd-radarSkill
- changelogSkill
- competitor-monitorSkill
- compute-resellSkill
- cortx-reliabilitySkill
- create-proveSkill
- create-skillSkill
- defi-overviewSkill
- deploy-prototypeSkill
- deploy-uni-hookSkill
- digestSkill
- distribute-tokensSkill
- executor-mcpSkill
- featureSkill
- feedback-builderSkill
- fetch-tweetsSkill
- finance-district-mcpSkill
- fleet-controlSkill
- fork-fleetSkill
- github-monitorSkill
- github-trendingSkill
- glim-mcpSkill
- heartbeatSkill
- higgsfieldSkill
- hunter-22Skill
- idea-forgeSkill
- idea-pipelineSkill
- inbox-triageSkill
- install-skillSkill
- investigation-reportSkill
- last30Skill
- memory-flushSkill
- mention-radarSkill
- miroshark-matchdaySkill
- monitor-polymarketSkill
- narrative-convergenceSkill
- narrative-trackerSkill
- onchain-monitorSkill
- operator-scorecardSkill
- pack-submitSkill
- picks-trackerSkill
- pm-manipulationSkill
- posthog-errorsSkill
- price-alertSkill
- pr-reviewSkill
- pr-triageSkill
- remotionSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

