Onlyswaps

Created By
OnlySwaps4 months ago
Multi-chain DEX meta-aggregator for AI agents. Queries 15+ DEX aggregators (0x, 1inch, Paraswap, etc.) and returns the best swap price across 13 chains.
Overview
⚠️

@onlyswaps/mcp-server
TypeScript icon, indicating that this package has built-in type declarations

0.2.3 • Public • Published

OnlySwaps MCP Server

Multi-chain DEX meta-aggregator for AI agents. Queries 15+ DEX aggregators, returns the best price.

MCP (Model Context Protocol) server that enables AI agents to execute token swaps. We query 0x, 1inch, Paraswap, DODO, Uniswap, Li.Fi, and 10+ more sources, returning only the best available quotes.

Why OnlySwaps?

  • Meta-Aggregator: Queries 15+ DEX aggregators (0x, 1inch, Paraswap, Li.Fi, etc.) and returns the best available price
  • 13 Chains: Ethereum, Base, Arbitrum, Optimism, Polygon, BSC, Avalanche, Solana, and more
  • One Integration: Single API call to access all DEX liquidity across all chains
  • AI-Native: Built for MCP - works with Claude Desktop, Cursor, and any MCP client

Tools

ToolDescription
get_quoteGet swap quotes from multiple DEX aggregators
build_swap_txBuild unsigned swap transaction (ready for client-side signing)
execute_swapExecute swap end-to-end with embedded wallet (Privy)
get_portfolioGet user token holdings across chains
get_tx_statusCheck transaction status
estimate_gasEstimate gas for a transaction
search_tokenSearch tokens by name or symbol

Quick Start

Using npx

npx @onlyswaps/mcp-server

Claude Desktop Configuration

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "onlyswaps": {
      "command": "npx",
      "args": ["-y", "@onlyswaps/mcp-server", "stdio"],
      "env": {
        "ONLYSWAPS_API_URL": "https://api.onlyswaps.fyi"
      }
    }
  }
}

Hosted Server (SSE)

Connect to our hosted MCP server:

https://mcp.onlyswaps.fyi/mcp

Supported Chains

ChainIDNative Token
Ethereum1ETH
Optimism10ETH
BSC56BNB
Gnosis100xDAI
Polygon137MATIC
Fantom250FTM
zkSync Era324ETH
Base8453ETH
Arbitrum42161ETH
Avalanche43114AVAX
Linea59144ETH
Scroll534352ETH
SolanasolanaSOL

Tool Examples

get_quote

Get the best swap quote across all aggregators.

{
  "fromToken": "ETH",
  "toToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "amount": "1000000000000000000",
  "chainId": "base"
}

Returns:

{
  "bestQuote": {
    "provider": "1inch",
    "buyAmount": "3245000000",
    "sellAmount": "1000000000000000000",
    "estimatedGas": "150000",
    "priceImpact": "0.05"
  },
  "allQuotes": [...],
  "meta": { "chain": "Base", "chainId": 8453, "sourcesQueried": 5 }
}

build_swap_tx

Build an unsigned transaction ready for client-side signing.

{
  "fromToken": "ETH",
  "toToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "amount": "1000000000000000000",
  "chainId": "base",
  "userAddress": "0xYourWalletAddress",
  "slippage": 1
}

Returns transaction data (to, data, value, gas, chainId) ready to sign.

execute_swap

Execute a swap end-to-end using an embedded Privy wallet. Requires Privy configuration.

{
  "fromToken": "ETH",
  "toToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "amount": "1000000000000000000",
  "chainId": "base",
  "userId": "privy-user-id"
}

get_portfolio

Get user token holdings across all supported chains.

{
  "address": "0xYourWalletAddress",
  "chainIds": ["ethereum", "base", "arbitrum"]
}

get_tx_status

Check the status of a transaction.

{
  "txHash": "0xabc123...",
  "chainId": "base"
}

estimate_gas

Estimate gas for a swap transaction.

{
  "fromToken": "ETH",
  "toToken": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "amount": "1000000000000000000",
  "chainId": "base",
  "userAddress": "0xYourWalletAddress"
}

search_token

Search for tokens by name or symbol.

{
  "query": "USDC",
  "chainId": "base"
}

Environment Variables

VariableDefaultDescription
MCP_PORT3001HTTP server port
MCP_TRANSPORThttpTransport mode: http or stdio
ONLYSWAPS_API_URL-OnlySwaps backend API URL
ONLYSWAPS_API_KEY-API key for authenticated access
CORS_ORIGINS*Comma-separated CORS origins
PRIVY_APP_ID-Privy App ID (for execute_swap)
PRIVY_APP_SECRET-Privy App Secret (for execute_swap)
PRIVY_AUTHORIZATION_PRIVATE_KEY-Privy auth key (for execute_swap)

Running Locally

# Install dependencies
pnpm install

# Build pnpm build

# Run HTTP server pnpm start

# Run stdio mode (for Claude Desktop) node dist/index.js stdio

Docker

docker build -t onlyswaps-mcp .
docker run -p 3001:3001 \
  -e ONLYSWAPS_API_URL=https://api.onlyswaps.fyi \
  onlyswaps-mcp

API Endpoints

EndpointDescription
GET /healthHealth check
GET /capabilitiesSupported chains and tools
GET /mcpMCP SSE connection endpoint
POST /mcp/messagesMCP message handler

License

MIT

Server Config

{
  "mcpServers": {
    "onlyswaps": {
      "command": "npx",
      "args": [
        "-y",
        "@onlyswaps/mcp-server",
        "stdio"
      ],
      "env": {
        "ONLYSWAPS_API_URL": "https://api.onlyswaps.fyi"
      }
    }
  }
}
Project Info
Created At
4 months ago
Updated At
4 months ago
Author Name
OnlySwaps
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Docwand

an hour ago
//beforeyouship — LLM Cost Modeling From Your Editor
@Indiegoing

Query realistic LLM cost models without leaving your editor. beforeyouship models the **true monthly cost** of an LLM app architecture — retries, prompt caching, batch discounts, infra overhead, and 3×/10× growth — across GPT-5.x, Claude, Gemini, DeepSeek, and more. Not a token calculator: a planning tool for the design phase, before you commit to a stack. **No API key needed to try it** — demo mode covers the six free-tier models. A Pro key from [beforeyouship.dev](https://beforeyouship.dev) unlocks the full 18-model catalog. ## What you can ask - "How much will a RAG chatbot cost at 10,000 requests/day?" - "Compare Claude Haiku vs Gemini Flash pricing for my workload" - "What's the cheapest model for a multi-step agent at scale?" - "Show me current per-token prices for Anthropic models" ## Tools ### `estimate_cost` Full cost model for an architecture at a given usage level. Returns Naive / Realistic / Worst Case monthly cost per model, 3×/10× growth scenarios, and an opinionated recommendation with reasoning. ### `get_model_prices` Current per-1M-token pricing — input, output, cached input, batch — with context windows and staleness metadata. ### `list_archetypes` Seven preset architecture patterns (simple chatbot, chatbot with history, RAG pipeline, multi-model router, coding assistant, document processor, multi-step agent) used as starting points for estimates. ## Setup **Claude Code:** ​```bash claude mcp add --transport http beforeyouship https://beforeyouship.dev/api/mcp ​``` **Cursor / other clients** — add a remote server: ​```json { "mcpServers": { "beforeyouship": { "type": "streamable-http", "url": "https://beforeyouship.dev/api/mcp" } } } ​``` Add an `Authorization: Bearer bys_...` header with a Pro key for the full catalog. ## Try it > Estimate the monthly cost of a RAG pipeline at 10,000 requests/day

43 minutes ago
Puter Mcp

a day ago