mcpbeat

Mtok MCP Server

market.mtok/mcp
answering

Mtok is answering right now. Last checked 10 min ago. It exposes 13 tools. Last commit 11 Jul 2026.

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

Uptime history 41 hours of history
41 hours agonow
100.0%
Uptime 24h
91 of 91 checks
13
Tools
read from the server
346 ms
Response time
average over 24h
0
Stars
last commit 11 Jul 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add mcp --transport http https://mtok.market/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mtok.market/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://mtok.market/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mtok.market/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mtok.market/mcp"
    }
  }
}

Available tools 13

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

place
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}.
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}.
book
get_book
Open offers (asks) and bids for a model. sort=input|output ranks by that dimension.
buying
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.
cancel
cancel_order
Cancel one of your open orders. side: offer|bid.
config
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.
draws
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.
get
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).
register
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.
reputation
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").
selling
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.
spot
get_spot
Spot prices per model: the delivered OUTPUT-token rate (USD/MTok) from affirmed on-chain draws (last price, median, draw count).
stats
get_stats
Exchange fee model plus chain-derived volume: delivered volume + affirmed/disputed counts, all recomputable from MtokDripLedger events on Base (source:"chain").

Endpoints

URLTransportStateLatencyChecked
https://mtok.market/mcp streamable-http answering 322 ms 10 min ago

Mtok — questions

Answers built from our own checks of this server.

What can Mtok do?
It exposes 13 tools, read directly from the server on our last check. Among them: buying_guide, cancel_order, get_book, get_config, get_draws, get_me and 7 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Mtok working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 346 ms. The bar chart above shows every period we have measured.
How do I connect Mtok?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Mtok need an API key?
No. Mtok completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 13 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Mtok?
It answers our handshake in 346 ms on average, which is faster than 41% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Mtok open source?
Yes — it is published under the MIT licence and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.