Odel
ko mcp

ko mcp

@sharpluTypeScriptMITUpdated 1w ago

Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.

Server endpointStreamable HTTPNo authProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

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.

CI PyPI npm License: MIT

Website · Docs · MCP Setup · Get a free key · Pricing

Claude querying NVDA institutional holders through the ko.io MCP server

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

DirectoryWhat 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.txtMachine-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-edgar is live on PyPI (pip install ko-edgar). The npm packages @ko-io/sdk and @ko-io/mcp-sec-data publish shortly. The hosted MCP endpoint and REST API work today.

Connect your client

ClientGuideOne-liner
Claude Codeguideclaude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp
Claude Desktopguideremote HTTP config or npx -y @ko-io/mcp-sec-data
Cursorguide~/.cursor/mcp.json
WindsurfguideCascade → MCP
Zedguidecontext_servers in settings
OpenAI Codexguidecodex mcp add ko-sec-data --url https://mcp.ko.io/mcp
ChatGPT / Gemini / GrokguideREST 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

DatasetCoverageFree tier
13F institutional holdings85M+ rows, 2013 → today, family-consolidated
Insider trades (Forms 3/4/5)11M+ transactions, open-market classified
Congress tradingSTOCK Act disclosures, both chambers
Crypto ETF exposureInstitutional spot-BTC-ETF holdings from 13F
Form 144Planned insider sales (forward-looking)
Fails-to-deliver + Reg SHOShort-side stress footprints
Stock prices & financialsDaily OHLCV + XBRL-derived statements
SEC filings gatewayAny filing document, signed shareable linkslist/index ✅ · documents Pro
Macro (Treasury, Fed, CPI, OFR stress)Daily federal sourcesPro

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 accessko.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
SetupPython env + installone command, zero install

Plans

Demo (no key)FreePro $29/moTeam $99/mo
Calls/daylimited20020,000200,000
Rows/request5005005,00050,000
Core SEC data
History depthlatestlatestfullfull
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