streamable-httpMITupdated 11d ago
One command connects Claude, Cursor, Windsurf, Zed, Codex, and any MCP client to 100M+ source-traced SEC records. Every answer traces to a real filing.
What can you do with ko mcp?
ko.io ā Wall Street data feed for AI agents
One command connects Claude, Cursor, Windsurf, Zed, Codex, and any MCP client to 100M+ source-traced SEC records. Every answer traces to a real filing.
Website Ā· Docs Ā· MCP Setup Ā· Get a free key Ā· Pricing
30-second start
In an AI agent (MCP) ā works instantly, no key needed:
claude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp
Then ask: "who is buying NVDA?", "what did Congress trade last month?", "which institutions hold spot BTC ETFs?" ā the agent calls real tools and cites real filings.
Over REST ā keyless demo mode:
curl "https://api.ko.io/api/v1/institutions?search=berkshire&demo=true"
In Python:
pip install ko-edgar
from ko_edgar import KoClient
ko = KoClient() # demo mode; KoClient(api_key="ko_live_...") for your quota
for h in ko.stocks.holders("NVDA"):
print(h["name"], h["holding_value"], h["action"])
In TypeScript:
npm install @ko-io/sdk
import { KoClient } from "@ko-io/sdk";
const ko = new KoClient(); // or { apiKey: "ko_live_..." }
const { rows } = await ko.congress.trades({ sort: "recent" });
Free keys are 200 calls/day, forever, no credit card ā ko.io/console.
What's in this repo
| Directory | What it is |
|---|---|
server/ |
The hosted MCP server (mcp.ko.io) ā Cloudflare Worker, 24 tools, deployed from this repo |
docs/clients/ |
Verified setup guides for every MCP client |
python/ |
ko-edgar ā official Python SDK (sync + async, typed) |
typescript/sdk/ |
@ko-io/sdk ā official TypeScript SDK (Node 18+, browsers, edge) |
typescript/mcp-proxy/ |
@ko-io/mcp-sec-data ā stdio bridge for clients without remote-HTTP MCP support |
cookbook/ |
10 runnable answers to real investing questions |
llms.txt |
Machine-readable map of every tool and endpoint |
The MCP server in server/ is the exact code running at
https://mcp.ko.io/mcp ā every push deploys it. You can also self-host it on
your own Cloudflare account (cd server && npx wrangler deploy); it proxies
to api.ko.io with your API key, so your quota and plan follow you. The data
pipelines behind the API run as a managed service (dual-region, 3-replica
ClickHouse, 26 pipelines refreshing on each source's publication schedule).
Note:
ko-edgaris live on PyPI (pip install ko-edgar). The npm packages@ko-io/sdkand@ko-io/mcp-sec-datapublish shortly. The hosted MCP endpoint and REST API work today.
Connect your client
| Client | Guide | One-liner |
|---|---|---|
| Claude Code | guide | claude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp |
| Claude Desktop | guide | remote HTTP config or npx -y @ko-io/mcp-sec-data |
| Cursor | guide | ~/.cursor/mcp.json |
| Windsurf | guide | Cascade ā MCP |
| Zed | guide | context_servers in settings |
| OpenAI Codex | guide | codex mcp add ko-sec-data --url https://mcp.ko.io/mcp |
| ChatGPT / Gemini / Grok | guide | REST API / Custom GPT Actions |
To use your own quota in any client, append ?api_key=YOUR_KEY to the server
URL, or send Authorization: Bearer YOUR_KEY.
The data
| Dataset | Coverage | Free tier |
|---|---|---|
| 13F institutional holdings | 85M+ rows, 2013 ā today, family-consolidated | ā |
| Insider trades (Forms 3/4/5) | 11M+ transactions, open-market classified | ā |
| Congress trading | STOCK Act disclosures, both chambers | ā |
| Crypto ETF exposure | Institutional spot-BTC-ETF holdings from 13F | ā |
| Form 144 | Planned insider sales (forward-looking) | ā |
| Fails-to-deliver + Reg SHO | Short-side stress footprints | ā |
| Stock prices & financials | Daily OHLCV + XBRL-derived statements | ā |
| SEC filings gateway | Any filing document, signed shareable links | list/index ā Ā· documents Pro |
| Macro (Treasury, Fed, CPI, OFR stress) | Daily federal sources | Pro |
All data is source-traced through the pipeline, and the filings gateway can pull the underlying SEC documents ā so your agent cites real filings instead of inventing numbers.
The 24 MCP tools
Institutions: get_institution_holdings Ā· list_institutions Ā·
Stocks: get_stock_profile Ā· get_stock_holders Ā· get_stock_activity Ā·
get_stock_price Ā· get_stock_financials Ā·
Insiders: get_insider_trades Ā· list_insider_traders Ā·
Congress: get_congress_trades Ā· get_congress_member Ā·
Crypto: get_crypto_exposure Ā· get_crypto_holders Ā· get_crypto_holder Ā·
Filings: sec_list_filings Ā· sec_get_filing_index Ā· sec_get_filing_document Ā·
Short data: get_ftd_data Ā·
Search: search Ā· Form 144: get_form144_notices Ā·
Macro (Pro): get_treasury_yields Ā· get_fed_rates Ā·
get_economic_indicators Ā· get_financial_stress
Full parameter reference: llms.txt Ā· ko.io/docs
Why not scrape EDGAR directly?
Excellent open-source tools exist for pulling raw filings from SEC EDGAR (e.g. sec-edgar-mcp ā if you need one company's raw documents in a local process, it's a fine choice). ko.io solves a different problem ā the questions raw EDGAR can't answer:
| Raw EDGAR access | ko.io | |
|---|---|---|
| "Get AAPL's latest 10-K" | ā | ā (filings gateway) |
| "Who is buying NVDA across all institutions?" | ā needs every 13F parsed | ā 122ms |
| "Berkshire's portfolio, 52 quarters back" | ā parse 50+ filings live | ā precomputed |
| "Vanguard's 7 filing entities as one manager" | ā | ā family consolidation |
| Congress trades, FTD, macro, crypto exposure | ā not in EDGAR | ā |
| Works in web-based AI (claude.ai, ChatGPT) | ā local process | ā hosted MCP |
| Setup | Python env + install | one command, zero install |
Plans
| Demo (no key) | Free | Pro $29/mo | Team $99/mo | |
|---|---|---|---|---|
| Calls/day | limited | 200 | 20,000 | 200,000 |
| Rows/request | 500 | 500 | 5,000 | 50,000 |
| Core SEC data | ā | ā | ā | ā |
| History depth | latest | latest | full | full |
| Macro (Treasury/Fed/CPI/stress) | ā | ā | ā | ā |
| Bulk export | ā | ā | ā | ā |
Quota resets 00:00 UTC. MCP and REST share one quota. Details ā
Contributing
Issues and PRs welcome ā see CONTRIBUTING.md. Security reports: SECURITY.md.
MIT Ā© ko.io
Install
Add ko mcp to your client. Pick the one you use.
claude mcp add --transport http ko-mcp https://mcp.ko.io/mcpcodex mcp add ko-mcp --url https://mcp.ko.io/mcp{
"mcpServers": {
"ko-mcp": {
"url": "https://mcp.ko.io/mcp"
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"servers": {
"ko-mcp": {
"type": "http",
"url": "https://mcp.ko.io/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
{
"mcpServers": {
"ko-mcp": {
"url": "https://mcp.ko.io/mcp"
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ko-mcp": {
"serverUrl": "https://mcp.ko.io/mcp"
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
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 4 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
- 6 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 1.0.0Latest | Jul 11, 2026 |