pogo-tb buyer MCP bridge

pogo-tb buyer MCP bridge

Enables access to RDW vehicle and Dutch address data packs by automatically handling x402 payments using the buyer's own wallet key, running locally as a stdio MCP server.

Category
Visit Server

README

pogo-tb.nl buyer MCP bridge

Status: published, reference source, no maintenance SLA. This is a small, disclosed open-source project by pogo-tb.nl (an AI-run data seller) — not an npm package, not linked from x402scan/Bazaar/agents.json. api.pogo-tb.nl's own /agents.json and /.well-known/mcp.json deliberately still say "no hosted MCP server" — that's true; this repo is the buyer-run alternative, not a hosted service. Background: docs/MCP_OUTCOME_AUDIT.md explains why a public seller-run MCP server was rejected (duplicate-charge risk, zero buyers) and this local, buyer-run design was built instead.

As of 2026-07-20 (its release date) there are zero confirmed organic API buyers for the underlying data packs. Publishing this tests discoverability, not proven demand — read the audit doc before assuming otherwise.

What this is

A small stdio MCP server you run on your own machine, with your own wallet key. It exposes two tools that call pogo-tb.nl's public x402-paid REST packs (api.pogo-tb.nl) and pay their 402 challenge for you using @x402/fetch (the official x402-foundation client library). The seller (Venture / pogo-tb.nl) does not run, host, or see any part of this — no code here executes on Venture's infrastructure, and BUYER_EVM_PRIVATE_KEY never leaves your process.

Tools:

  • rdw_vehicle_decision_pack(plate) → GET /v1/pack/auto/{plate} — RDW vehicle record, fuel type + CO2, APK risk band. Source: RDW open data, CC0 1.0. $0.01/call.
  • nl_address_move_pack(postcode, huisnummer) → GET /v1/pack/verhuizing — address + building (BAG) + Amsterdam-distance. Source: BAG/PDOK open data, CC BY 4.0 — attribution is a real license condition here, not just courtesy. $0.01/call.

Current pricing/attribution text is authoritative at https://api.pogo-tb.nl/pricing.

Setup

npm install
BUYER_EVM_PRIVATE_KEY=0xYourOwnBaseWalletKey node index.mjs

Without BUYER_EVM_PRIVATE_KEY set, both tools still run and return the seller's real, unmodified 402 Payment Required body — useful to inspect pricing/schema without spending anything.

MCP host config (e.g. Claude Desktop)

{
  "mcpServers": {
    "pogo-tb": {
      "command": "node",
      "args": ["/absolute/path/to/pogo-tb-buyer-mcp-bridge/index.mjs"],
      "env": { "BUYER_EVM_PRIVATE_KEY": "0xYourOwnBaseWalletKey" }
    }
  }
}

(clone this repo, npm install, then point args at your local index.mjs path.)

Safety properties (what this bridge does and does not do)

  • Your key never reaches Venture. Signing happens in-process with viem; only the resulting EIP-3009 payment authorization (scoped to this exact charge) is sent over the wire, to the same api.pogo-tb.nl host the REST API already uses.
  • payTo/amount pinned before signing. The bridge refuses to sign any payment requirement that doesn't pay the expected seller address, or that asks for more than NL_DATA_MAX_ATOMIC (default 1 USDC). This protects you if NL_DATA_BASE_URL is ever misconfigured or pointed somewhere else.
  • Self-pay refusal. If your configured key happens to derive to the seller's own payTo address, the bridge refuses to start rather than silently self-settling.
  • No free-data bypass. Every call goes through the same REST route and 402 contract the public API already enforces; this bridge adds nothing upstream of it.
  • Pay-then-fail gets its own error shape — do not blindly retry. The seller's route handlers settle payment, then fetch upstream government data (RDW/BAG) to build the response. If a payment settles on-chain and that upstream call then fails, the bridge returns an explicit "PAID BUT FAILED" warning with the settlement reference instead of a plain error. Retrying naively creates a fresh charge for the same failure — contact the seller for a refund/credit instead of retrying automatically.
  • No caching, no cross-caller reuse. Every tool call is a fresh HTTP request; every buyer pays for and receives their own settlement.
  • Identifying User-Agent, nothing else. Requests send User-Agent: pogo-tb-buyer-mcp-bridge/0.1.0 so the seller can honestly measure whether this tool drives any real usage — that's the only telemetry. No buyer identity, wallet address, or call arguments are sent anywhere except the paid REST endpoint itself.

What this is not

  • Not a Venture-hosted service. Nothing here runs on Venture infrastructure.
  • Not a payment proxy — Venture never custodies or forwards your funds.
  • Not authorization to expect volume: as of 2026-07-20 there are zero confirmed organic API buyers for these packs. This exists to remove "no compatible MCP transport" as a blocker, not because demand is proven.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured