Awesome MCP Servers by AI Anytime

Directory / Finance & markets

Warden MCP

Remote MCP server for Warden Token Terminal: AI agents find tokens, quote swaps and trade onchain on Base, BNB Chain, Robinhood Chain and Arc within limits the user sets. Market tools need no account; wallet and trading tools need a free Warden account (OAuth or agent key).

Live  Answered an MCP handshake without credentials and listed 12 tools.

Category
Finance & markets
Transport
http
Source
https://github.com/warden-protocol/warden-mcp
Endpoint
https://tokens.wardenprotocol.org/mcp
Reports itself as
warden-token-terminal 1.1.0
Protocol
2025-06-18
Tools
12
Context cost
about 1,914 tokens for the tool definitions (estimated at four characters per token)
Tool definitions last changed
no change seen since first check
Handshake time
454 ms
Repository
1 stars · last push 2026-11-03
Last checked
2026-11-03 10:54:52 UTC
Listed since
2026-10-21

Health and compatibility

Endpoint reachableVerifiedResponded in 454 ms
MCP handshake (initialize)VerifiedCompleted without credentials
Tool discovery (tools/list)Verified12 tools listed
AuthenticationVerifiedNone needed to connect
Protocol versionVerified2025-06-18
TransportVerifiedStreamable HTTP
Capabilities declaredVerifiedtools

Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.

Recent history

100% of the last 9 daily checks reachable; median response 492 ms. Green answered, violet asked for auth, red did not answer.

Set up in your client

Claude Code

Run this in a terminal:

claude mcp add --transport http warden-mcp https://tokens.wardenprotocol.org/mcp

Claude Desktop

Open Settings → Connectors → Add custom connector and paste this URL:

https://tokens.wardenprotocol.org/mcp

Or bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):

{
  "mcpServers": {
    "warden-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://tokens.wardenprotocol.org/mcp"
      ]
    }
  }
}

Cursor

Add to Cursor

Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):

{
  "mcpServers": {
    "warden-mcp": {
      "url": "https://tokens.wardenprotocol.org/mcp"
    }
  }
}

VS Code

Add to VS Code

Or add it to .vscode/mcp.json:

{
  "servers": {
    "warden-mcp": {
      "type": "http",
      "url": "https://tokens.wardenprotocol.org/mcp"
    }
  }
}

Or from a terminal:

code --add-mcp '{"name": "warden-mcp", "type": "http", "url": "https://tokens.wardenprotocol.org/mcp"}'

Windsurf

Add it to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "warden-mcp": {
      "serverUrl": "https://tokens.wardenprotocol.org/mcp"
    }
  }
}

Other clients

Most clients accept this shape. The endpoint is:

https://tokens.wardenprotocol.org/mcp
{
  "mcpServers": {
    "warden-mcp": {
      "type": "http",
      "url": "https://tokens.wardenprotocol.org/mcp"
    }
  }
}

If it does not connect

Tools 12

Names, descriptions and input schemas exactly as the server returned them on 2026-11-03. This is the server author's own text. Nothing is run from this page. Labels such as read-only are declared by the server and are not verified. Raw JSON

agent_permissionsread-onlyWhat this connected wallet has authorised agents to do, whether an unattended trading session is open, and …

What this connected wallet has authorised agents to do, whether an unattended trading session is open, and the daily limits that apply.

Takes no parameters.

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "agent_permissions",
    "arguments": {}
  }
}
execute_swapcan modifydestructiveSign and broadcast a swap from the user’s wallet without asking them. Only works while the user has …

Sign and broadcast a swap from the user’s wallet without asking them. Only works while the user has hands-free trading on (agent_permissions → handsFree), and within the same limits as prepare_swap; if it is off, tell the user how to turn it on (handsFree.tellUser). Spends real funds: check agent_permissions first, and reuse the idempotencyKey on any retry. Sell the native coin by its address from list_chains. If the wallet has no gas coin (see get_wallet), sell an ERC-20 with gasless=true. Set buyChainId to land the bought token on another chain; then follow the trade with swap_status.

ParameterTypeDescription
chainIdnumberrequired
buyChainIdnumberoptional
sellTokenstringrequired
buyTokenstringrequired
sellAmountstringrequired
slippageBpsintegeroptional
gaslessbooleanoptional
idempotencyKeystringrequired

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "execute_swap",
    "arguments": {
      "chainId": 0,
      "sellToken": "...",
      "buyToken": "...",
      "sellAmount": "...",
      "idempotencyKey": "..."
    }
  }
}
get_walletread-onlyexternal accessThe connected wallet, its X handle if linked, and everything it holds on every chain: the gas coin and each …

The connected wallet, its X handle if linked, and everything it holds on every chain: the gas coin and each token, with the exact raw amount to use as sellAmount and a USD value where Warden can price it. A chain with no gas coin means: sell an ERC-20 with gasless=true where gaslessAvailable, or fund it first. Tokens under unrecognised were sent to the wallet unasked (not listed, not bought): never count them as money or suggest selling them unless the person names one.

Takes no parameters.

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "get_wallet",
    "arguments": {}
  }
}
list_chainsread-onlyChains Warden supports, with each chain’s native coin, dollar stable and gasless support.

Chains Warden supports, with each chain’s native coin, dollar stable and gasless support.

Takes no parameters.

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "list_chains",
    "arguments": {}
  }
}
prepare_swapcan modifyBuild a swap for the user to sign. Does not broadcast. Requires the "swap" permission. Native coin, …

Build a swap for the user to sign. Does not broadcast. Requires the "swap" permission. Native coin, cross-chain (buyChainId) and gasless (typed-data payloads instead of calldata) are all supported. Give the user reviewUrl: it opens the app with this exact trade filled in, ready to sign. If hands-free trading is on, use execute_swap instead.

ParameterTypeDescription
chainIdnumberrequired
buyChainIdnumberoptional
sellTokenstringrequired
buyTokenstringrequired
sellAmountstringrequired
slippageBpsintegeroptional
gaslessbooleanoptional

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "prepare_swap",
    "arguments": {
      "chainId": 0,
      "sellToken": "...",
      "buyToken": "...",
      "sellAmount": "..."
    }
  }
}
price_historyread-onlyexternal accessCandles for a token on its deepest pool, oldest first, priced in USD: time (unix seconds), open, high, low, …

Candles for a token on its deepest pool, oldest first, priced in USD: time (unix seconds), open, high, low, close, volume. Also returns a summary: the change over the window, its high and low, and how far the last close sits below the high and above the low, to judge a pullback or a breakout before buying. Read-only.

ParameterTypeDescription
chainIdnumberrequired
tokenstringrequired
intervalstringoptionalOne of: 5m, 15m, 1h, 4h, 1d
limitintegeroptional

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "price_history",
    "arguments": {
      "chainId": 0,
      "token": "..."
    }
  }
}
quote_swapread-onlyexternal accessPrice a swap without committing to it. Read-only. Works for the native coin (use its address from …

Price a swap without committing to it. Read-only. Works for the native coin (use its address from list_chains) and across chains (buyChainId).

ParameterTypeDescription
chainIdnumberrequired
buyChainIdnumberoptional
sellTokenstringrequired
buyTokenstringrequired
sellAmountstringrequired

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "quote_swap",
    "arguments": {
      "chainId": 0,
      "sellToken": "...",
      "buyToken": "...",
      "sellAmount": "..."
    }
  }
}
request_sessioncan modifyAsk the wallet owner to turn on hands-free trading, so execute_swap works. Returns an approveUrl and a code: …

Ask the wallet owner to turn on hands-free trading, so execute_swap works. Returns an approveUrl and a code: give both to the person and ask them to open the link and check the code matches. They approve with one tap in Warden; nothing changes until they do. Then poll session_request_status every few seconds (the request lasts 10 minutes). hours is how long the session lasts. limits is optional and replaces the wallet's daily and per-trade limits in whole dollars; leave it out to keep them.

ParameterTypeDescription
hoursnumberrequired
limitsobjectoptional
agentNamestringoptional

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "request_session",
    "arguments": {
      "hours": "..."
    }
  }
}
search_tokensread-onlyexternal accessFind tokens by name, ticker or contract address across the supported chains. Tickers are not unique: many …

Find tokens by name, ticker or contract address across the supported chains. Tickers are not unique: many contracts call themselves USDC, USDT or ETH. Prefer rows with verifiedByWarden true (Warden reviewed the team, or it is a Warden token) or establishedAsset true (a well-known token at its genuine contract, not reviewed by Warden); never trade a row that carries a warning as if it were the real asset, and for dollars and gas use `cash` and `native` from list_chains.

ParameterTypeDescription
querystringrequired
chainIdnumberoptional

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "search_tokens",
    "arguments": {
      "query": "..."
    }
  }
}
session_request_statusread-onlyWhether the person has answered a request_session: pending, approved, denied or expired. Once approved, …

Whether the person has answered a request_session: pending, approved, denied or expired. Once approved, execute_swap works until the session ends.

ParameterTypeDescription
codestringrequired

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "session_request_status",
    "arguments": {
      "code": "..."
    }
  }
}
swap_statusread-onlyexternal accessWhere a gasless (relayed) or cross-chain (bridged) trade stands. Poll every few seconds until done is true. …

Where a gasless (relayed) or cross-chain (bridged) trade stands. Poll every few seconds until done is true. Plain same-chain swaps confirm on-chain and need no polling.

ParameterTypeDescription
kindstringrequiredOne of: gasless, cross_chain
chainIdnumberrequired
hashstringrequired

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "swap_status",
    "arguments": {
      "kind": "gasless",
      "chainId": 0,
      "hash": "..."
    }
  }
}
trending_tokensread-onlyexternal accessTokens trending right now on a chain.

Tokens trending right now on a chain.

ParameterTypeDescription
chainIdnumberrequired
liststringoptionalOne of: trending, new, top

Example call (required arguments only, placeholder values):

{
  "method": "tools/call",
  "params": {
    "name": "trending_tokens",
    "arguments": {
      "chainId": 0
    }
  }
}

Badge

Maintain this server? Put its live status in your README:

MCP status badge

[![MCP status](https://mcp.aianytime.net/badge/warden-mcp.svg)](https://mcp.aianytime.net/s/warden-mcp/)

Edit this entry · Report a problem

More in Finance & markets

Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt

Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers