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
| Argument | Type | Description |
|---|---|---|
cik | integer | Filter by Central Index Key. |
ticker | string | Filter by stock ticker symbol. |
form_type | string | One or more SEC form types such as 10-K or 8-K. Multiple values can be comma-separated. |
filling_date_start | string | Filing date lower bound in YYYY-MM-DD format. |
filling_date_end | string | Filing date upper bound in YYYY-MM-DD format. |
report_date_start | string | Report date lower bound in YYYY-MM-DD format. |
report_date_end | string | Report date upper bound in YYYY-MM-DD format. |
items_contain | string | Filter filings where the Items field contains specific text. |
page_size | integer | Number of results per page. Default 50, maximum 200. |
page_number | integer | Page number to retrieve. Default 1. |
sort_by | string | Sort field: AccessionNumber, FilingDate, ReportDate, AcceptanceDateTime, or Size. |
sort_order | string | Sort 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.
fulltext_search
Perform case-insensitive full-text search across SEC filing documents with filtering, sorting, and pagination.
Optional arguments
| Argument | Type | Description |
|---|---|---|
form_type | string | One or more form types such as 10-K or 8-K. Multiple values can be comma-separated. |
filling_date_start | string | Filing date lower bound in YYYY-MM-DD format. |
filling_date_end | string | Filing date upper bound in YYYY-MM-DD format. |
text_contains | string | Keywords the filing text must contain. Multiple values can be comma-separated. |
text_not_contain | string | Keywords the filing text must not contain. Multiple values can be comma-separated. |
page_size | integer | Number of results per page. Default 100. |
page_number | integer | Page number to retrieve. Default 1. |
sort_by | string | Sort field such as AccessionNumber, FormType, FilingDate, CompanyName, CIK, DocumentFilename, or DocumentDescription. |
sort_order | string | Sort 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-K10-K10-Q
Required arguments
| Argument | Type | Description |
|---|---|---|
accession_number | string | SEC filing accession number used to retrieve the filing from EDGAR. |
Optional arguments
| Argument | Type | Description |
|---|---|---|
type | string | Output 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
| Argument | Type | Description |
|---|---|---|
accession_number | string | SEC filing accession number used to retrieve the filing from EDGAR. |
item_number | string | Filing item to extract, for example 1.01, 2.01, or 7.01. |
Optional arguments
| Argument | Type | Description |
|---|---|---|
type | string | Output format: text or html. Default is plain text behavior. |
Item format guidance
- Use decimals such as
1.01or2.01for8-K. - Use simple section numbering such as
1or2for10-Kand10-Q.
Use when
- You need only one section rather than the full filing.
- You are extracting material events from
8-Kfilings. - 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
| Argument | Type | Description |
|---|---|---|
accession_no | string | SEC filing accession number in the format 0000000000-00-000000. |
file_name | string | Exact 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
| Argument | Type | Description |
|---|---|---|
htm_url | string | Filing HTML URL ending with .htm or .html. |
xbrl_url | string | XBRL file URL ending with .xml. |
accession_no | string | SEC 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_queryif you know the company, ticker, or date range. - Start with
fulltext_searchif you know the topic or phrase but not the exact filing. - Use accession numbers as the bridge between discovery and extraction.
- Prefer
extractor_extract_itemover full-filing extraction when you only need a targeted section. - Use
download_filewhen you need the original archive asset rather than processed content. - Use
xbrl_convertwhen downstream systems expect normalized JSON. - Keep the schema naming exactly as exposed by the server, including
filling_date_*.
