Mtok

market.mtokPublished by mtok.marketOfficial publisherv1.0.1Updated Oct 24, 2026

Spot market for AI inference tokens. Buyers pay per draw in USDC on Base; sellers host delivery.

VerifiedStreamable HTTPWeb executableFinanceBusiness & CommerceAI & ML

Overview

AI-generated overview

Mtok is a remote MCP server for a spot market in AI inference tokens, letting an assistant read prices, order books and draw history, and place offers or bids.

What you can do
Read spot output-token prices per model, with last price, median and draw count, plus exchange fee and chain-derived volume stats and seller reputation scores and tiers. View open offers and bids for a model, sorted by input or output price, and inspect the chain-derived draw tape of paid draws, filtered by in-process or settled status. Register an agent identity and check your own open offers and bids. Place a seller-hosted offer with a relay endpoint and settlement address, place a bid and receive crossing routes, or cancel an open order. Follow built-in selling and buying guides, and read chain config such as fee address, fee rate, chain ID and USDC and contract addresses.
When to use it
Use it when you want an assistant to explore or participate in a peer-to-peer market for AI inference capacity: checking token prices and reputation, browsing the order book, or listing capacity for sale and bidding for blocks with on-chain USDC settlement on Base.
Requirements
A remote streamable HTTP endpoint; no local package or runtime. Registering creates an agent identity that returns an apiKey, which must be sent as the x-api-key or Authorization Bearer header on every later request because the transport is stateless. An Ed25519 SPKI PEM public key is optional for signed orders. Buyers and sellers need a Base wallet and USDC for on-chain settlement.
Before you install
The apiKey returned by register is a credential that must be supplied on every call; keep it private. Money moves peer-to-peer in USDC on Base, so placing bids and drawing paid chunks spends real funds, and sellers must supply a payout address. Offers, bids and cancellations change market state. Sellers must run their own public HTTPS relay, and buyers send prompts to third-party seller relays. The README states the public repository is a read-only mirror of a private monorepo.

Installation

In SourceWeft

  1. Open Mtok in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/market.mtok%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mtok": {
      "type": "http",
      "url": "https://mtok.market/mcp"
    }
  }
}

README

mtok mcp

Discovery surface for the mtok.market MCP server. The server is hosted at https://mtok.market/mcp; this repo holds agent/mcp/server.json, llms.txt, openapi.json, and the agent skill.


Read-only public mirror. The source of truth is the private mtok.market monorepo; this repo is synced automatically. Do not open pull requests here. Home: https://mtok.market

Source: README.md at commit 1bfad53

Tools

13

get_spot

Spot prices per model: the delivered OUTPUT-token rate (USD/MTok) from affirmed on-chain draws (last price, median, draw count).

Takes no parameters.

selling_guide

Turnkey, executable steps to put a human's spare AI capacity on mtok.market via SELLER-HOSTED delivery — run YOUR OWN relay pointed at an upstream you control (a local Ollama/vLLM model, a subscription via a CLI bridge, or a provider key) and list a tier:direct offer; buyers pay you per chunk on-chain. Gotchas baked in. supply_type filters to one path.

Parameterssupply_type

buying_guide

Turnkey, executable steps to get a human cheap AI tokens and run their prompts on mtok.market: bid (read routes[]) or read the book for a tier:direct offer, then draw paid chunks from the seller's relay (pay each draw on-chain through MtokDripLedger, POST <relayEndpoint>/chunk, the relay verifies DrawPaid and serves). You need a funded wallet on Base.

Takes no parameters.

get_book

Open offers (asks) and bids for a model. sort=input|output ranks by that dimension.

Parameterssortmodel

get_draws

The chain-derived draw tape: contract-paid draws indexed from MtokDripLedger events on Base. status=inProcess (DrawPaid with no terminal yet) | settled (closed by DrawAffirmed or DrawDisputed). This is the canonical delivered/receipt surface; the platform records nothing off-chain.

Parameterslimitstatus

get_stats

Exchange fee model plus chain-derived volume: delivered volume + affirmed/disputed counts, all recomputable from MtokDripLedger events on Base (source:"chain").

Takes no parameters.

register

Create an agent identity. Returns {agentId, apiKey}; send the apiKey as the x-api-key (or Authorization: Bearer) header on EVERY subsequent request to act as that agent — this transport is stateless, so it is not remembered between calls. Pass pubkey (Ed25519 SPKI PEM) if you will place signed non-custodial orders.

Parametersnamerequiredpubkey

get_me

Your agent state: open orders (offers + bids). Non-custodial — there is no platform wallet, grant, or credential vault in /me; money moves peer-to-peer on-chain, and your delivered draws are the on-chain tape (get_draws).

Takes no parameters.

place_offer

List capacity for sale via SELLER-HOSTED delivery (tier:"direct" — the only advertised path). Set tier:"direct" + relayEndpoint (your relay's PUBLIC HTTPS url — a cloudflared tunnel gives one free) + settlementPubkey (your seller payout EVM address on Base) and NO credentialId: you run your own relay (mtok-relay or any conforming passthrough) pointed at an upstream you control, and buyers pay each draw on-chain through MtokDripLedger (canonical relay protocol: GET /api/guides/selling, notes.directTierProtocol). After every instance behind relayEndpoint is dual-stack, add requestHashScheme:"nonce-v1"; omit it during a mixed-fleet rollout. Set a positive price; each on-chain draw pays seller plus configured platform fee, and the platform holds nothing. Your relay is REPORT-FREE: it verifies the DrawPaid event before delivery and reports nothing (the platform indexes the draw from MtokDripLedger events; the canonical tape is GET /api/chain/draws). GET /api/models/licenses is best-effort guidance, not a gate: you are responsible for the right to sell what you list. usableForSeconds is required. SIGNING: a non-custodial market requires a client-signed Ed25519 intent — the MCP server CANNOT sign (it does not hold your key); sign tier/relayEndpoint/settlementPubkey/requestHashScheme INTO the intent params. Use the mtok SDK's offer() (it signs for you), or sign the intent yourself and pass {intent, sig}.

ParameterssigtiermodelintentrecurringinputTokensoutputTokenspayoutAddressrelayEndpointstartsInSecondssettlementPubkeyusableForSeconds+3 more

place_bid

Bid for a block. The bid response returns routes[] — the crossing SELLER-HOSTED offers (lowest price first), each {offerId, sellerId, relayEndpoint, settlementPubkey, requestHashScheme?, inputPricePerMTok, outputPricePerMTok, availableInputTokens, availableOutputTokens}. Pick a route and DRAW paid chunks from its relayEndpoint (pay each draw on-chain through MtokDripLedger using /api/config, POST <relayEndpoint>/chunk, then affirmDraw/disputeDraw on-chain — see buying_guide / drawFromSeller). priceOn=input|output ranks matches by one dimension. You ALWAYS need a funded wallet on Base (there is no no-wallet path). SIGNING: a non-custodial market requires a client-signed Ed25519 intent — the MCP server CANNOT sign (it does not hold your key). Use the mtok SDK's bid() (it signs for you), or sign the intent yourself and pass {intent, sig}.

ParameterssigmodelintentpriceOninputTokensoutputTokensmaxInputPricePerMTokmaxStartDelaySecondsmaxOutputPricePerMTok

cancel_order

Cancel one of your open orders. side: offer|bid.

Parametersidrequiredsiderequired

get_reputation

A seller's reputation: score, tier, recommendedMaxChunkUsd (the per-draw size a buyer should risk in the direct tier), plus a chain object {affirmed, disputed, deliveredUsd} folded from MtokDripLedger events (source:"chain").

ParametersagentIdrequired

get_config

Chain config a SELLER-HOSTED buyer needs to build the on-chain draw payment: { feeAddress, feeBps, dustThresholdUsd, chainId, usdcAddress, dripContractAddress }. Pay each draw through the MtokDripLedger contract at dripContractAddress (payDraw), then affirmDraw/disputeDraw on-chain; the seller relay verifies the DrawPaid event before delivery.

Takes no parameters.

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts