Skip to content

Query SEC data with an AI agent

Connect an AI agent, query reported institutional holdings and compare them with congressional disclosures. Works with Claude Code, Codex, Cursor, Grok, Gemini or any MCP client. The first example runs in demo mode without a key; historical questions are part of Pro and up (Free plan: latest quarter).

The example response was captured on Sep 26, 2026 for Q2 2026. Running the request again may return a newer reporting period.
  1. Step 1: Connect the MCP server

    For Claude Code, add the MCP server:

    Shell
    claude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp

    Using Codex, Cursor, Grok or Gemini instead? The config for each client is on the MCP page. Verify with claude mcp list; you should see ko-sec-data ... ✔ Connected.

  2. Step 2: Ask about reported holdings

    You ask
    Show Berkshire Hathaway’s largest positions in its latest reported 13F quarter and their changes from the prior quarter.

    The agent resolves Berkshire Hathaway to CIK 1067983 and requests its reported holdings. Captured tool response:

    get_institution_holdings

    Captured response · Sep 26, 2026 · Q2 2026
    Tool response rows
    • AAPL
      APPLE INC
      $65.95B
      Weight
      22.04%
      Action
      UNCHANGED
    • AXP
      AMERICAN EXPRESS CO
      $51.28B
      Weight
      17.14%
      Action
      UNCHANGED
    • GOOG†
      ALPHABET INC
      $37.76B
      Weight
      12.62%
      Action
      ADDED

    † Issuer total: this row merges the issuer’s share classes, GOOGL 78,791,167 shares ($28.16B) + GOOG 27,188,433 shares ($9.61B). Ask for one class (ticker "GOOG") to get that class alone.

    SourceSEC EDGAR13F-HRBerkshire Hathaway Inc · CIK 1067983

    This latest-holdings example works in demo mode without a key (rate-limited per IP). A Free API key gives 200 calls a day. Historical data is part of Pro and up.

  3. Step 3: Compare holdings and disclosed trades

    You ask
    Compare institutions’ reported share increases with congressional purchases for the same quarter. State the reporting periods, coverage and limits of the comparison.

    The agent may need several tool calls, typically get_stock_holders, get_congress_trades and get_insider_trades, plus its own filtering. Check the returned dates and coverage before comparing datasets. The first two need historical 13F and FTD data, part of Pro and up; congressional disclosures, full history included, are free with an account:

    • Chart NVIDIA’s reported institutional holdings over eight quarters. State the measure and reporting periods.
    • Compare Reg SHO threshold-list entries with fails-to-deliver records for the same securities.

    Congressional disclosures are free on every plan; a member’s full history needs only a free sign-in:

    • List Nancy Pelosi’s disclosures for this year, with trade dates, disclosure dates, owners and reported ranges.
  4. Step 4: Connect with your API key

    A Free API key gives you your own quota: 200 calls a day across REST and MCP. Free covers the most recent quarter and latest data only; full history needs Pro or higher. Pro (20,000 calls a day) adds full history, macro series (Treasury, Fed, BLS, CFTC, FDIC, EIA, OFR), 13D / 13G, Form D, PDF reports and filing document text. Fails-to-deliver and Reg SHO threshold lists are on every plan, including the keyless demo. Short interest is in development and not currently available.

    Attach your key (sent as an Authorization header)
    claude mcp add ko-sec-data --transport http https://mcp.ko.io/mcp \
      --header "Authorization: Bearer ko_live_YOUR_KEY"

    Keep keys out of shared files

    Claude Code stores this header, with your API key, in its configuration. Keep that file out of shared repositories and logs. Clients that cannot set headers can append ?api_key= to the URL instead, which puts the key in logs more easily. If a key is exposed, create a replacement key and revoke the old one in the Console.

Where to go next