ADEXTO MCP
The remote MCP server for ADEXTO bonding-curve token markets on 0G, Base, Arbitrum One,Monad and Robinhood Chain, plus a TypeScript kit that signs its transactions with your own key.
- Endpoint:
https://adexto.xyz/api/mcp. Streamable HTTP, no account, no API key. - 14 tools: list and price markets, read trade history, buy with USDC on Base over x402, read and open stakes,and launch, stake and claim with your own key. Full reference: TOOLS.md.
- No custody: the server never holds your key. Launch, stake and claim tools return unsigned transactions.
- Registry:
xyz.adexto/mcpin theofficial MCP Registry.
Connect
Claude Code
claude mcp add --transport http adexto https://adexto.xyz/api/mcp
Cursor (~/.cursor/mcp.json)
{ "mcpServers": { "adexto": { "url": "https://adexto.xyz/api/mcp" } } }
VS Code (.vscode/mcp.json)
{ "servers": { "adexto": { "type": "http", "url": "https://adexto.xyz/api/mcp" } } }
Cline (see llms-install.md)
{ "mcpServers": { "adexto": { "type": "streamableHttp", "url": "https://adexto.xyz/api/mcp" } } }
Any client, or plain HTTP
curl -s https://adexto.xyz/api/mcp \
-H 'content-type: application/json' \
-H 'accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_markets","arguments":{}}}'
The server is stateless. A client may call tools/list and tools/call directly, without an initialize roundtrip.
Tools
| Tool | What it does | Cost |
|---|---|---|
list_markets |
Every market on every chain, with ticker, chain, curve and price | free |
get_market |
One market in detail: fees, supply, creator, ERC-8004 agent, how to stake it | free |
quote_buy |
The x402 quote for a buy, without paying | free |
how_to_pay |
The steps from a 402 challenge to a settled buy | free |
buy_token |
Buy a market with USDC on Base; delivered on the market's own chain | 0.10 USDC per buy today |
pay_and_buy |
Operator-signed, capped demo purchase (needs an operator key header) | operator only |
trade_history |
Every swap on a market, and whether the answer reaches the launch block | free |
check_stake |
A wallet's stake in a market, read from the stake contract | free |
access_message |
The message to sign before ask_agent |
free |
ask_agent |
Ask the market's agent, for an address with an active stake | free |
prepare_launch |
Unsigned launch transaction for your key, after a signed attestation | free; you pay gas to send it |
register_launch |
List a mined launch on ADEXTO | free |
prepare_stake |
Unsigned approval and stake transactions | free; you pay gas to send them |
prepare_claim |
Unsigned creator-fee claims | free; you pay gas to send them |
Every tool declares an output schema and returns structuredContent alongside the JSON text. A refusal such asunknown_market or below_minimum is an ordinary answer with an error code, and nothing is spent when a toolrefuses.
Paying over x402
buy_token first answers with an HTTP 402 challenge. Sign the EIP-3009 TransferWithAuthorization described inaccepts[0] (USDC on Base, exact amount, ADEXTO's payee), base64-encode the x402 payload, and call buy_tokenagain with it as xPayment. The curve on the market's own chain then sends the tokens to your address. You needUSDC on Base and nothing else: no gas on Base, no gas on the destination chain, no bridge.
Delivery runs before the charge, so a failed fill is not charged. The same gateway is also reachable as plainHTTP at https://x402.adexto.xyz (OpenAPI).
Launch, stake and claim with your own key
An LLM cannot sign, so the transaction tools stop at an unsigned transaction. The agent kit in thisrepository finishes the job locally:
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { monad } from "viem/chains";
import { claim, createAdextoClient, launch, stake } from "@adexto/agent-kit";
const adexto = createAdextoClient();
const wallet = createWalletClient({ account: privateKeyToAccount(KEY), chain: monad, transport: http() });
await launch({ client: adexto, wallet, name: "My Market", symbol: "MYMKT" });
await stake({ client: adexto, wallet, symbol: "MYMKT", amount: "10000" });
await claim({ client: adexto, wallet });
Before your key signs anything, the kit decodes each transaction and refuses one that does not match the request:an unknown factory or stake contract, another sender, a non-zero value, an approval for anything but the exactstake amount, or a 402 challenge above your spending cap or for another payee. Seeagent-kit/README.md.
The kit is not on npm yet. To use it now, clone this repository, run npm ci && npm run build in agent-kit/,then npm install /path/to/adexto-mcp/agent-kit in your project.
Repository
| Path | What |
|---|---|
TOOLS.md |
Tool reference, generated from the live server by scripts/sync-tools.mjs |
llms-install.md |
Setup instructions for Cline and other agents |
agent-kit/ |
@adexto/agent-kit: typed client, x402 signer, launch, stake, claim and buy helpers |
assets/ |
Logo, 400ร400 and 512ร512 PNG |
The server itself runs inside the ADEXTO app, because it reads the app's market registry and calls its launchstage directly. Its source issrc/app/api/[transport]/route.tsin 0xcuy/adexto.
Security
Report vulnerabilities privately as described in the main repository'ssecurity policy. The MCP server, includingpay_and_buy, is in its scope. Please do not open a public issue for a vulnerability.
License
Business Source License 1.1 (LICENSE), the same license as the ADEXTO app, contracts and serversource in 0xcuy/adexto. You may use the documentation and the agent kit inproduction to build agents, apps and integrations on ADEXTO. You may not use them to run a competing tokenlaunchpad, bonding curve platform, or token launch or trading service for AI agents. On 2030-09-29 they becomeMIT.
The ADEXTO name and logo are not licensed by this repository. Use them only to refer to ADEXTO.