🔗 MCP API

Tool Reference

Complete reference for the tools exposed by the FinFeedAPI SEC MCP server.

SEC MCP Tool Reference

The SEC MCP server currently exposes 6 tools.

Filing discovery tools

filings_query

Query SEC filing metadata using structured filters such as company identifiers, form type, dates, sorting, and pagination.

Optional arguments

ArgumentTypeDescription
cikintegerFilter by Central Index Key.
tickerstringFilter by stock ticker symbol.
form_typestringOne or more SEC form types such as 10-K or 8-K. Multiple values can be comma-separated.
filling_date_startstringFiling date lower bound in YYYY-MM-DD format.
filling_date_endstringFiling date upper bound in YYYY-MM-DD format.
report_date_startstringReport date lower bound in YYYY-MM-DD format.
report_date_endstringReport date upper bound in YYYY-MM-DD format.
items_containstringFilter filings where the Items field contains specific text.
page_sizeintegerNumber of results per page. Default 50, maximum 200.
page_numberintegerPage number to retrieve. Default 1.
sort_bystringSort field: AccessionNumber, FilingDate, ReportDate, AcceptanceDateTime, or Size.
sort_orderstringSort direction, typically asc or desc. Default desc.

Use when

  • You already know the company and want filing metadata.
  • You want a controlled metadata query rather than full-text document search.
  • You need accession numbers for later extraction or downloads.

Perform case-insensitive full-text search across SEC filing documents with filtering, sorting, and pagination.

Optional arguments

ArgumentTypeDescription
form_typestringOne or more form types such as 10-K or 8-K. Multiple values can be comma-separated.
filling_date_startstringFiling date lower bound in YYYY-MM-DD format.
filling_date_endstringFiling date upper bound in YYYY-MM-DD format.
text_containsstringKeywords the filing text must contain. Multiple values can be comma-separated.
text_not_containstringKeywords the filing text must not contain. Multiple values can be comma-separated.
page_sizeintegerNumber of results per page. Default 100.
page_numberintegerPage number to retrieve. Default 1.
sort_bystringSort field such as AccessionNumber, FormType, FilingDate, CompanyName, CIK, DocumentFilename, or DocumentDescription.
sort_orderstringSort direction. Default asc.

Use when

  • You want to discover filings by phrases or keywords.
  • You do not know the exact company or accession number yet.
  • You need content-based discovery before extraction.

Filing extraction tools

extractor_extract_filing

Extract and classify the full filing content for supported forms.

Supported forms include:

  • 8-K
  • 10-K
  • 10-Q

Required arguments

ArgumentTypeDescription
accession_numberstringSEC filing accession number used to retrieve the filing from EDGAR.

Optional arguments

ArgumentTypeDescription
typestringOutput format: text or html. Default is plain text behavior.

Use when

  • You need the full filing body for downstream analysis.
  • You want a classified output rather than a raw file download.
  • You are not yet sure which item sections are relevant.

extractor_extract_item

Extract only a specific item from an SEC filing.

Required arguments

ArgumentTypeDescription
accession_numberstringSEC filing accession number used to retrieve the filing from EDGAR.
item_numberstringFiling item to extract, for example 1.01, 2.01, or 7.01.

Optional arguments

ArgumentTypeDescription
typestringOutput format: text or html. Default is plain text behavior.

Item format guidance

  • Use decimals such as 1.01 or 2.01 for 8-K.
  • Use simple section numbering such as 1 or 2 for 10-K and 10-Q.

Use when

  • You need only one section rather than the full filing.
  • You are extracting material events from 8-K filings.
  • You want to reduce downstream token usage or parsing work.

Raw file and XBRL tools

download_file

Download a specific file from the SEC EDGAR archive for a filing package.

Required arguments

ArgumentTypeDescription
accession_nostringSEC filing accession number in the format 0000000000-00-000000.
file_namestringExact file name to download from the filing package.

Returns

The tool description states that the response includes:

  • File content as a base64-encoded string
  • Content type
  • File name

Use when

  • You need the original filing attachment.
  • You want to retrieve XML, HTML, XSD, or related filing artifacts.
  • You are preparing a file for your own parser or storage pipeline.

xbrl_convert

Convert SEC XBRL data into JSON.

This tool supports three input methods. Provide only one of them.

Optional arguments

ArgumentTypeDescription
htm_urlstringFiling HTML URL ending with .htm or .html.
xbrl_urlstringXBRL file URL ending with .xml.
accession_nostringSEC filing accession number.

Use when

  • You need normalized JSON instead of raw XBRL documents.
  • You already have an accession number and want the simplest conversion path.
  • You want to convert directly from a filing HTML URL or a specific XBRL XML file.

Practical examples

Example: recent Apple filings

{
  "tool": "filings_query",
  "arguments": {
    "ticker": "AAPL",
    "form_type": "10-K,10-Q,8-K",
    "page_size": 10,
    "page_number": 1,
    "sort_by": "FilingDate",
    "sort_order": "desc"
  }
}

Example: keyword search across 8-K filings

{
  "tool": "fulltext_search",
  "arguments": {
    "form_type": "8-K",
    "text_contains": "material agreement",
    "filling_date_start": "2025-01-01",
    "filling_date_end": "2025-12-31",
    "page_size": 25,
    "page_number": 1
  }
}

Example: extract one 8-K item

{
  "tool": "extractor_extract_item",
  "arguments": {
    "accession_number": "0000320193-25-000073",
    "item_number": "1.01",
    "type": "text"
  }
}

Example: extract the full filing as HTML

{
  "tool": "extractor_extract_filing",
  "arguments": {
    "accession_number": "0000320193-25-000073",
    "type": "html"
  }
}

Example: download an XBRL attachment

{
  "tool": "download_file",
  "arguments": {
    "accession_no": "0001564590-21-004599",
    "file_name": "tsla-10k_20201231_htm.xml"
  }
}

Example: convert XBRL by accession number

{
  "tool": "xbrl_convert",
  "arguments": {
    "accession_no": "0001564590-21-004599"
  }
}

Usage guidance

  • Start with filings_query if you know the company, ticker, or date range.
  • Start with fulltext_search if you know the topic or phrase but not the exact filing.
  • Use accession numbers as the bridge between discovery and extraction.
  • Prefer extractor_extract_item over full-filing extraction when you only need a targeted section.
  • Use download_file when you need the original archive asset rather than processed content.
  • Use xbrl_convert when downstream systems expect normalized JSON.
  • Keep the schema naming exactly as exposed by the server, including filling_date_*.
Service StatusGitHub SDK