mcpField
D
databroker

databroker

Local
github.com/mossforgeLegal & Government0Updated 9w ago

About databroker

databroker is an MCP server for agents that need UK vehicle MOT data, reliability analytics, and identifier utilities. It charges per call in USDC on Base, with a quote-and-confirm flow and a configurable per-call cap.

Key features

  1. 01Discover available datasets and prices
  2. 02Fetch individual datapoints
  3. 03Batch-fetch up to 100 keys
  4. 04Check data freshness and sources
  5. 05Quote-first payments with a spend cap

Use cases

  1. 01Review a vehicle's UK MOT history
  2. 02Assess mileage reliability for a used car
  3. 03Fetch multiple keys from one dataset
  4. 04Check datapoint freshness before relying on it

MCP support

Exposes dataset discovery, datapoint retrieval, metadata, health, and batch-job tools to MCP clients. Paid fetches require a quote followed by confirmation; clients with elicitation support can also request direct human approval.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"dev-mossforge-databroker": {
"command": "npx",
"args": [
"-y",
"@mossforge/databroker-mcp"
],
"env": {
"DATABROKER_BASE_URL": "<DATABROKER_BASE_URL>",
"DATABROKER_SIGNER": "<DATABROKER_SIGNER>",
"DATABROKER_WALLET_KEY": "<DATABROKER_WALLET_KEY>",
"CDP_API_KEY_ID": "<CDP_API_KEY_ID>",
"CDP_API_KEY_SECRET": "<CDP_API_KEY_SECRET>",
"CDP_WALLET_SECRET": "<CDP_WALLET_SECRET>",
"DATABROKER_MAX_USDC": "<DATABROKER_MAX_USDC>"
}
}
}
}
Run commandnpx -y @mossforge/databroker-mcp
Environment variables to set
DATABROKER_BASE_URLBase URL of the DataBroker API, e.g. https://api.databroker.mossforge.dev
DATABROKER_SIGNERSigner provider: "raw" (default, self-custodied private key) or "cdp" (Coinbase CDP-managed wallet)
DATABROKER_WALLET_KEYSecret0x-prefixed private key for the paying wallet. Required when DATABROKER_SIGNER=raw (the default).
CDP_API_KEY_IDSecretCoinbase CDP API key id. Required when DATABROKER_SIGNER=cdp.
CDP_API_KEY_SECRETSecretCoinbase CDP API key secret. Required when DATABROKER_SIGNER=cdp.
CDP_WALLET_SECRETSecretCoinbase CDP wallet secret. Required when DATABROKER_SIGNER=cdp.
DATABROKER_MAX_USDCPer-call spend cap in USDC. Calls priced above this are declined before payment.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@mossforge/databroker-mcp0.5.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

databroker-mcp-server

Give any MCP-capable agent (Claude Desktop, Claude Code, Cursor, etc) pay-per-call access to MossForge DataBroker — UK vehicle MOT intelligence, UK-wide reliability analytics — with x402 USDC micropayments on Base mainnet handled automatically. No API keys, no subscription: fund a wallet, ask questions.

Tools

ToolCostPurpose
databroker_discoverfreeList enabled datasets, their kind, and per-call USDC prices
databroker_fetchfree to quote, paid to confirmFetch a single datapoint for a dataset + key
databroker_metafreeStaleness/TTL/source info for a datapoint, without paying for it
databroker_healthfreeAPI uptime check
databroker_batch_createfree to quote, paid to confirmFetch up to 100 keys from one on-demand dataset in a single job, one payment total
databroker_batch_statusfreePoll a batch job created by databroker_batch_create

Payments are never automatic. databroker_fetch and databroker_batch_create always quote the price first — nothing is paid until the tool is called again with confirm: true. Every paid call is also capped by DATABROKER_MAX_USDC (default 0.50); a call priced above the cap is declined before anything is paid.

Payment approval is enforced by the server, not by the calling model, on clients that support it. Immediately before any payment, this server sends an MCP elicitation request through the connected client, asking the human directly to approve or decline the exact charge — independent of whatever confirm value the model passed. Claude Code (CLI) supports this as of v2.1.76; other clients (Claude Desktop, Cursor, etc.) may not yet.

If the connected client doesn't advertise elicitation support, the server falls back to the pre-elicitation guarantee — confirm: true from the calling model, still capped by DATABROKER_MAX_USDC — rather than blocking every paid call. Set DATABROKER_REQUIRE_ELICITATION=true to instead hard-block paid calls on clients without elicitation support, if you know your client supports it and want the stricter guarantee. The server logs which mode is active on startup and the first time a non-elicitation client connects.

Setup

  1. Create a fresh EOA wallet and fund it with a few USDC on Base mainnet (plus nothing else — no ETH needed; EIP-3009 transfers are gasless for the payer).

  2. Add to Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "databroker": {
      "command": "npx",
      "args": ["-y", "@mossforge/databroker-mcp"],
      "env": {
        "DATABROKER_BASE_URL": "https://api.databroker.mossforge.dev",
        "DATABROKER_WALLET_KEY": "0x...",
        "DATABROKER_MAX_USDC": "0.50"
      }
    }
  }
}
claude mcp add --transport stdio \
  --env DATABROKER_BASE_URL=https://api.databroker.mossforge.dev \
  --env DATABROKER_WALLET_KEY=0x... \
  databroker -- npx -y @mossforge/databroker-mcp
  1. Ask: "Should I buy this 2018 Golf, reg AB18 CDE? Check its MOT history and whether the mileage looks genuine."

Who holds the wallet

Two signer providers are supported, set via DATABROKER_SIGNER:

  • raw (default) — a private key you hold, read from DATABROKER_WALLET_KEY. Zero setup beyond a funded wallet, but the key material is only as safe as this process's environment, and the spend cap is enforced by this codebase alone.
  • cdp — pays from a Coinbase CDP-managed wallet. No private key ever touches this process; CDP signs remotely and can enforce spend policies (session caps, allowed tokens) at the custodian layer. Requires a CDP account and CDP_API_KEY_ID / CDP_API_KEY_SECRET / CDP_WALLET_SECRET, plus npm install @coinbase/cdp-sdk (it's an optional dependency, not installed by default).

Security notes

  • Use a dedicated, low-balance wallet. In raw mode the key never leaves your machine; payments are signed locally via the @x402/* v2 protocol stack (@x402/fetch + @x402/core/client + @x402/evm/exact/client), producing EIP-3009 transferWithAuthorization payloads.
  • The per-call cap (DATABROKER_MAX_USDC) is the blast radius for any single call and is checked before any payment is sent — a call priced above it is declined, not charged. Total exposure is otherwise the wallet balance — keep it small.
  • Every paid call goes through a quote first: databroker_fetch and databroker_batch_create never spend money unless called again with confirm: true.
  • On top of that, when the connected client advertises MCP elicitation support, every payment also requires a human to explicitly accept a prompt sent by the server itself, naming the exact URL and USDC amount — enforced in code (confirmWithHuman in lib.ts), not left to the calling model's judgement. On clients without elicitation support this extra check is skipped (see DATABROKER_REQUIRE_ELICITATION below if you'd rather it fail closed instead).

Env vars

VarRequiredDefaultNotes
DATABROKER_BASE_URLyes—e.g. https://api.databroker.mossforge.dev
DATABROKER_SIGNERnorawraw or cdp — see Who holds the wallet
DATABROKER_WALLET_KEYyes, if SIGNER=raw—0x-prefixed private key
CDP_API_KEY_IDyes, if SIGNER=cdp—Coinbase CDP API key id
CDP_API_KEY_SECRETyes, if SIGNER=cdp—Coinbase CDP API key secret
CDP_WALLET_SECRETyes, if SIGNER=cdp—Coinbase CDP wallet secret
DATABROKER_MAX_USDCno0.50Per-call spend cap, enforced regardless of signer
DATABROKER_REQUIRE_ELICITATIONnofalseIf true, block paid calls on clients that don't advertise MCP elicitation support, instead of falling back to confirm: true alone

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.