MAIN MCP
MCP-сервер MAIN
MCP (Model Context Protocol) сервер для MAIN DEX в сети Base. Предоставляет ИИ-агентам (Claude, Cursor и др.) инструменты для взаимодействия с протоколом: обмен токенов, управление ликвидностью, вход/выход из стратегий ALM и многое другое.
Подключение к Claude
Claude Code:
claude mcp add main-mcp --transport http https://api.main.exchange/mcpRelated MCP server: paean-dex-mcp
Протокол MCP
Сервер реализует спецификацию MCP 2025-03-26 через транспорт Streamable HTTP.
# Initialize
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
# List tools
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
| jq '.result.tools[] | {name, description}'
# Health
curl https://api.main.exchange/mcp/healthПлатежи x402
Некоторые инструменты требуют оплаты в USDC через протокол x402. Когда платный инструмент вызывается без оплаты, сервер отвечает ошибкой JSON-RPC, содержащей требования к оплате (сумма, получатель, сеть). Клиенты, совместимые с x402, обрабатывают это автоматически.
Платные инструменты: createPool, launchToken, getPoolsTerminal, getPoolTerminal, getTokenTerminal, getTokenHolders, getTokenSentiment, getForecastSummary
Инструменты
Токены
getTokens — Получить все токены в протоколе, отсортированные по объему торгов.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getTokens","arguments":{}}}' \
| jq '.result.content[0].text | fromjson'approveTokens — Подготовить транзакцию одобрения (approve) ERC20.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"approveTokens","arguments":{"tokenAddress":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","spenderAddress":"0x002E67c3F7BF96eB3aA4066073923e415581d385"}}}' \
| jq '.result.content[0].text | fromjson'getTokenTerminal (оплачивается через x402) — Получить подробную информацию о токене из api-terminal: цена, рыночная капитализация, предложение, ликвидность, объем, транзакции, изменение цены и ссылки на социальные сети.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getTokenTerminal","arguments":{"tokenAddress":"0x4200000000000000000000000000000000000006"}}}' \
| jq '.result.content[0].text | fromjson'getTokenHolders (оплачивается через x402) — Получить топ-100 держателей токена из api-terminal: адрес, метка, количество, процент и стоимость в USD.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getTokenHolders","arguments":{"tokenAddress":"0x4200000000000000000000000000000000000006"}}}' \
| jq '.result.content[0].text | fromjson'getTokenSentiment (оплачивается через x402) — Получить анализ настроений токена из api-terminal: нарратив (резюме, катализаторы, риски) и упоминания в сообществе (настроение, разбивка настроений, посты из X/Twitter).
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getTokenSentiment","arguments":{"symbol":"WETH"}}}' \
| jq '.result.content[0].text | fromjson'getForecastSummary (оплачивается через x402) — Получить сводный прогноз цены для актива (BTC, ETH, SOL) из api-terminal: прогноз, предсказанная цена, уровни поддержки/сопротивления и распределение вероятностей.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getForecastSummary","arguments":{"asset":"BTC","horizon":"24h"}}}' \
| jq '.result.content[0].text | fromjson'launchToken (оплачивается через x402) — Запустить новый токен ERC-20 на MAIN. Возвращает calldata для TokenFactory.createToken. Логотип и баннер должны быть предварительно загружены в IPFS (см. эндпоинт загрузки в IPFS в описании инструмента). Все данные токена неизменяемы после создания.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"launchToken","arguments":{"name":"My Token","symbol":"MTK","totalSupply":"10000000","logo":"bafkreibgxsqxrkrha3oqoatypp4gpuemft47ablrgxkfucqn2rvhsdwaka","description":"A cool token","website":"https://example.com"}}}' \
| jq '.result.content[0].text | fromjson'Торговля
getPrice — Получить котировку обмена: сколько tokenOut можно получить за заданное количество tokenIn.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPrice","arguments":{"amount":"1000000000000000000","tokenIn":"0x4200000000000000000000000000000000000006","tokenOut":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"}}}' \
| jq '.result.content[0].text | fromjson'quoteSwap — Получить полную котировку обмена с calldata для выполнения через SwapRouter.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"quoteSwap","arguments":{"amountIn":"1000000","tokenIn":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","tokenOut":"0x4200000000000000000000000000000000000006","recipient":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'Пулы
getPoolsTerminal (оплачивается через x402) — Получить список пулов в сети Base из api-terminal с рыночными данными: TVL, 24-часовой объем, цены токенов и изменение цен.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPoolsTerminal","arguments":{}}}' \
| jq '.result.content[0].text | fromjson'getPoolTerminal (оплачивается через x402) — Получить подробную информацию о конкретном пуле из api-terminal, включая метаданные токенов (символ, название, изображение).
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPoolTerminal","arguments":{"poolAddress":"0x70acdf2ad0bf2402c957154f944c19ef4e1cbae1"}}}' \
| jq '.result.content[0].text | fromjson'getPools — Получить пулы ликвидности с данными о TVL, объеме и комиссиях.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPools","arguments":{}}}' \
| jq '.result.content[0].text | fromjson'getPoolAPR — Получить APR пула (всех пулов или конкретного).
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPoolAPR","arguments":{}}}' \
| jq '.result.content[0].text | fromjson'addLiquidityToPool — Подготовить транзакцию для добавления ликвидности в пул Algebra.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"addLiquidityToPool","arguments":{"poolAddress":"0xPOOL","amount0":"1000000000000000000","amount1":"1000000","userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'removeLiquidityFromPool — Подготовить транзакцию для удаления ликвидности.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"removeLiquidityFromPool","arguments":{"tokenId":"123","percentage":100,"userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'createPool (оплачивается через x402) — Создать и инициализировать новый пул CLMM на MAIN. Принимает токены в любом порядке и цену в понятном для человека формате. Инструмент получает десятичные дроби токенов в сети, сортирует токены, вычисляет sqrtPriceX96 и проверяет, не существует ли уже такой пул.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"createPool","arguments":{"tokenA":"0xTOKEN_A","tokenB":"0xTOKEN_B","price":"0.1"}}}' \
| jq '.result.content[0].text | fromjson'Позиции
getPositions — Получить все открытые позиции ликвидности для адреса.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getPositions","arguments":{"userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'Смарт-кошелек
Стратегии ALM выполняются через смарт-кошелек — детерминированный прокси-контракт, развертываемый для каждого пользователя. Смарт-кошелек должен существовать в сети перед входом в любую стратегию.
deploySmartWallet — Развернуть смарт-кошелек для пользователя. Должен быть вызван один раз перед использованием любых инструментов стратегий. Транзакция должна быть отправлена непосредственно с EOA пользователя (фабрика использует msg.sender в качестве соли развертывания).
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"deploySmartWallet","arguments":{"userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'Стратегии
getStrategies — Получить доступные стратегии ALM с метриками.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getStrategies","arguments":{}}}' \
| jq '.result.content[0].text | fromjson'getStrategyPositions — Получить позиции пользователя в стратегиях ALM.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"getStrategyPositions","arguments":{"userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'enterToStrategy — Войти в стратегию ALM. Возвращает calldata для смарт-кошелька. Требует развернутого смарт-кошелька (сначала используйте deploySmartWallet).
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"enterToStrategy","arguments":{"strategyId":"alm-v1","amount0":"500000","amount1":"0","userAddress":"0xYOUR_ADDRESS","duration":86400,"stopLoss":10,"takeProfit":25}}}' \
| jq '.result.content[0].text | fromjson'exitFromStrategy — Выйти из стратегии ALM. Требует развернутого смарт-кошелька.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"exitFromStrategy","arguments":{"strategyId":"alm-v1","positionId":"5","percentage":10000,"userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'increaseStrategy — Увеличить позицию в стратегии ALM. Требует развернутого смарт-кошелька.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"increaseStrategy","arguments":{"strategyId":"alm-v1","positionId":"5","amount0":"500000","amount1":"0","userAddress":"0xYOUR_ADDRESS"}}}' \
| jq '.result.content[0].text | fromjson'Трансляция
broadcastTx — Транслировать подписанную транзакцию в блокчейн.
curl -s -X POST https://api.main.exchange/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"broadcastTx","arguments":{"signedTxHex":"0xSIGNED_TX"}}}' \
| jq '.result.content[0].text | fromjson'This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-aggregator swap router for AI agents on Base. 10 bps fee. MCP-native, non-custodial.
OpenAI-compatible LLM MCP (7 tools); chat via balance key or x402 USDC on Base
MCP server for Boson Protocol — on-chain agentic commerce for physical & digital goods.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
Related MCP Servers
- AlicenseCqualityFmaintenanceMCP server bringing 100+ x402-paid APIs to AI agents (Claude, Cursor, MCP-aware clients). Auto-discovers tools from CDP Bazaar; handles USDC micropayments on Base.10035 npm1MIT

paean-dex-mcpofficial
AlicenseNot gradedqualityDmaintenanceDEX trading MCP server enabling autonomous token swaps on Base (Uniswap v3) and Solana (Jupiter) for AI agents, with privacy-first design and read-only mode.32 npm5MIT- AlicenseNot gradedqualityFmaintenanceMCP server for spread-only options execution on Base L2, enabling AI agents to trade options via a defined tool loop.1MIT
- AlicenseAqualityCmaintenanceMCP server for ThryxProtocol on Base, enabling AI agents to launch ERC-20 tokens, trade on bonding curves or Uniswap V4 pools, claim fees, and discover tokens through 21 native tools with gasless transactions.2125 npm2MIT