cookie-mcp
MCP server for the Cookie Chain blockchain, enabling AI agents to read market data, swap tokens, manage liquidity, stake, trade NFTs, and bridge to Solana directly from their machine.
README
cookie-mcp
A Model Context Protocol (MCP) server that gives any AI agent onchain tools for the Cookie Chain blockchain — read the market, swap, launch tokens, manage liquidity, stake, trade NFTs, and bridge to Solana.
It runs locally over stdio and signs with your key on your machine, so it is non-custodial by design. It is a community project for the whole Cookie Chain ecosystem.
<p align="center"> <img src="https://raw.githubusercontent.com/cookiechain/cookie-mcp/main/docs/demo.gif" alt="An AI agent using cookie-mcp: checking chain health, bridging COOK from Solana, buying COOKHOUSE, staking for bCOOK, and bridging back to Solana" width="820"> </p>
Contents
- What it can do
- Install — Claude Code · Claude Desktop · Cursor
- Enable trading (add a key)
- Try it
- Configuration
- Tools
- Safety
- Development
What it can do
- Read the market — chain health, pools, token info, token search, swap quotes, and wallet balances. No key needed.
- Swap any Cookie Chain token pair through the Candy Shop aggregator, which routes across all Cookie Chain DEX liquidity for the best fill.
- Transfer COOK or any SPL / Token-2022 token.
- Launch tokens — coming soon. Launchpad support is being migrated to MomoSwap;
deploy_tokenandclaim_creator_feesare registered but return a coming-soon notice for now. - Manage liquidity — create pools, add / remove liquidity, claim fees, and permanently lock positions across Cookiebox DAMM v2, Cookiebox CLMM, and CookieSwap SAMM (venue auto-detected).
- Liquid-stake COOK for bCOOK and redeem it instantly.
- Trade NFTs on Baked Bazaar — search, browse, buy, list, and make / accept offers (Cookie Chain's Metaplex Auction House marketplace).
- Bridge COOK 1:1 between Cookie Chain and Solana mainnet over Hyperlane.
Safe by default: read-only until you add a key, a hard per-transaction spend cap, and every money-moving action is simulated before it is sent.
Install
Requires Node ≥ 22. There is nothing to install or build — npx fetches the published package on
first run. Pick your client below. All three use the same server; the only difference is where the
config lives.
Claude Code
The quickest way — one command, available in every project:
claude mcp add --scope user --transport stdio cookie-mcp -- npx -y cookie-mcp
This registers the server read-only (no key). See Enable trading to add a wallet.
Scopes — claude mcp add writes to one of three places; choose with --scope:
--scope |
Available in | Stored in |
|---|---|---|
user |
all your projects | ~/.claude.json |
(omitted) local |
the current project dir | ~/.claude.json (per-folder) |
project |
anyone who clones a repo | .mcp.json at the repo root |
Use --scope project only when you want the server committed into a specific repo — it writes a
.mcp.json that teammates must approve on first use. For a general-purpose tool like this, --scope user is the right default.
Verify it registered:
claude mcp list # all servers
claude mcp get cookie-mcp # this one's details
# or run /mcp inside a Claude Code session
Claude Desktop
Edit the config file (create it if missing), then restart Claude Desktop:
- macOS —
~/Library/Application Support/Claude/claude_desktop_config.json - Windows —
%APPDATA%\Claude\claude_desktop_config.json
Add the server block below under mcpServers.
Cursor
Edit ~/.cursor/mcp.json (applies everywhere) or .cursor/mcp.json in a project (project wins if
both exist), then add the server block.
Server block
Claude Desktop, Cursor, and a Claude Code .mcp.json all use the identical shape:
{
"mcpServers": {
"cookie-mcp": {
"type": "stdio",
"command": "npx",
"args": ["-y", "cookie-mcp"],
"env": {
"COOKIE_RPC_URL": "https://rpc.cookiescan.io",
"COOKIE_PRIVATE_KEY": ""
}
}
}
}
Enable trading (add a key)
Reads work with no key. To let the agent swap, transfer, launch, stake, LP, buy NFTs, or bridge,
provide a wallet via COOKIE_PRIVATE_KEY — a base58 secret, a solana-keygen JSON byte array, or a
path to a keypair file.
-
Config-file clients (Desktop / Cursor /
.mcp.json): put it in theenvblock above. -
Claude Code: re-run the add with
--env(note: this is saved to~/.claude.json; avoid leaving the raw secret in your shell history):claude mcp add --scope user --transport stdio cookie-mcp \ --env COOKIE_RPC_URL=https://rpc.cookiescan.io \ --env COOKIE_PRIVATE_KEY=<your-key-or-path> \ -- npx -y cookie-mcp
Your key never leaves your machine, is used only to sign locally, and is redacted from all output. The
per-transaction spend cap (COOKIE_MAX_TRADE_COOK, default 100 COOK) limits how much any single action
can spend.
Try it
Once it's registered, just talk to your agent naturally:
- "What's the health of Cookie Chain right now?" →
chain_health - "Find the cookhouse token and show me its price and liquidity." →
search_tokens→get_token_info - "Quote swapping 10 COOK for bCOOK." →
get_quote - "Swap 10 COOK for bCOOK." →
get_quote→trade(needs a key; capped + simulated first) - "What COOKHOUSE NFTs are listed, and buy the cheapest under 50 COOK." →
search_nfts→buy_nft
The agent resolves names to mint addresses with search_tokens / search_nfts, then acts on the mint —
it never turns a name straight into a trade.
Configuration
| Variable | Default | Purpose |
|---|---|---|
COOKIE_RPC_URL |
https://rpc.cookiescan.io |
Cookie Chain RPC. |
COOKIE_PRIVATE_KEY |
— | Wallet key for money-moving tools. Read-only if unset. |
COOKIE_MAX_TRADE_COOK |
100 |
Per-transaction spend cap in COOK (0 disables). |
COOKIE_SLIPPAGE_BPS |
500 |
Default slippage (bps). |
SOLANA_RPC_URL |
https://api.mainnet-beta.solana.com |
Solana mainnet RPC (bridge only). |
The Candy Shop API, Baked Bazaar API, and the Hyperlane warp-route program ids all ship with working
mainnet defaults, so you never need to set them — override via env only to target a different
deployment (see src/core/config.ts).
Tools
Reads (no key): chain_health, get_pools, get_token_info, search_tokens (resolve a token
name/ticker to its mint), get_quote, get_balance, stake_info (bCOOK liquid-staking rate / TVL /
APY / fees), and NFT reads get_nft_listings, search_nfts (resolve an NFT/collection name to a listed
mint), get_nft, get_wallet_nfts, get_nft_offers, get_nft_market_stats.
Money (need COOKIE_PRIVATE_KEY): trade (swap via Candy Shop), transfer (COOK or any token),
stake / unstake (COOK ⇄ bCOOK liquid staking).
Launchpad (coming soon): deploy_token (launch a token) and claim_creator_fees (claim the
creator trading fees a token you launched has earned) are registered but not yet functional —
launchpad support is being migrated to MomoSwap.
Liquidity (need COOKIE_PRIVATE_KEY): create_pool, add_liquidity, remove_liquidity,
claim_fees (Cookiebox DAMM v2, Cookiebox CLMM, and CookieSwap SAMM, venue auto-detected),
lock_liquidity (Cookiebox DAMM v2 and Cookiebox CLMM, permanent and irreversible — CLMM locks the
whole position; fees stay claimable either way). Concentrated-liquidity venues (CLMM / SAMM) open a
full-range position by default.
NFT marketplace (need COOKIE_PRIVATE_KEY, Baked Bazaar): buy_nft,
list_nft, cancel_listing, make_offer, accept_offer, cancel_offer. Built on the Cookie Chain
Metaplex Auction House (1% marketplace fee + creator royalties); every action is built and signed
locally. buy_nft / make_offer honor the spend cap.
Bridge (need COOKIE_PRIVATE_KEY): bridge moves COOK 1:1 between Cookie Chain and Solana mainnet
over the Hyperlane warp route (direction = cookie-to-solana |
solana-to-cookie). One source-chain signature dispatches the transfer; a relayer delivers on the far
side in a few minutes — check with bridge_status (a read, by Hyperlane message id). Cookie native COOK
is 9-decimal; Solana COOK is a 6-decimal Token-2022 mint — amounts are in COOK either way. Honors the
spend cap and simulates first. The mainnet warp-route program ids ship as defaults, so bridge works
out of the box — override COOKIE_WARP_PROGRAM_ID / SOLANA_WARP_PROGRAM_ID only for a different
deployment.
Use the COOK / native mint So11111111111111111111111111111111111111112 for COOK. Every tool returns
JSON; failures return { error, hint } — never a stack trace, never your key.
Safety
Non-custodial and local: no hosted server, no remote key storage. The key stays in COOKIE_PRIVATE_KEY,
signs locally, and is redacted from all output. Read-only until a key is set; every trade/transfer is
capped (COOKIE_MAX_TRADE_COOK) and simulated before sending.
Development
yarn install
yarn test # lint + format + typecheck + unit tests + boot smoke
yarn mcp # run the server on stdio from source (tsx)
yarn build # bundle to dist/mcp/server.js (what gets published)
To point an agent at a local checkout instead of the published package, set the command to
npx tsx /ABS/PATH/cookie-mcp/src/mcp/server.ts.
License
This project is licensed under the terms of the MIT license. See the LICENSE file.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。