Tutorial · 10 minutes
Build your first SEC agent
In three prompts, your AI agent goes from nothing to a cited institutional-flow analysis, every number traceable to the SEC filing it came from. Works with Claude Code, Cursor, Windsurf, Zed, or any MCP client. No API key needed to start.
Step 1: Connect the data layer
~1 minOne command registers 24 SEC data tools with your agent:
Terminalclaude mcp add ko-sec-data --transport http https://mcp.ko.io/mcpUsing Cursor, Windsurf or Zed instead? Grab the JSON config on the MCP page. Verify with
claude mcp list; you should seeko-sec-data ... ✔ Connected.Step 2: Ask your first real question
~2 minYou ask What are Berkshire Hathaway's largest holdings right now, and what changed last quarter?
The agent resolves "Berkshire" to CIK 1067983, pulls the latest 13F, and answers with filing-grade numbers. Actual tool response:
get_institution_holdings
Live response, Q1 2026Ticker Issuer Value Weight Action AAPL APPLE INC $57.84B 21.99% UNCHANGED AXP AMERICAN EXPRESS $45.83B 17.4% UNCHANGED GOOGL ALPHABET INC $30.5B 11.6% ADDED SourceSEC EDGAR13F-HRBerkshire Hathaway Inc, CIK 1067983The free tier covers this whole tutorial (200 calls/day, no key). Each row carries its quarter and change action, so the agent cites instead of guessing.
Step 3: Cross datasets -- where agents earn their keep
~3 minYou ask Which stocks did both institutions accumulate AND members of Congress buy in the last quarter? Cross-reference 13F changes with STOCK Act disclosures.
This is one prompt, but the agent chains
get_stock_holders,get_congress_tradesandget_insider_tradeson its own: a join across three SEC datasets that would take an afternoon by hand. Try variations:- "Chart NVIDIA's institutional ownership over 8 quarters"
- "Find threshold-list stocks with rising fails-to-deliver -- classic squeeze setups"
- "What did Nancy Pelosi trade this year, and how long were her disclosure delays?"
Step 4: Unlock full depth
~2 minA free API key raises you to full history and all core datasets; Pro adds macro (Treasury/Fed), short interest and fails-to-deliver at 20,000 calls/day.
Attach your key (query param works in every client)claude mcp add ko-sec-data --transport http "https://mcp.ko.io/mcp?api_key=ko_live_YOUR_KEY"Keep keys out of shared configs
The key travels in the URL. Do not commit MCP configs that containapi_key=to a shared repository; rotate it in the Console if it leaks.
Where to go next
- All 24 tools with parametersMCP reference
- REST instead of MCP5-minute quickstart
- Deep dives & new tutorialsko.io Research ↗