munge

Public data,
built for agents.

One MCP endpoint, ten public-data sources, OAuth or API-key auth. Connect Claude, Cursor, or any MCP-compatible client in under a minute.

Two platforms built on the same foundation.

Dashboard

Keys, credits, OAuth apps. One page.

Overview
API keys
Authorized apps
Billing
Welcome to munge.
98
Credits remaining
100 granted · 2 used
MCP endpoint

One URL. Any MCP client.

claude · terminal
$ claude mcp add --transport http \
    munge https://munge.sh/mcp
check munge connected · OAuth opened in browser
28 tools available across 10 sources
Dashboard

Sign up, connect, and ship in 60 seconds.

Open dashboard

API keys

Generate. Rotate. Revoke.

laptopmunge_live_aB3X…active
claude-climunge_live_kP9Q…active
new key arrow_right_alt+ Generate

Live credit donut

1 credit per call. Watch it live.

68REMAINING
MCP endpoint

One URL. Real-time tools for AI agents.

View setup

Wired into Claude in one command

OAuth handles login. No copy-paste.

claude mcp add munge https://munge.sh/mcp
check 28 tools loaded
lock OAuth approved · munge.sh

Tool-call latency

p95 under 120ms.

p95 118ms p50 42ms + uptime 99.94%
Direct MCP

Or call the endpoint directly.

Read the docs arrow_right_alt

JSON-RPC tool call

POST JSON-RPC to /mcp with a Bearer token.

streamable-http 28 tools
POST https://munge.sh/mcp
Authorization: Bearer munge_live_aB3X…
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "brreg_search_companies",
    "arguments": { "query": "Equinor" }
  }
}

OAuth 2.1 with PKCE

Full MCP auth spec. Claude Code resolves it all.

RFC 7591 RFC 9728
# 1. Get protected-resource metadata
GET https://munge.sh/.well-known/oauth-protected-resource

# 2. Register a client (no api key needed)
POST https://munge.sh/oauth/register
{ "redirect_uris": ["http://localhost:6274/cb"] }

# 3. Browser → authorize → token endpoint
POST https://munge.sh/oauth/token
{ "grant_type": "authorization_code", … }
# → { "access_token": "eyJ…", "token_type": "Bearer" }

JWKS + audit log

RS256 keys. Public JWKS. Immutable audit log.

RS256 JWKS
GET https://munge.sh/.well-known/jwks.json

{
  "keys": [{
    "kty": "RSA",
    "alg": "RS256",
    "use": "sig",
    "kid": "munge-oauth-1",
    "n": "xwuVzcFutJ8…",
    "e": "AQAB"
  }]
}

Built for agents that operate globally.

Norway

Norwegian regulators

Company register, geocoding, parliament, statistics, weather — five government APIs unified into one schema.

Brreg · Kartverket · Stortinget · SSB · MET
EU + US

Filings & macro

SEC EDGAR with ASC-606 concept aliasing, plus Eurostat datasets, ECB FX, and World Bank indicators across 200+ countries.

SEC EDGAR · Eurostat · ECB · World Bank
Global

Geocoding & weather

Address lookups via OpenStreetMap Nominatim, country metadata via REST Countries, forecasts and historical via Open-Meteo.

OSM Nominatim · REST Countries · Open-Meteo

How munge got here.

From a Norway-only MCP experiment to an authenticated, credit-metered, OAuth-protected product. Every step shipped behind a single URL.

v1
Norway only
v1.5
US + EU
Now

OAuth + credits + Stripe

1 credit per call. Pay for what you use.

May 2026
v2
Live now
v3
Next
v3.5
Soon

MCP 2025-03 spec compliant

Streamable HTTP transport, session lifecycle, JSON-RPC envelope — Anthropic's MCP reference is the test surface.

Stripe + Convex billing live

Hosted Checkout with three tiers, signed webhooks verified with Web Crypto, idempotent grants per session.

Latest updates.

All posts arrow_right_alt
ProductMay 2026

Credits, donut, monthly reset

100 free credits. Monthly refill.

ProductMay 2026

Referral program

Share a link. Earn 400 credits.

PlatformMay 2026

OAuth 2.1 + JWKS

Dynamic registration. PKCE. One command.

Public data, ready for your agent.