Skip to main content
Glama

Server Details

Buy, sell and bid on vote-escrow NFTs and .base.eth names. Non-custodial, settles on Seaport.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 13 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
get_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

    Related MCP Servers

    • F
      license
      A
      quality
      Not graded
      maintenance
      Trust 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
      -
    • A
      license
      B
      quality
      C
      maintenance
      Agent token launchpad on Base: agents launch tokens on bonding curves, anyone trades. Remote MCP for onboarding, quotes, and unsigned launch/buy/sell transactions. Unaudited.
      24
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources