canli-mcp / Filing search

How can an AI agent search SEC filings?

canli-mcp's search_filings tool runs a full-text search over SEC EDGAR filings by phrase, form, company and date, and read_filing opens any result by section, so the agent quotes the filing it found.

Free and MIT-licensed. No account and no API key. Or run claude mcp add canli -- npx -y canli-mcp in Claude Code.

Ask it

What has Apple said about tariffs in its 10-Qs?

The agent finds the tool through canli-mcp's find_tool and runs it through run_tool. This is the call:

{
  "name": "search_filings",
  "arguments": {
    "query": "tariffs",
    "forms": [
      "10-Q"
    ],
    "company": "AAPL",
    "limit": 5
  }
}

What came back

Recorded from canli-mcp 0.11.1 on 2026-10-25, with no API key set. The model read 1,752 characters.

What search_filings returned, every row
filedformfilerperiodaccessiondocumenturl
2025-05-0210-QApple Inc. (AAPL) (CIK 0000320193)2025-03-290000320193-25-000057aapl-20250329.htmsource
2025-08-0110-QApple Inc. (AAPL) (CIK 0000320193)2025-06-280000320193-25-000073aapl-20250628.htmsource
2026-01-3010-QApple Inc. (AAPL) (CIK 0000320193)2025-12-270000320193-26-000006aapl-20251227.htmsource
2026-05-0110-QApple Inc. (AAPL) (CIK 0000320193)2026-03-280000320193-26-000013aapl-20260328.htmsource
2026-07-3110-QApple Inc. (AAPL) (CIK 0000320193)2026-06-270000320193-26-000020aapl-20260627.htmsource
The result search_filings sent back, in full form
{
  "ref": "r23",
  "query": "tariffs",
  "total": 56,
  "columns": [
    "filed",
    "form",
    "filer",
    "period",
    "accession",
    "document",
    "…"
  ],
  "rows": [
    [
      "2025-05-02",
      "10-Q",
      "Apple Inc. (AAPL) (CIK 0000320193)",
      "2025-03-29",
      "0000320193-25-000057",
      "aapl-20250329.htm",
      "…"
    ],
    [
      "2025-08-01",
      "10-Q",
      "Apple Inc. (AAPL) (CIK 0000320193)",
      "2025-06-28",
      "0000320193-25-000073",
      "aapl-20250628.htm",
      "…"
    ],
    [
      "2026-01-30",
      "10-Q",
      "Apple Inc. (AAPL) (CIK 0000320193)",
      "2025-12-27",
      "0000320193-26-000006",
      "aapl-20251227.htm",
      "…"
    ],
    [
      "2026-05-01",
      "10-Q",
      "Apple Inc. (AAPL) (CIK 0000320193)",
      "2026-03-28",
      "0000320193-26-000013",
      "aapl-20260328.htm",
      "…"
    ],
    [
      "2026-07-31",
      "10-Q",
      "Apple Inc. (AAPL) (CIK 0000320193)",
      "2026-06-27",
      "0000320193-26-000020",
      "aapl-20260627.htm",
      "…"
    ]
  ],
  "next": "read_filing with company and accession (and document for an exhibit) returns the text.",
  "source": "https://efts.sec.gov/LATEST/search-index (EDGAR full-text search, filings from 2001)",
  "limits": [
    "From SEC EDGAR as filed; Canli Capital does not edit or verify the filers' statements.",
    "Not investment advice."
  ]
}

Prices, filings and statistics are as the sources published them on that day; run the call again for today's. Nothing here is investment advice.

The tools behind the answer

From canli-mcp's tool index
ToolPackWhat it does
search_filingsmarketsFull-text search across all SEC filings since 2001 (EDGAR full-text search): which companies mention a phrase, filtered by form, filer and dates. Quote phrases.
read_filingmarketsThe text of an SEC filing: the latest of a form, or one by accession. For a 10-K or 10-Q, section returns one item ("risk factors", "md&a", "business", "market risk", "legal proceedings", or a number such as "1A"); without it the result lists the items and their lengths. document reads an exhibit, such as an 8-K's press release ("EX-99.1"). find returns only the passages with given words ("employees", "buyback"), the fastest way to a fact in a long filing; otherwise long text pages with offset.

Add canli-mcp

Claude Code
claude mcp add canli -- npx -y canli-mcp
Cursor, Claude Desktop or any MCP client
{ "mcpServers": { "canli": { "command": "npx", "args": ["-y", "canli-mcp"] } } }
claude.ai, ChatGPT or any client that takes a URL
https://canlicapital.com/mcp/canli

Everything canli-mcp does · How it compares with other finance MCP servers

Related questions