pypi filingrail-mcpstdioMITupdated 26d ago
Give your AI agent live SEC EDGAR data: company financials, insider trades, 8-K events, 13F holdings, and the raw filings stream โ all normalized to clean JSON, every number traceable back to its sec.gov source filing.
What can you do with filingrail mcp?
filingrail-mcp โ SEC EDGAR filings inside Claude, Cursor, and any MCP agent
Give your AI agent live SEC EDGAR data: company financials, insider trades, 8-K events, 13F holdings, and the raw filings stream โ all normalized to clean JSON, every number traceable back to its sec.gov source filing.
One pip install, one API key, and your agent can answer "What was Apple's cash position last quarter?" or "List Berkshire Hathaway's top 10 holdings as of 2026-Q1" โ against real filings, not its training data.
pip install filingrail-mcp
Live on PyPI: pypi.org/project/filingrail-mcp ยท MIT licensed ยท Python 3.10+
Why this exists
Every number a public company reports to the SEC is free and open on EDGAR. The bottleneck isn't access โ it's the XBRL parser, the tag-drift normalizer, the rate-limit governor, and the dedup layer you'd have to write before you get the one figure you actually wanted. filingrail-mcp hands your agent the finished JSON instead.
- Source-traceable. Every financial response carries the originating
source_filing_url. Click it, see the exact 10-K / 10-Q on sec.gov. No "trust us." - Normalized.
revenueisrevenue, whether the filer tagged itus-gaap:Revenues,SalesRevenueNet, orRevenueFromContractWithCustomerExcludingAssessedTax. 1.8M+ XBRL rows back to 2006. - Zero plumbing. No EDGAR User-Agent config, no local parser, no rate-limit governor. The API handles all of it.
Get a key (free tier, no card)
Filingrail is a REST API on RapidAPI. The free tier is 50 calls/day, no credit card:
โ Subscribe to Filingrail on RapidAPI and copy your X-RapidAPI-Key.
The end user brings their own key โ set it as RAPIDAPI_KEY in your MCP client config (below).
Configure your agent
Claude Desktop
Edit %APPDATA%/Claude/claude_desktop_config.json (Windows) or ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"filingrail": {
"command": "filingrail-mcp",
"env": { "RAPIDAPI_KEY": "your-rapidapi-key-here" }
}
}
}
Restart Claude Desktop. The Filingrail tools (search_companies, get_financials, get_insider_trades, โฆ) appear in the tool list. Then just ask a question in plain English.
Cursor / Continue / any other MCP client
Point the client at filingrail-mcp as the stdio command and pass RAPIDAPI_KEY as an environment variable. Same shape as above.
If your client only accepts a raw command, use:
{ "command": "filingrail-mcp", "env": { "RAPIDAPI_KEY": "your-rapidapi-key-here" } }
Tools exposed
| Tool | What it does |
|---|---|
search_companies(q, limit) |
Resolve ticker / CIK / name fragment to a company (8,000+ SEC issuers, fuzzy match) |
get_recent_filings(form_type, cik, limit) |
Recent filings firehose โ filter by form (10-K, 8-K, 4, 13F-HR) or CIK |
get_financials(ticker_or_cik, limit) |
Latest 10-K / 10-Q normalized line items + source_filing_url |
get_financials_history(ticker_or_cik, period, limit, โฆ) |
Historical quarterly or annual series |
get_insider_trades(ticker_or_cik, since, limit) |
Form 4 transactions โ who bought/sold, when, how much |
get_8k_events(ticker_or_cik, since, limit) |
8-K material events with SEC item codes (5.02, 2.01, โฆ) |
get_13f_holdings(institution_cik, quarter, limit) |
Institutional holdings (e.g. Berkshire = CIK 1067983) |
health() |
API liveness check |
Try it
After installing and configuring, ask your agent:
- "What was Apple's revenue and operating income last quarter, and link me the filing."
- "Show me insider sells at NVIDIA in the last 30 days."
- "What 8-K events did Tesla file this month?"
- "List Berkshire Hathaway's 10 largest 13F positions for 2026-Q1."
What it is not
Honest caveats:
- Not real-time. New filings appear within ~24h of EDGAR acceptance (fair-access policy).
- Not Bloomberg. No intraday prices, options chains, non-US issuers, or analyst estimates.
- Structured SEC data, traced to source โ that's the whole product.
Pricing
| Tier | Price | Calls/month |
|---|---|---|
| Free | $0 | 1,500 (50/day) |
| Pro | $9/mo | 5,000 |
| Ultra | $49/mo | 50,000 |
| Mega | $199/mo | 500,000 |
Keys and billing are handled by RapidAPI. Get yours โ
Links
- Get an API key (RapidAPI listing)
- Filingrail homepage
- Python SDK (sync + async) โ
pip install filingrail - API status page
- Questions / issues:
support@hudsonenterprisesllc.com
License
MIT ยฉ Hudson Enterprises LLC
Install
Add filingrail mcp to your client. Pick the one you use.
claude mcp add filingrail-mcp -- uvx filingrail-mcpcodex mcp add filingrail-mcp -- uvx filingrail-mcpamp mcp add filingrail-mcp -- uvx filingrail-mcp{
"mcpServers": {
"filingrail-mcp": {
"command": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"filingrail-mcp": {
"command": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"filingrail-mcp","command":"uvx","args":["filingrail-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"filingrail-mcp": {
"command": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"filingrail-mcp": {
"command": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"filingrail-mcp": {
"command": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"filingrail-mcp": {
"type": "local",
"command": "uvx",
"args": [
"filingrail-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"filingrail-mcp": {
"command": {
"path": "uvx",
"args": [
"filingrail-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx filingrail-mcpRun `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 19 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.1.1Latest | Jul 5, 2026 |