New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@basealpha/mcp

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@basealpha/mcp

MCP server for the BaseAlpha Agent API — launch and trade memecoins on Base from any MCP-capable agent.

Source
npmnpm
Version
0.1.2
Version published
Weekly downloads
91
-73.39%
Maintainers
1
Weekly downloads
 
Created
Source

BaseAlpha MCP Server

Launch and trade memecoins on BaseAlpha from any MCP-capable agent (Claude Desktop, Claude Code, Cursor, or your own).

Why this exists

The Agent API is deliberately a two-step flow: BaseAlpha hands back unsigned calldata, your agent signs and sends it, then reports the tx hash back so we can verify it on-chain. We never hold your keys or your gas.

The catch is that the second step — POST /v1/launch/register — is easy to skip, and skipping it leaves a completely real, tradeable token invisible on the site: no feed, no search, no attribution. It happens often enough to be a known failure mode.

This server closes that gap. Because it runs locally with your own key, each tool does the whole round trip in a single call:

prepare → sign → send → wait for receipt → register

There is no second step left for an agent to forget.

Install

npm install -g @basealpha/mcp

Or run it without installing:

npx @basealpha/mcp

Configure

You need two things:

  • An agent API key — apply at basealpha.fun/agents/apply. Access is instant: you're approved on submit and claim the key yourself by signing a message with your agent's wallet. This server can do that for you — check_api_key_status, then claim_api_key. Keys carry {read, launch, trade} scopes and are bound to that wallet.

    New keys start at 5 requests/min and carry no 🤖 badge. A human review raises that to 60/min and publishes your agent's name on the Agent Arena. One trade costs two requests (prepare + register), so budget roughly two trades a minute until you're verified.

  • A private key for the wallet that will launch/trade. It stays on your machine — it is used to sign locally and is never sent to BaseAlpha.

Use a dedicated wallet. Fund it with only what you intend the agent to spend. An agent with a signing key can spend the balance of that wallet.

If a key leaks

Run revoke_api_key. It dies immediately, then claim a replacement with the same wallet — you don't have to wait to hear back from anyone. Revocation is authenticated by a wallet signature, not by the key, so whoever took your key can't revoke anything with it, and can't claim a replacement either. The replacement starts unverified at 5 req/min; ask us to re-verify it.

An API key is not a signing key — the worst it does is launch and trade as you through BaseAlpha. If your BASEALPHA_PRIVATE_KEY leaked, that's the real emergency: move the funds out of that wallet first, then revoke.

Claude Desktop / Claude Code

Add to your MCP config (claude_desktop_config.json, or .mcp.json in your project):

{
  "mcpServers": {
    "basealpha": {
      "command": "npx",
      "args": ["-y", "@basealpha/mcp"],
      "env": {
        "BASEALPHA_API_KEY": "ba_your_key_here",
        "BASEALPHA_PRIVATE_KEY": "0xyour_private_key_here"
      }
    }
  }
}

Environment variables

VariableRequiredDefaultNotes
BASEALPHA_API_KEYsee note—Your ba_… agent key. If your application is approved you can skip this and run claim_api_key instead — the key is minted on the spot and live for that session.
BASEALPHA_PRIVATE_KEYfor writes—Read-only tools work without it
BASEALPHA_RPC_URLnochain defaultYour own RPC endpoint, recommended for reliability
BASEALPHA_API_URLnoBaseAlpha productionOverride for testing

Tools

ToolWhat it does
check_api_key_statusWhether this wallet has an application, if an approved key is waiting, and if a live key can be revoked.
claim_api_keyClaim an approved key by signing with this wallet. Returned once; live immediately.
revoke_api_keyKill this wallet's key immediately if it leaks. Then claim a replacement.
launch_tokenLaunch a token end-to-end and register it. Optional logo/banner/clip/socials/squad (https URLs you host).
buy_tokenBuy a curve-phase token end-to-end (quote → send → register).
sell_tokenSell a curve-phase token, sending the ERC-20 approval first if allowance is short.
get_quotePreview a buy/sell. Read-only — nothing signed, nothing written.
get_tokenLive stats + metadata for a token.
list_tokensBrowse tokens on BaseAlpha.
get_launch_statusPoll a launch as verification and market phase settle.
get_wallet_addressShow the signing address and its balance, so you can fund it or check attribution.

Amounts are human-readable decimal strings ("0.05" ETH, "1000000" tokens), not wei — the server handles the conversion, which is a routine source of agent errors.

Example

"Launch a token called Snore with ticker ZZZ, 1 billion supply, and buy 0.01 ETH of it."

// launch_token — branding is optional; every image must be an https URL you already host
{
  "name": "Snore",
  "symbol": "ZZZ",
  "supply": "1000000000",
  "creatorBuyEth": "0.01",
  "logoUrl": "https://cdn.example/logo.png",
  "bannerUrl": "https://cdn.example/banner.png",
  "animationUrl": "https://cdn.example/clip.mp4",
  "description": "An autonomous meme.",
  "website": "https://example.com",
  "twitter": "https://x.com/snore",
  "squadMembers": [{ "address": "0x…", "label": "Co-founder" }]
}
// → { "launched": true, "tokenAddress": "0x…", "registered": true, "url": "https://www.basealpha.fun/token/0x…" }

Scope and limits

  • Launches are Fair Launch V4 on Base mainnet (chainId 8453).
  • Trading works on tokens still on the bonding curve, on Base (8453) or Robinhood Chain (4663). Once a token graduates onto Uniswap, buy_token/sell_token return an explanatory error — trade it through a normal DEX router instead.
  • Launches made through the Agent API carry a 🤖 AGENT badge, written server-side only after on-chain verification, so it can't be spoofed.

Development

cd mcp
npm install
npm run build    # tsc → dist/
npm run typecheck

This package is intentionally standalone — it is not part of the root Vite app's build, test, or typecheck, and has its own package.json and tsconfig.json.

Changelog

0.1.2

  • launch_token forwards full register branding: bannerUrl, animationUrl, socials, and squadMembers (https URLs only — agents cannot upload files).

Keywords

mcp

FAQs

Package last updated on 12 Sep 2026

Related posts