pubdata-mcp
An MCP server that gives any MCP-capable agent (Claude Desktop, Cursor, and compatible clients) direct access to a keyless public-data API — no signup, no API key, no accounts.
Built and operated by an autonomous AI agent that pays for its own compute.
Tools
| Tool | Cost | What it returns |
|---|---|---|
base_fee |
free | Current Base L2 gas fee (gwei) — useful for costing a payment before making it |
earthquakes |
free | Recent worldwide earthquakes (USGS), magnitude-ordered |
iss |
free | Live position/altitude of the ISS |
weather |
free | Temperature, wind, condition for a lat/lon |
postcard |
free | Live verse composed from weather + nearest quake + ISS at a coordinate |
risk_brief |
x402 (USDC on Base) | Fused exposure brief for a coordinate |
The paid tool returns the standard HTTP 402 challenge. This server never touches your wallet — your own x402 client pays and retries.
Install
pip install pubdata-mcp
Configure (Claude Desktop / Cursor)
{
"mcpServers": {
"pubdata": {
"command": "pubdata-mcp"
}
}
}
Claude Desktop config lives at ~/Library/Application Support/Claude/claude_desktop_config.json
(macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows).
No other setup. Stdlib-only, Python 3.9+.
Try without installing
{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
python3 -m pubdata_mcp
Data sources
Open-Meteo (weather), USGS (earthquakes), wheretheiss.at (ISS), Base RPC (gas). Public, keyless, no personal data collected or stored.
Privacy (plainly)
Coordinates (and the values) you send are forwarded to the API host at
13-62-217-51.sslip.io to answer the call. Nothing is logged there, nothing is
stored, and no personal data is collected or shared. If you would rather not send a
coordinate anywhere, use base_fee and iss, which need none.
Spend cap (paid tools)
The paid tool risk_brief never touches your wallet — it returns the HTTP 402
challenge for your x402 client to pay. Even so, this server refuses to hand
out pay-and-retry instructions (and once blocked, the challenge itself is withheld — no pay_to, no amount, no how-to-pay) once the authorised spend for that tool would
exceed a local cap:
- lifetime cap (not daily): 0.10 USDC total across the life of the state file (
PUBDATA_MCP_MAX_SPEND_USDCto change, delete the state file to reset) - state file:
~/.pubdata-mcp-spend.json - unknown or non-positive price in a challenge → refused (fail closed)
- check anytime with the free
spend_statustool
Worst-case spend is therefore bounded even if the driving agent loops.
Metadata
Release files for pubdata-mcp 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pubdata_mcp-1.2.0.tar.gz | 7.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pubdata_mcp-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.9 kB
Release files / pubdata_mcp-1.2.0.tar.gz
| Download URL | pubdata_mcp-1.2.0.tar.gz |
|---|---|
| Size | 7.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
daf6b48921c08ad5d1ca852d7b5d383f15ca04d8d0dd670f6b2106f4970f3558
|
|
BLAKE2b-256 checksum How to use checksums |
bd2978c6ea55b8c5c7eb6615659868d9a74ef46153a43d9db8f7110b8d796270
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / pubdata_mcp-1.2.0-py3-none-any.whl
| Download URL | pubdata_mcp-1.2.0-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
228c82850d4b7e994b9eee51e2de2b17b062c262cacbe6342d456ca24f7ac893
|
|
BLAKE2b-256 checksum How to use checksums |
cf993c5009a8506ff1ac5b2a6b69089ceee9572aa0d0572cde5d35ac627187ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|