Docs
Pressure is one number per dataset per UTC day, on a 0-5 scale with a label. Read it three ways: as MCP tools from an AI client, as REST calls with an API key, or as a public RSS feed of recent readings. Every surface serves the same data from the same pipeline.
Base and auth
Two endpoints, one account:
- POST
https://api-pressure-atlas.dev.adjames.com/mcp- MCP over streamable HTTP. Connectors in claude.ai and ChatGPT sign in with OAuth; other MCP clients pass an API key. - GET
https://api-pressure-atlas.dev.adjames.com/v1/...- REST with an API key.
Create keys in the app (Account, then API
keys). Keys start with pa_, are shown once, and can be revoked at
any time. Pass one as a bearer token or an x-api-key header.
Rate limits and the daily call quota are shared across MCP and REST: one
budget however you call.
$ curl https://api-pressure-atlas.dev.adjames.com/v1/pressure/latest \
-H "Authorization: Bearer pa_your_key"
GET /v1/pressure/latest
The newest closed UTC day's reading, banded to the 0-5 scale. The in-progress day is never served here; it would shift under the reader.
Query
dataset- slug from /v1/datasets; defaults tomacro.
Responses cache for five minutes; a repeated call inside that window costs nothing new upstream.
$ curl https://api-pressure-atlas.dev.adjames.com/v1/pressure/latest \
-H "Authorization: Bearer pa_your_key"
{
"date": "2026-08-19",
"pressure": "3.2",
"label": "high",
"dataset": "macro",
"dataset_name": "Macro (Global)"
}
GET /v1/pressure/recent
Daily readings for a window. The window is resolved against your plan: the free plan serves the latest closed day (a requested window is noted and ignored); Pressure Atlas Pro serves up to the most recent 30 days.
Query
dataset- defaults tomacro.date_start,date_end-YYYY-MM-DD, inclusive, UTC. Withoutdate_startthe window is the last 30 days; withoutdate_endit ends at the latest closed day.
Out-of-plan windows are clamped with a note, never rejected.
$ curl "https://api-pressure-atlas.dev.adjames.com/v1/pressure/recent?date_start=2026-08-13" \
-H "Authorization: Bearer pa_your_key"
{
"dataset": "macro",
"window": { "start": "2026-08-13", "end": "2026-08-19" },
"notes": [],
"readings": [
{ "date": "2026-08-13", "pressure": "2.6", "label": "moderate" },
{ "date": "2026-08-14", "pressure": "2.9", "label": "moderate" },
{ "date": "2026-08-15", "pressure": "3.4", "label": "high" }
]
}
GET /v1/pressure/export
Every daily reading your plan covers, in one call. Pressure Atlas Pro only; the free plan receives a 403 with an upgrade link.
Query
format-csv(default) orjson.dataset,date_start,date_end- as on /recent, without the 30-day cap.
The CSV shape is date,pressure,label, one row per day. The
JSON shape matches /recent. Both download with a dated filename.
$ curl -O "https://api-pressure-atlas.dev.adjames.com/v1/pressure/export?format=csv" \
-H "Authorization: Bearer pa_your_key"
date,pressure,label 2026-07-21,2.2,moderate 2026-07-22,2.8,moderate 2026-07-23,3.6,high
GET /v1/datasets
The catalog with your plan's access per dataset. The full catalog is always visible; access depth is what the plan changes.
{
"plan": { "name": "Free", "upgrade_url": "..." },
"datasets": [
{
"slug": "macro",
"name": "Macro (Global)",
"description": "Pressure: a daily measurement ...",
"history_start": "2021-04-01",
"your_access": "the latest pressure only",
"export": false
}
]
}
GET /public/pressure/rss
The readings feed: the last five closed days as RSS, no account needed. One new item per UTC day - point a feed reader or an automation at it. (The blog feed is separate.)
$ curl https://api-pressure-atlas.dev.adjames.com/public/pressure/rss
<item> <title>2026-08-19 - tightening (3.2 / 5)</title> <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate> <description>Pressure 3.2 / 5 (tightening) for Macro (Global) on 2026-08-19 (UTC).</description> </item>
Connect a client
- Open Settings, then Connectors.
- Choose Add custom connector and paste
https://api-pressure-atlas.dev.adjames.com/mcp. - A sign-in window opens; the connector is ready when it closes.
One command; Claude Code walks through the OAuth sign-in on first use.
- Turn on Developer mode under Settings, Apps and Connectors, Advanced.
- Choose Create and paste
https://api-pressure-atlas.dev.adjames.com/mcp. - Sign in through the OAuth window.
No MCP needed: call the REST API directly with your key. The sections below document every route.
For IDEs, agent frameworks, and anything that reads an
mcpServers map.
To check any connection, ask the client: "What is today's pressure?"
https://api-pressure-atlas.dev.adjames.com/mcp
$ claude mcp add --transport http pressure-atlas https://api-pressure-atlas.dev.adjames.com/mcp
https://api-pressure-atlas.dev.adjames.com/mcp
$ curl https://api-pressure-atlas.dev.adjames.com/v1/pressure/latest \
-H "Authorization: Bearer pa_your_key"
{
"mcpServers": {
"pressure-atlas": {
"type": "http",
"url": "https://api-pressure-atlas.dev.adjames.com/mcp",
"headers": { "Authorization": "Bearer pa_..." }
}
}
}
The seven MCP tools
Every plan sees all seven tools; the plan decides how much history a call may return, exactly like REST.
| Tool | Returns |
|---|---|
| list_datasets | The catalog and your plan's access. Call this first. |
| get_latest_pressure | The newest closed day's reading, 0-5 with a label. |
| get_recent_pressure | Daily readings for a window as compact CSV. |
| export_pressure_csv | Every covered reading in one CSV. Pressure Atlas Pro only. |
| search | Free-text search over the catalog; returns ids for fetch. |
| fetch | One document by id, e.g. dataset:macro. |
| get_usage | Your plan and quota position today; free to call. |
{ "name": "get_latest_pressure",
"arguments": { "dataset": "macro" } }
Pressure: 3.2 / 5 (high) on 2026-08-19 (Macro (Global)).
Errors
REST errors are standard HTTP with one JSON body shape.
| Status | Code | When |
|---|---|---|
| 401 | unauthorized | Missing, invalid, or revoked key. |
| 400 | invalid_request, invalid_window | Bad date format, start after end, window before history. |
| 403 | plan_required | Export on the free plan; body carries an upgrade link. |
| 404 | unknown_dataset | Slug not in the catalog. |
| 429 | rate_limited | Per-minute or daily budget spent; Retry-After is set. |
| 503 | upstream_unavailable, data_pending | Data service down, or the newest day still preparing. |
{
"error": {
"code": "plan_required",
"message": "Export is part of the Pressure Atlas Pro plan ($79/mo).",
"upgrade_url": "..."
}
}
Limits and freshness
- Pressure is daily: one reading per dataset per UTC day. Default windows end at the latest closed day; ask for today explicitly with
date_endand it arrives marked partial. - Free plan: 200 calls a day, 10 a minute. Pressure Atlas Pro: 10,000 a day, 120 a minute. MCP and REST draw from the same budget.
- Responses are cached for five minutes, so a repeated call inside that window costs nothing new.