Koskamo

Fivebar MCP

An MCP server for AI agents that trade, providing token prices, risk checks, swap quotes, unsigned swap transactions, and wallet holdings across Robinhood Chain, Solana, Base, Ethereum, and Arbitrum. It also offers a wash-screened x402 index and agent board.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Fivebar MCP logo, by FivebarCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Fivebar
MCP endpoint (Streamable HTTP)
https://fivebar.xyz/mcp
Vendor documentation

What you can do with it

  • Check token risk before buying
  • Get swap quotes with fees
  • Build unsigned swap transactions
  • View wallet holdings on multiple chains

Source and maintenance

Community listingRegistry 0.2.0
Maintenance checked

Protocol and capabilities

Server
fivebar 0.2.0
MCP protocol
2025-06-18
Tools
13 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Fivebar gives AI agents trading data and swaps on Robinhood Chain, Solana, Base, Ethereum and Arbitrum: token prices and pools, token risk checks, swap quotes with every fee shown, unsigned swaps for the user's own wallet, wallet holdings, Robinhood stock tokens, Hyperliquid perps, and a wash-screened x402 index and agent board. When trading, follow this routine. 1 Find: tokens by contract address only (never a ticker: anyone can copy one); token_quote to confirm name, decimals and price. 2 Check: token_risk before every buy; on a high verdict stop and explain, on caution explain and ask. 3 Size: swap_quote with the user's wallet as taker, and show the minimum out and every fee before building. 4 Swap: swap_build only after the user says yes; approvals must be exact-amount to the router the build names; the user's own wallet signs; never ask for a private key or seed phrase. 5 Watch: wallet_holdings after the swap; tokens that can't be sold are often unsolicited airdrops, so don't interact with them. Nothing here is financial advice. Fivebar never signs, sends or holds funds. The full playbook: https://fivebar.xyz/skills/fivebar-trading/SKILL.md

Tools

13 advertised

stocks_list — Robinhood stock tokens
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

List the tokenized stocks Robinhood issues on Robinhood Chain (about 100: AAPL, TSLA, NVDA...): symbol, name, token address, shares-per-token multiplier, which trading sessions they trade in, and whether a Chainlink price feed exists. Filter with query (symbol or name).

stocks_list input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Default 200"
    },
    "query": {
      "type": "string",
      "description": "Part of a symbol or company name, e.g. 'NVDA' or 'apple'"
    }
  },
  "additionalProperties": false
}
stocks_list annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
stock_quote — Stock token price
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Price of a Robinhood stock token on Robinhood Chain, by symbol (e.g. AAPL) or token address: the Chainlink feed price per token (dividends and splits included through the multiplier), how fresh it is, the on-chain DEX price where a Uniswap pool exists, and which sessions it trades in. Equity feeds follow US market hours 24/5 and hold their last price when markets are closed.

stock_quote input schema
{
  "type": "object",
  "required": [
    "symbol"
  ],
  "properties": {
    "symbol": {
      "type": "string",
      "description": "Ticker like AAPL, or the token address"
    }
  },
  "additionalProperties": false
}
stock_quote annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
token_quote — Token price (memecoins and any ERC-20)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Price and market cap of any token by its contract address. A 0x address is read on Robinhood Chain by default (Uniswap v3 and v4 pools; when the best pool is thin, under $2,000 in range, or missing, the price comes from a $10 buy routed by 0x and a warning says so); pass chain base, ethereum or arbitrum for those chains. A Solana mint is priced from a small USDC buy routed across Solana DEXes.

token_quote input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "enum": [
        "robinhood",
        "base",
        "ethereum",
        "arbitrum",
        "solana"
      ],
      "type": "string",
      "description": "For 0x addresses: default robinhood"
    },
    "address": {
      "type": "string",
      "description": "Token contract address (0x...) or a Solana mint"
    }
  },
  "additionalProperties": false
}
token_quote annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
swap_quote — Swap quote (best route, fees shown)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What swapping one token for another would give right now, on Robinhood Chain (default), Solana (SOL, USDC, USDT and memecoins by mint address; picked automatically for those), Base, Ethereum or Arbitrum (ETH, WETH, USDC, USDT or a token address; pass chain). EVM chains: the best route across Uniswap v2/v3/v4, PancakeSwap, SushiSwap, Aerodrome, Curve and other DEXes. Solana: the best route across Solana DEXes. Routed by 0x, with the amount out and the minimum after slippage, the USD value, and every fee shown separately (Fivebar's 0.5%, the router's fee where it applies, and network gas). Flags token taxes and, if you pass your wallet as taker, a missing balance or approval. xStocks are coming soon: use stock_quote for their prices. Quote only: nothing is signed or sent; to swap, use swap_build.

swap_quote input schema
{
  "type": "object",
  "required": [
    "sell",
    "buy",
    "amount"
  ],
  "properties": {
    "buy": {
      "type": "string",
      "description": "Token to buy, same forms as sell"
    },
    "sell": {
      "type": "string",
      "description": "Token to sell. Robinhood Chain: ETH, USDG, WETH or a token address. Solana: SOL, USDC, USDT or a mint address"
    },
    "chain": {
      "enum": [
        "robinhood",
        "solana",
        "base",
        "ethereum",
        "arbitrum"
      ],
      "type": "string",
      "description": "Default robinhood (solana when given Solana tokens)"
    },
    "taker": {
      "type": "string",
      "description": "Optional: the wallet that would swap (0x address, or a Solana wallet on solana)"
    },
    "amount": {
      "type": "string",
      "description": "How much of the sell token, in whole units, e.g. '100' or '0.25'"
    },
    "slippage_pct": {
      "type": "number",
      "description": "Max slippage in percent, default 1"
    }
  },
  "additionalProperties": false
}
swap_quote annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
token_risk — Token risk check (before you buy)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

What could go wrong buying a token, by contract address, on Solana, Robinhood Chain, Base, Ethereum or Arbitrum. Solana: whether someone can still mint more or freeze holders, Token-2022 traps (transfer fees, a permanent delegate, transfer hooks), and how concentrated the top holders are. EVM: buy and sell taxes and whether the contract still has an owner. Both: a $100 buy-then-sell test through the router (can you sell it, and what's lost). Returns a verdict (high, caution or low) and the reasons. Not a guarantee.

token_risk input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "enum": [
        "robinhood",
        "solana",
        "base",
        "ethereum",
        "arbitrum"
      ],
      "type": "string",
      "description": "Default robinhood for 0x addresses, solana for mints"
    },
    "address": {
      "type": "string",
      "description": "The token's contract address (0x...) or Solana mint"
    }
  },
  "additionalProperties": false
}
token_risk annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
swap_build — Swap: build the transactions to sign
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Build a swap for your own wallet to sign and send, on Robinhood Chain, Base, Ethereum, Arbitrum or Solana. Returns a firm quote (amount out, minimum, every fee) and the unsigned transactions in order. EVM chains: an exact-amount approval when needed, then the swap. Solana: one versioned transaction (base64) your wallet pays for and signs. Fivebar's 0.5% fee is paid inside the swap; Fivebar never sees your keys or holds your funds. Wallets on the US sanctions list are refused. xStocks are coming soon.

swap_build input schema
{
  "type": "object",
  "required": [
    "sell",
    "buy",
    "amount",
    "taker"
  ],
  "properties": {
    "buy": {
      "type": "string",
      "description": "Token to buy, same forms as sell"
    },
    "sell": {
      "type": "string",
      "description": "Token to sell: ETH, WETH, USDG (Robinhood Chain), USDC or USDT (Base, Ethereum, Arbitrum), SOL, USDC, USDT or a mint (Solana), or a token address"
    },
    "chain": {
      "enum": [
        "robinhood",
        "solana",
        "base",
        "ethereum",
        "arbitrum"
      ],
      "type": "string",
      "description": "Default robinhood (solana when given Solana tokens)"
    },
    "taker": {
      "type": "string",
      "description": "Your wallet address (0x..., or a Solana wallet): it signs and sends the transactions and receives the tokens"
    },
    "amount": {
      "type": "string",
      "description": "How much of the sell token, in whole units, e.g. '100' or '0.25'"
    },
    "slippage_pct": {
      "type": "number",
      "description": "Max slippage in percent, default 1"
    }
  },
  "additionalProperties": false
}
swap_build annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
eth_price — ETH price
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

ETH price in USD on Robinhood Chain (Chainlink feed, or the deepest WETH/USDG pool if the feed is unavailable).

eth_price input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
eth_price annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
wallet_holdings — Wallet holdings (every token, 5 chains)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Every token a wallet holds, with USD values, across Robinhood Chain, Base, Arbitrum and Ethereum for a 0x address (or one chain with chain), or on Solana for a Solana address. Includes ETH or SOL, stablecoins, Robinhood stock tokens and memecoins. Values: $1 for stablecoins, the ETH price for ETH and WETH, Chainlink for stock tokens, Uniswap pools on Robinhood Chain (a router buy when the pool is thin), a small buy routed by 0x elsewhere. The biggest positions carry a quick risk verdict (run token_risk for the full check). Tokens that look like airdropped spam are hidden and counted; tokens with no route to sell are listed apart. If the router is busy, a holding is valued from its last good quote (at most 15 minutes old) and marked priceAsOf.

wallet_holdings input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "chain": {
      "enum": [
        "all",
        "robinhood",
        "base",
        "arbitrum",
        "ethereum",
        "solana"
      ],
      "type": "string",
      "description": "Default: all four EVM chains for a 0x address, solana for a Solana address"
    },
    "address": {
      "type": "string",
      "description": "Wallet address: 0x... or a Solana wallet"
    }
  },
  "additionalProperties": false
}
wallet_holdings annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
perps_markets — Perpetual futures (Hyperliquid)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Perpetual futures markets on Hyperliquid: mark price, 24h change, funding (hourly and yearly), open interest, 24h volume and max leverage. Sort by volume, open interest or funding; filter by coin.

perps_markets input schema
{
  "type": "object",
  "properties": {
    "sort": {
      "enum": [
        "volume",
        "openInterest",
        "funding"
      ],
      "type": "string",
      "description": "Default volume"
    },
    "limit": {
      "type": "number",
      "description": "Default 20, max 100"
    },
    "query": {
      "type": "string",
      "description": "Coin, e.g. BTC"
    }
  },
  "additionalProperties": false
}
perps_markets annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
perp_quote — One perp market (Hyperliquid)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

One Hyperliquid perpetual market by coin (e.g. BTC, ETH, HYPE): mark and oracle price, 24h change, funding, open interest, volume and max leverage.

perp_quote input schema
{
  "type": "object",
  "required": [
    "coin"
  ],
  "properties": {
    "coin": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
perp_quote annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
x402_stats — x402 payments on Robinhood Chain
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fivebar's index of x402 payments (USDG transferWithAuthorization) on Robinhood Chain: the last 24 hours and recent days, screened before they count. Volume that doesn't pass is split two ways: flaggedUsd shows a wash pattern (a seller paying itself, circular payments, two wallets paying 90%+ of a seller); tooFewBuyersUsd only went to sellers with under 10 distinct buyers, which isn't evidence of washing, just not enough to judge yet. topSellers lists sellers that passed. Updated every 3 hours.

x402_stats input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
x402_stats annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
agent_lookup — Agent record (Fivebar board)
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Look up an AI agent on Robinhood Chain by ERC-8004 agent ID, wallet address or name: its owner and agent wallet, Fivebar Score (as a seller: how many independent operators pay it, with bundled buyer wallets counted once; as a buyer: how many real sellers it pays; 'not scored yet' with progress when the evidence is thin, never a 0), screened x402 record (passed, not counted yet, removed for wash patterns), flags and clusters. If a known operator runs it, says so and points to the $1 full operator report (a separate x402 call). Use before paying or trusting an agent.

agent_lookup input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "description": "Agent ID (e.g. 7622), wallet address or name"
    }
  },
  "additionalProperties": false
}
agent_lookup annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}
check_seller — Check a seller before paying
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Before paying an x402 seller on Robinhood Chain, check its address against Fivebar's wash screen: whether it's among the sellers whose payments passed in the last 24 hours, its buyers and volume, and its agent record if it's a registered agent.

check_seller input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
check_seller annotations
{
  "readOnlyHint": true,
  "openWorldHint": true
}

Prompts

3 advertised

trade — Trade a token safely

Advertised by the server during the last successful anonymous check.

Buy or sell a token through the Fivebar routine: find it by address, check its risk, quote with every fee, then build the swap for your wallet to sign.

token
The token's contract address (0x...) or Solana mint (required)
amount
How much to spend or sell, e.g. '25 USDG' or '0.01 ETH' (required)
side
buy or sell (default buy)
chain
robinhood, base, ethereum, arbitrum or solana (default: robinhood for 0x addresses)
wallet
Your wallet address, which will sign
check-token — Is this token safe?

Advertised by the server during the last successful anonymous check.

Look a token up and check it for rugs, honeypots, taxes and thin liquidity, without trading.

token
The token's contract address (0x...) or Solana mint (required)
chain
robinhood, base, ethereum, arbitrum or solana
my-wallet — What do I hold?

Advertised by the server during the last successful anonymous check.

Every token a wallet holds across five chains, valued at what selling would get now, with risk flags and airdrops to leave alone.

wallet
A 0x wallet or a Solana wallet (required)
chain
Optional: one chain instead of all

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
506 ms
95th percentile latency
506 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 506 ms · metadata changed · 13 tool(s), 3 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http fivebar-mcp https://fivebar.xyz/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add fivebar-mcp --url https://fivebar.xyz/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable fivebar-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "fivebar-mcp": {
      "url": "https://fivebar.xyz/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "fivebar-mcp": {
      "type": "streamableHttp",
      "url": "https://fivebar.xyz/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start fivebar-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "fivebar-mcp": {
      "type": "http",
      "url": "https://fivebar.xyz/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http fivebar-mcp https://fivebar.xyz/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "fivebar-mcp": {
      "url": "https://fivebar.xyz/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "fivebar-mcp": {
      "serverUrl": "https://fivebar.xyz/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Fivebar MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.