Integrate · MCP server
SEC filing data, inside your AI agent
Connect a client
Same endpoint in every client. Works without a key in demo mode.
Claude Code: run in your terminal.
claude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp- Add the server: paste the config for your client, or point any MCP client at
https://mcp.ko.io/mcp(streamable HTTP). - Without a key the server runs in demo mode. To use your plan's quota, append
?api_key=YOUR_KEYto the URL, or in Claude Code add--header "Authorization: Bearer YOUR_KEY". Create a key - Ask in plain language, for example “Which positions did Berkshire Hathaway add in Q2 2026?” The agent picks the tools; each tool call counts as one API call.
From the question to the filing
The server is a stateless pass-through to the same API; nothing is generated in between.
- RequestAI agentA question or task
- TransportMCP serverTool call + arguments
- Datako.io APINormalised source rows
- OriginalSEC · House · SenateFilings the rows came from
One server, every agent
Streamable HTTP at https://mcp.ko.io/mcp. Each tool is a typed wrapper over one REST route, so an answer can be checked against the same row in the Terminal.
Example
What the agent sends, gets back and answers
One question, one tool call. The tool answers in text with rounded figures; the exact values are in the REST row behind it, and the filing is one click away. Check an agent's answer as you would any analyst's.
How many Apple shares did Berkshire Hathaway hold at the end of Q2 2026, and how big is the position?
get_institution_holdings{ institution: "Berkshire Hathaway", limit: 3 }Interpreted "Berkshire Hathaway" as Berkshire Hathaway Inc (CIK 1067983).
13F Holdings — Quarter: 2026-06-30
| Ticker | Issuer | Value | Shares | Weight | Action |
|---|---|---|---|---|---|
| AAPL | APPLE INC | $65.95B | 227.92M | 22.04% | UNCHANGED |
| AXP | AMERICAN EXPRESS CO | $51.28B | 151.61M | 17.14% | UNCHANGED |
| GOOG | ALPHABET INC | $37.76B | 105.98M | 12.62% | ADDED |
Berkshire Hathaway reported 227.92 million Apple shares for the quarter ending June 30, 2026, worth $65.95 billion. At 22.04% of the reported portfolio it is Berkshire's largest position, ahead of American Express at 17.14%. The share count is unchanged from the prior quarter.
Source: 13F‑HR, period 2026-06-30, SEC EDGAR (opens the filing on sec.gov)
GET /api/v1/holdings/1067983?ticker=AAPL returns 227,917,808 shares · $65,950,296,923 · 22.04%{
"name": "get_institution_holdings",
"arguments": {
"institution": "1067983",
"limit": 1
}
}- cik
- 1067983
- SEC Central Index Key of the filer
- quarter_date
- 2026-06-30
- Portfolio date the 13F reports
- ticker
- AAPL
- Mapped from CUSIP 037833100
- shares_held
- 227,917,808
- Sum of 12 information-table lines
- holding_value
- $65.95B
- Reported value, exact 65,950,296,923
- portfolio_weight_pct
- 22.04%
- Share of the $299.25B reported total
- action
- UNCHANGED
- Change against the prior quarter
- CIK
- 1067983
- Lines summed
- 12
- Shares
- 227,917,808
- Value
- $65.95B
get_institution_holdings wraps GET /api/v1/holdings/:cik and returns the latest quarter; the row above is AAPL as the API returned it on 2026-09-23. Rows do not carry the accession: sec_list_filings lists the filer's filings and sec_get_filing_index opens one.
Reference
24 tools
19 work on the free tier; the rest need a paid plan. Each tool is a typed wrapper over one REST route.
24 tools
| Tool | Returns | REST route | Plan |
|---|---|---|---|
| Institutions | |||
| list_institutions | Find 13F filers by name | /api/v1/institutions | Free |
| get_institution_holdings | A manager's 13F portfolio for a quarter | /api/v1/holdings/:cik | Free |
| Stocks | |||
| get_stock_profile | Company profile and key figures | /api/v1/stocks/:ticker | Free |
| get_stock_price | Daily OHLCV price history | /api/v1/stock-price/:ticker | Free |
| get_stock_financials | Historical 10-K / 10-Q line items | /api/v1/stocks/:ticker/financials/historical | Free |
| get_stock_holders | Institutional holders of a ticker | /api/v1/stock-holders/:ticker | Free |
| get_stock_activity | Quarter-over-quarter holder activity | /api/v1/stock-holders/:ticker | Free |
| Insiders | |||
| get_insider_trades | Form 4 trades by a company's insiders | /api/v1/executive-trades/:ticker | Free |
| list_insider_traders | Latest insider trades across the market | /api/v1/insider-trades | Free |
| get_form144_notices | Form 144 proposed-sale notices | /api/v1/form144-notices | Free |
| Congress | |||
| get_congress_trades | STOCK Act trades across members | /api/v1/congress-trades | Free |
| get_congress_member | One member's disclosed trades | /api/v1/congress-trades/:member | Free |
| Crypto ETFs | |||
| get_crypto_exposure | Spot crypto-ETF ownership summary | /api/v1/crypto/exposure-summary | Free |
| get_crypto_holders | Institutions holding a spot crypto ETF | /api/v1/crypto/institutional-holders | Free |
| get_crypto_holder | One institution's crypto-ETF positions | /api/v1/crypto/holder/:cik | Free |
| SEC filings | |||
| sec_list_filings | A filer's EDGAR filings by form and date | /api/v1/filings/:cik | Free |
| sec_get_filing_index | The documents inside one filing | /api/v1/filings/:cik/:accession | Free |
| sec_get_filing_document | The text of a filing document | /api/v1/filings/:cik/:accession/file | Paid |
| Market structure | |||
| get_ftd_data | SEC fails-to-deliver by ticker | /api/v1/sec/ftd | Free |
| Macro | |||
| get_treasury_yields | Daily Treasury par yield curve | /api/v1/treasury/yields | Paid |
| get_fed_rates | Fed funds, SOFR and reference rates | /api/v1/fed/rates | Paid |
| get_economic_indicators | CPI, PPI and other BLS series | /api/v1/economic/indicators | Paid |
| get_financial_stress | OFR Financial Stress Index | /api/v1/stress/ofr | Paid |
| Search | |||
| search | Resolve a ticker, institution or person | /api/v1/search | Free |
Server: https://mcp.ko.io/mcp · stateless, streamable HTTP. ChatGPT, Gemini, Grok or your own backend can call the same data over REST: see the API reference.
Access
Quotas and limits
- Free tier
- 200calls / day
- Paid plans raise it to 20,000 and more.
- One quota
- MCP and REST share it
- One tool invocation = one call. A single question can trigger several.
- Over the limit
- HTTP 429 with rate-limit headers
- The daily quota resets at 00:00 UTC.
- Demo mode
- No key, rate-limited per IP
- Paid-only tools need a key on a paid plan.
Connect your agent
Demo mode works without a key; the free tier includes 200 calls a day.



