Docs / MCP

MCP

MCP (the Model Context Protocol) is how AI assistants and agents call outside tools. Connect this server and your AI can read Pressure by itself: you ask, it calls the tools, the reading lands in the answer. The endpoint is https://api.pressureatlas.com/mcp, over streamable HTTP.

Connect a client

Every client below points at the same server, https://api.pressureatlas.com/mcp, and signs in with OAuth: a browser window opens the first time the server is used, registration is automatic, and there is no key to paste. Pick your client.

ChatGPT

On chatgpt.com, add the server as a plugin:

  1. Turn on Developer mode under Settings, Security and login, Developer mode.
  2. Open Plugins in the sidebar, choose + at the top right, then Create app. In the dialog that opens, choose Create MCP App.
  3. In the New Plugin form, name it, keep Connection on Server URL, and paste the server URL below. Leave Authentication on OAuth; the advanced OAuth settings are discovered from the server.
  4. Tick I understand and want to continue, then Create.
  5. Sign in through the window that opens.
server url
https://api.pressureatlas.com/mcp

The ChatGPT desktop app takes an API key instead. Create an API key in the app, then open Settings, Plugins, Add, Add MCP server. Name it, pick Streamable HTTP, paste the server URL, and under Headers add x-api-key with your key.

For more information, see OpenAI's developer mode documentation.

Codex CLI

To use the server with the Codex CLI, add it to your ~/.codex/config.toml file. To learn more, see the OpenAI Codex MCP documentation.

~/.codex/config.toml
[mcp_servers.pressure-atlas]
url = "https://api.pressureatlas.com/mcp"

After you add the server, sign in with OAuth:

command line
$ codex mcp login pressure-atlas

To authenticate with an API key instead of OAuth, set bearer_token_env_var to the name of an environment variable that holds your key. In this example, PRESSURE_ATLAS_API_KEY is a placeholder; replace it with the actual name of your environment variable.

~/.codex/config.toml
[mcp_servers.pressure-atlas]
url = "https://api.pressureatlas.com/mcp"
bearer_token_env_var = "PRESSURE_ATLAS_API_KEY"

To check any connection, ask the client: "What is the most recent Pressure reading I can read?"

Manage connections

Every client you connect with OAuth appears as a connection on your usage page, with the date it connected and when it last called a tool. Choose Disconnect to revoke that client's access: its sign-in stops working, and a token it already holds lapses within the hour.

Disconnecting removes nothing else. To bring a client back, run the connect steps above again for that client - it signs in and asks for your approval, the same as the first time. API keys are separate: they are not connections, and you manage them on the keys page.

Tools

Every account sees the full catalog of tools. Data tools serve the days your account includes, which list_datasets states: a new account reads the most recent 365 closed days, through the latest reading. A call without dates returns all of them; a requested window is cut to that range, with a note in the response. Every result also carries the same data as a typed object beside the text (MCP structuredContent, described by each tool's outputSchema), so a program can read fields instead of parsing prose or CSV.

ToolReturns
list_datasetsThe catalog and your access. Call this first.
get_latest_pressureThe newest closed day your account includes: its state (expanded, released, equilibrium, pressurized, or compressed), plus its flow (building or releasing) and pace (accelerating or slowing).
get_recent_pressureDaily readings for a window as compact CSV: date,label,flow,pace.
get_latest_metricThe newest closed day your account includes of any other metric in the catalog, on that metric's own scale (or as its state, when it is served as states), with its flow and pace when it has one. Pass metric: the slug from list_datasets. This tool and the next are listed once a metric beyond Pressure is published.
get_recent_metricDaily readings of any other metric for a window as compact CSV, with flow,pace columns when it has a flow.
searchFree-text search over the catalog; returns ids for fetch.
fetchOne document by id, e.g. dataset:macro.
get_usageYour quota position today; costs no daily quota.
send_feedbackSends your message to the Pressure Atlas team: a feature request, complaint, bug, praise, or anything else. Your AI is asked to check with you before it sends. Costs no daily quota; up to 3 messages in any 10 minutes and 10 in any 24 hours.
list_feedbackThe feedback you have sent, newest first: each item's current wording and whether it is open or closed. Costs no daily quota.
edit_feedbackChanges feedback you already sent, so a refined request updates the original instead of arriving twice. The team sees every earlier version. Costs no daily quota; up to 10 edits in any 10 minutes and 30 in any 24 hours, and 20 versions per item.
close_feedbackCloses feedback you sent once it is resolved or no longer wanted, so it stops showing as open. Closing is final; the team keeps it on record. Costs no daily quota.
tools/call
{ "name": "get_latest_pressure",
  "arguments": { "dataset": "macro" } }
result
Pressure: Pressurized on 2026-08-19
(Macro (Global)). Flow: Releasing — Slowing.