marketplace
Server Details
Buy, sell and bid on vote-escrow NFTs and .base.eth names. Non-custodial, settles on Seaport.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 13 tools
Each tool targets a distinct resource+action: listings vs orders vs owned positions vs trades are separable, and the prepare_* tools divide cleanly into sell/buy/offer/cancel. The main soft spot is get_listing_details (detail for one order) versus get_listings and get_orders, which could be momentarily confused, but descriptions disambiguate them well.
Names are consistently snake_case and verb_noun, but the verb choice is mixed: collection reads use both get_ (get_listings, get_orders) and list_ (list_micro_markets, list_subscriptions) for the same kind of operation. Readable overall, but the get_/list_ split is an avoidable inconsistency.
13 tools is well within the sweet spot and each earns its place: a coherent read surface (listings, orders, positions, trades, markets, subscriptions), a prepare_* family for write flows, and subscribe/unsubscribe/list for notifications. Nothing feels padded or missing at the count level.
The surface covers the full marketplace lifecycle: discover markets, browse listings, inspect owned positions, prepare sell/buy/offer/cancel transactions, and manage notification subscriptions. Minor gaps remain, such as confirm-after-tx operations being mentioned only as HTTP endpoints and no explicit saved-search creation tool, but agents can work around these.
Available Tools
13 toolsget_listing_detailsAInspect
Full detail for one order including a FRESH live-contents snapshot (principal, claimable rewards, voting/earning power, as_of_block).
Inputs: orderHash (required).
get_listingsBInspect
Active listings/auctions for a market. Each row carries the ask and the position's underlying contents priced at current market (published formula: /docs#data-sources), plus discountPct (the difference between them). Sorted by discount percentage, descending.
Inputs: marketId (required), kind, limit, nameContains, +1 more.
get_ordersAInspect
List orders created by an address (its listings, auctions, offers). Status is reconciled by the background worker — treat as advisory until checked at fill.
Inputs: offerer (required), status.
get_owned_positionsAInspect
List the positions an address owns in a market, with listability (voted/attached positions can't transfer).
Inputs: owner (required), marketId (required).
get_recent_tradesBInspect
Recently settled sales for a market. amount is the EXACT settled total (incl. fee) from the on-chain fill where the indexer recorded it, with settledAt the block time and exact: true; otherwise it falls back to the listed ask with exact: false (a decayed Dutch auction settles BELOW its listed amount, so treat inexact rows as an upper bound).
Inputs: marketId (required), limit.
list_micro_marketsAInspect
List the markets this marketplace facilitates (asset, chain, currencies, fee).
Inputs: no named parameters.
list_subscriptionsAInspect
List a wallet's notification subscriptions (webhook URLs redacted to origin).
Inputs: wallet (required).
prepare_cancelAInspect
Prepare the on-chain Seaport cancel transaction for an active order. Only the order's offerer can execute it (Seaport enforces msg.sender == offerer), so the calldata is safe to return. After it confirms, POST { txHash } to the confirm endpoint to update the book.
Inputs: orderHash (required).
prepare_listingAInspect
Prepare a SELL listing or Dutch auction. Verifies the seller OWNS the position and it's transferable (not voted/attached), builds the Seaport order with the Interface fee injected by the server, and returns the one-time NFT approval + EIP-712 typed data to sign. Never signs or holds keys.
Inputs: kind (required), seller (required), marketId (required), currencySymbol (required), +6 more.
prepare_offerAInspect
Prepare a BID/offer on a position: returns the Seaport order to sign (EIP-712), the currency approval needed, and how to submit it. The agent reads its Seaport counter, signs, and POSTs the signed order — settlement stays on Seaport. The buyer wallet must hold the offer's outlay (price + its fee share) when it submits; an unfunded offer is rejected (insufficient_balance), and one that later loses its funds or allowance is hidden from the book until they return.
Inputs: buyer (required), marketId (required), offerAmount (required), currencySymbol (required), +3 more.
prepare_purchaseAInspect
Prepare the non-custodial transaction package to BUY a listing (or accept an offer): ordered approvals + Seaport fulfillOrder calldata + a fresh contents snapshot. prepared.summary quotes the CURRENT price (Dutch auctions interpolate, asOf says when); the approval grants approveBaseUnits — slightly above the quote on a decaying order, never above maxTotalBaseUnits — and Seaport charges the exact interpolated amount at fill. On auctions, prepared.cleanup is an optional post-settlement tx that zeroes the residual allowance. The agent's own wallet signs and submits — this never signs or holds keys.
Inputs: orderHash (required).
subscribe_notificationsAInspect
Subscribe a wallet to push notifications (order_filled / offer_received / saved_search) via an HMAC-signed webhook — the agent-native alternative to polling. Two-step: call WITHOUT signature to get the exact message to sign (EIP-191 personal_sign), then call again WITH the signature. chainId is signed over and the signature is verified on THAT chain, so pass the chain the wallet actually signs on (smart-wallet signatures do not validate cross-chain). Each signed message is SINGLE-USE: resending the same body returns 409 replayed_signature — retry with a fresh timestamp and a new signature. The response includes the webhook HMAC secret ONCE (verify x-market0x-signature = hex(HMAC-SHA256(rawBody, secret))).
Inputs: events (required), wallet (required), chainId (required), channel (required), +4 more.
unsubscribe_notificationsAInspect
Delete a notification subscription. Two-step like subscribe_notifications: call without signature to get the message to sign. chainId is signed over and verified on that chain. Signed messages are single-use.
Inputs: wallet (required), chainId (required), timestamp (required), subscriptionId (required), +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Agent-native fashion marketplace. Browse, design, purchase NFTs, launch brands on Base.
Agents-only token launchpad on Base: quotes, tokens and unsigned launch/buy/sell/claim/vote txs.
Check, quote and register or renew Basenames (name.base.eth), paying in USDC on Base. No ETH needed.
Buy and sell fully backed crypto index tokens and trade prediction markets on Base, in USDC.
Related MCP Servers
- AlicenseBqualityBmaintenanceZero-key on-chain intelligence for Base, Ethereum, and Solana. Instant bytecode decompilation, honeypot detection, EIP-1967 proxy resolution, calldata/revert decoding, and pre-flight transaction simulation. No API keys or wallet connection required.131MIT
- AlicenseNot gradedqualityDmaintenanceOnchain agent-to-agent commerce protocol using x402 and ERC-8004. Enables AI agents to buy/sell services, manage vendor catalogs, and process payments on Base.MIT
- FlicenseAqualityNot gradedmaintenanceTrust infrastructure for AI agents on Base. DEX Spread Oracle (live Uniswap V3 prices), on-chain escrow, insurance pool, and collective knowledge base. 7 smart contracts. Pay-per-query via x402 micropayments in USDC.6-
- AlicenseBqualityCmaintenanceAgent token launchpad on Base: agents launch tokens on bonding curves, anyone trades. Remote MCP for onboarding, quotes, and unsigned launch/buy/sell transactions. Unaudited.24MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.