headless-records-mcp
This server provides structured, non-advisory access to public SEC Form 4 insider filing data via the Headless Records API. Here's what you can do:
Check data freshness (
get_freshness): Retrieve the freshness status of the watched-ticker universe, indicating how up-to-date the SEC filing coverage is, with a configurable freshness window (1–168 hours).Assess insider activity (
assess_insider_activity): Get a deterministic, factual summary of reported SEC Form 4 insider trading activity for a specific ticker over a chosen time period (30, 90, or 180 days), without any investment recommendations or trading signals.Retrieve filing provenance (
get_filing_provenance): Look up the source provenance of a specific imported SEC Form 4 filing by accession number, including the source document URL, retrieval timestamp, and SHA-256 hash.
All interactions are non-advisory and confined to publicly available SEC Form 4 data from a bounded, watched-ticker universe, and do not constitute financial advice.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@headless-records-mcp assess insider activity for AAPL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Headless Records MCP Server
A local Model Context Protocol (MCP) stdio server that gives agents structured, non-advisory access to public SEC Form 4 insider filing data via the hosted Headless Records API.
The server is a thin wrapper: it validates tool input, calls https://api.headlessrecords.dev, and returns the API's JSON responses as formatted text. It does not call SEC directly, does not connect to a database, and does not run ingestion jobs.
Full API documentation: headlessrecords.dev · OpenAPI spec
Safety and Scope
Responses summarize public SEC Form 4 filing data from a bounded, watched-ticker universe. They do not imply full-market coverage.
Output is not financial advice. The server provides no buy, sell, hold, bullish, bearish, price prediction, alpha, trading signal, or investment recommendation guidance.
API caveats, methodology notes, request IDs, timestamps, and source provenance are preserved in tool output so agents can show context rather than over-compress results.
Related MCP server: io.github.aion-org/edgar-answers-mcp
Requirements
Node.js 20 or later (uses the built-in
fetch)A Headless Records API key (
hr_live_prefix) — request design partner accessNo key yet? Try the open preview endpoint:
curl https://api.headlessrecords.dev/v1/ticker/TSLA/previewInstall and Build
npm install
npm run buildThe compiled server is written to dist/index.js.
Configuration
The server is configured entirely through environment variables read from the process. Export them in your shell or set them in your MCP client config. (.env.example is a reference file only; the server does not auto-load .env.)
Required:
HEADLESS_RECORDS_API_KEY— your API key, sent as theX-API-Keyheader.
Optional:
HEADLESS_RECORDS_API_BASE_URL— defaults tohttps://api.headlessrecords.dev.HEADLESS_RECORDS_TIMEOUT_MS— per-request timeout, defaults to10000.
Do not commit real API keys.
Running
Run from source:
HEADLESS_RECORDS_API_KEY=hr_live_REPLACE_ME npm startRun the built stdio server:
HEADLESS_RECORDS_API_KEY=hr_live_REPLACE_ME node /absolute/path/to/dist/index.jsMCP Client Configuration
Example configuration for Cursor, Claude Desktop, or any MCP client, after npm run build:
{
"mcpServers": {
"headless-records": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"HEADLESS_RECORDS_API_KEY": "hr_live_REPLACE_ME"
}
}
}
}Tools
get_freshness
Returns freshness status for the configured watched-ticker universe.
{
"freshness_window_hours": 24
}freshness_window_hours(optional integer, 1–168, default24)
Calls GET /v1/freshness.
assess_insider_activity
Returns a deterministic, non-advisory summary of reported SEC Form 4 insider activity for a ticker. Tickers are normalized to uppercase before the API call.
{
"ticker": "TSLA",
"period": "90d",
"freshness_window_hours": 24
}ticker(required string)period(optional, one of30d,90d,180d, default90d)freshness_window_hours(optional integer, 1–168, default24)
Calls GET /v1/insider-activity/{ticker}/assessment.
get_filing_provenance
Returns source provenance for an imported SEC Form 4 filing, including the source document URL, retrieval timestamp, and SHA-256 hash when available.
{
"accession_number": "0000001001-26-000123"
}accession_number(required string)
Calls GET /v1/provenance/filing/{accession_number}.
Error Behavior
Tool errors are returned as structured JSON with a stable code field:
Missing, invalid, or revoked API keys surface as
unauthorized(HTTP 401).Rate limits surface as
rate_limited(HTTP 429), includingretry_afterwhen the API provides it.Timeouts, network failures, and invalid responses surface as
timeout,network_error, andinvalid_json.API request IDs are preserved in error output when available.
Raw
hr_live_...API keys are redacted from all error text.
Development
npm testTests run with Vitest and use mocked HTTP; they never call the live API.
Known Limitations
Local stdio server only; this is not a hosted remote MCP server.
Requires a valid
HEADLESS_RECORDS_API_KEYand inherits the API's per-key rate limits.Coverage is bounded to the watched-ticker universe and imported filings; it does not fetch SEC data live.
Does not manage watched tickers, billing, or authentication flows.
Returns formatted JSON text; it does not transform API output into advice.
Available Tools
3 toolsassess_insider_activityB
Return a deterministic, non-advisory summary of reported public SEC Form 4 insider activity for a ticker. This uses bounded watched-ticker and imported-filing coverage and does not provide buy, sell, hold, bullish, bearish, price prediction, alpha, trading signal, or investment recommendation guidance.
Inputs: ticker (required), period, freshness_window_hours.
get_filing_provenanceB
Return source provenance for an imported SEC Form 4 filing, including source document URL, retrieval timestamp, and SHA-256 hash when available. This summarizes public SEC filing data provenance and does not provide buy, sell, hold, price prediction, or investment recommendation guidance.
Inputs: accession_number (required).
get_freshnessC
Return freshness status for the configured Headless Records watched ticker universe. This summarizes public SEC filing data coverage status, does not imply full-market coverage, and the watched ticker coverage is bounded.
Inputs: freshness_window_hours.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct aspect: insider activity summary, filing provenance, and data freshness. No overlap.
All tools follow a consistent verb_noun pattern with snake_case: assess_insider_activity, get_filing_provenance, get_freshness.
3 tools is slightly below typical range, but the scope is narrow and each tool serves a clear purpose. No unnecessary tools.
Core functions are covered, but missing features like listing tickers or raw filing data. The bounded nature partly justifies the gaps.
Maintenance
Related MCP Connectors
Real-time SEC Form 4, Form 144, 13F-HR & congressional STOCK Act insider data. 40 tools + 6 prompts.
12SEC filings — 13F, Form 4, 8-K, 13D, IPO and short-interest data — as 17 agent tools.
SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.
SEC EDGAR filings for AI agents: company lookup, filings, financials, insider trades. No keys.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to access SEC EDGAR data: search filings, extract sections, pull structured financials, and track insider transactions.18 npmMIT
- FlicenseNot gradedqualityCmaintenanceProvides normalized SEC EDGAR data (financials, filings, insider trades) to AI agents via MCP.-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query financial datasets, including institutional holders, insider transactions, investor portfolios, and SEC filings, via MCP tools.157 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables querying SEC EDGAR for Form 4 insider trades, 8-K material events, and Schedule 13D/G ownership filings for US-listed companies, with ticker, company name, or CIK lookup.157 npm1MIT