Reference
MCP server
PIT provides a Model Context Protocol endpoint at POST /mcp. It gives AI agents four read-only tools to query point-in-time data as of any past timestamp. The endpoint is hosted, so you do not need to install local software.
Reference documentation. Updated 2026-08-26 against the corpus described on coverage.
Endpoint
https://api.pit.aqx.llc/mcpPOST. Supports text/event-stream when requested by the client.Authorization: Bearer pit_live_… using your REST API key. Requests without a key access the public sample.http://127.0.0.1:8080/mcp
Each tool call executes one /v1 request on the
server. MCP responses use the same JSON envelope and error codes
as curl requests, and each call counts as one request
toward your plan rate limit.
Claude Code
$ claude mcp add --transport http pit https://api.pit.aqx.llc/mcp --header "Authorization: Bearer pit_live_..."
If you omit --header, the connection defaults to the
public sample. Run claude mcp list to view configured
servers, and claude mcp remove pit to remove the
server.
Claude.ai
In Settings, open Connectors, select Add custom connector, and paste this URL.
https://api.pit.aqx.llc/mcp
Claude.ai custom connectors support OAuth or unauthenticated
connections. PIT does not currently support OAuth, so Claude.ai
connections use the public sample where every row has
sample: true. To query the full corpus, use a client
that can send custom headers, such as Claude Code, Cursor, or a
custom application.
Cursor
Add this configuration to ~/.cursor/mcp.json for
global access across all projects, or to
.cursor/mcp.json inside a specific project.
{
"mcpServers": {
"pit": {
"url": "https://api.pit.aqx.llc/mcp",
"headers": {
"Authorization": "Bearer pit_live_..."
}
}
}
}
The four tools
| Tool | Answers | Same as |
|---|---|---|
pit_query | The filings that were knowable at one instant. | GET /v1/news |
pit_diff | The rows that became knowable between two instants. | GET /v1/news/diff |
pit_coverage | Which source-days we mined, and how completely. | GET /v1/coverage |
pit_meta | Corpus version, sources, certified span, plans. | GET /v1/meta |
All four tools are read-only and return the
standard envelope as JSON text. Check
count before parsing results. A number
indicates a successful query. A JSON null indicates that the
requested window includes uncertified dates. In that case, the
data is unknown, and coverage.missing lists those
dates.
pit_query arguments
| Argument | What it does |
|---|---|
as_of | The instant you are asking about, RFC3339 UTC with a literal Z. Some clients call this known_at; it is the same value. Required once you send a key. |
visible_by | Which timestamp as_of is compared against: published_at (default), available_at, or committed_at. See timestamps. |
ticker | Resolved to the CIKs (SEC company numbers) that held the symbol at as_of, so a company that renamed later still comes back. Send ticker or cik, not both. |
cik | SEC Central Index Key. Needs a key. |
source | One source id, such as sec.edgar. pit_meta lists them. |
lane | certified_pit for the mined history, forward_first_seen for the live tape's first sighting. |
limit | 1 to 1000, default 100. Anything larger returns an error. |
cursor | next_cursor from the previous page. |
pit_diff accepts the same filter arguments as
pit_query, but uses as_of_start and
as_of_end instead of as_of.
pit_coverage accepts source,
date, as_of, limit, and
cursor. pit_meta takes no arguments.
Without a key
Without an API key, tools query the public sample dataset: SVB
(SIVB), Apple (AAPL), and Meta
(META, or FB before the rename) on the
certified dates used in the demo. Every
returned row includes sample: true. Querying any
other ticker returns an error listing the three supported tickers.
A valid API key gives access to the full corpus at your plan's
rate limit: 60 requests per minute on Researcher, or 300 on Power.
If the key is rejected, the server returns JSON-RPC error
-32001 containing the standard REST
unauthorized envelope.
Queries are refused if a required timestamp is missing,
limit exceeds 1000, the source is
invalid, or the window hits a coverage gap. In these cases, the
tool returns a response with isError set to true,
includes the full envelope in the text, and explains the issue in
the message.
Try it with curl
$ curl -s -X POST https://api.pit.aqx.llc/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"pit_query","arguments":{"ticker":"SIVB"}}}'
The text block inside result.content contains the
envelope: as_of 2023-03-10T23:59:59Z,
visible_by published_at,
status ok, count 1, and one
SVB 8-K filing accepted at 2023-03-10T22:23:03Z
marked with sample: true.
Protocol details
2025-06-18 and 2025-03-26. If a client requests either version, the server responds with that version. All other requests default to 2025-06-18.initialize, notifications/initialized, ping, tools/list, tools/call.application/json, or text/event-stream when prioritized in the Accept header. An SSE response sends a single event: message frame and closes the stream.MCP-Session-Id header, but never generates one.GET /mcp and DELETE /mcp return 405. The server does not support persistent streams or session termination.Not supported yet
OAuth authentication is not supported. The server advertises tool
capabilities only; MCP resources and prompts are not
available. There are no MCP tools for the /v1/stream
live tape, /v1/files, or /v1/mapping.