Sign inSign up

mcp/sec-edgar

Verified Publisher

By mcp

Updated 11 months ago

MCP server to interact with the US SEC EDGAR database, developed by the community and maintained ...

Image
Machine learning & AI
2

9.0K

mcp/sec-edgar repository overview

SEC EDGAR MCP Server

MCP server to interact with the US SEC EDGAR database, developed by the community and maintained by Stefano Amorelli.

What is an MCP Server?

MCP Info

Image Building InfoDockerfile|https://github.com/stefanoamorelli/sec-edgar-mcp/blob/main/Dockerfile

Docker Image built by|Docker Inc. Docker Scout Health Score| Docker Scout Health Score Verify Signature|COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/sec-edgar --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub Licence|GNU Affero General Public License v3.0

Available Tools (21)

Tools provided by this ServerShort Description
analyze_8kAnalyze an 8-K filing for specific events and items.
analyze_form4_transactionsAnalyze Form 4 filings and extract detailed transaction data including insider names, transaction amounts, share counts, prices, and ownership details.
analyze_insider_sentimentAnalyze insider trading sentiment and trends over time.
compare_periodsCompare a financial metric across different time periods.
discover_company_metricsDiscover available financial metrics for a company.
discover_xbrl_conceptsDiscover all available XBRL concepts in a filing, including company-specific ones.
get_cik_by_tickerGet the CIK (Central Index Key) for a company based on its ticker symbol.
get_company_factsGet company facts and key financial metrics.
get_company_infoGet detailed information about a company from SEC records.
get_filing_contentGet the content of a specific SEC filing.
get_filing_sectionsGet specific sections from a filing (e.g., business description, risk factors, MD&A).
get_financialsGet financial statements for a company.
get_form4_detailsGet detailed information from a specific Form 4 filing.
get_insider_summaryGet a summary of insider trading activity for a company from SEC filings.
get_insider_transactionsGet insider trading transactions for a company from SEC filings.
get_key_metricsGet key financial metrics for a company.
get_recent_filingsGet recent SEC filings for a company or across all companies.
get_recommended_toolsGet recommended tools for analyzing specific form types.
get_segment_dataGet revenue breakdown by segments (geographic, product, etc.).
get_xbrl_conceptsADVANCED TOOL: Extract specific XBRL concepts from a filing.
search_companiesSearch for companies by name.

Tools Details

Tool: analyze_8k

Analyze an 8-K filing for specific events and items.

ParametersTypeDescription
accession_numberstringThe accession number of the 8-K filing
identifierstringCompany ticker symbol or CIK number

Tool: analyze_form4_transactions

Analyze Form 4 filings and extract detailed transaction data including insider names, transaction amounts, share counts, prices, and ownership details.

USE THIS TOOL when users ask for detailed insider transaction analysis, transaction tables, or specific transaction amounts from Form 4 filings.

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY use data from the returned SEC Form 4 filings. NEVER add external information.
  • ALWAYS include the filing reference information with clickable SEC URLs.
  • PRESERVE EXACT NUMERIC VALUES - NO ROUNDING! Show exact share counts and prices.
  • ALWAYS specify the exact filing date and accession number for each transaction.
  • Present data in table format when requested by users.
  • Be completely deterministic - same query should always give same response.
  • If data is not in the filing, say "Not available in this filing" - DO NOT guess. Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number days|integer optional|Number of days to look back (default: 90) limit|integer optional|Maximum number of filings to analyze (default: 50)

Tool: analyze_insider_sentiment

Analyze insider trading sentiment and trends over time.

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number
monthsinteger optionalNumber of months to analyze (default: 6)

Tool: compare_periods

Compare a financial metric across different time periods.

ParametersTypeDescription
end_yearintegerEnding year for comparison
identifierstringCompany ticker symbol or CIK number
metricstringThe financial metric to compare (e.g., "Revenues", "NetIncomeLoss")
start_yearintegerStarting year for comparison

Tool: discover_company_metrics

Discover available financial metrics for a company.

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number
search_termstring optionalOptional search term to filter metrics

Tool: discover_xbrl_concepts

Discover all available XBRL concepts in a filing, including company-specific ones.

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number
accession_numberstring optionalOptional specific filing accession number
form_typestring optionalForm type if no accession number provided (default: "10-K")
namespace_filterstring optionalOptional filter to show only concepts from specific namespace

Tool: get_cik_by_ticker

Get the CIK (Central Index Key) for a company based on its ticker symbol.

ParametersTypeDescription
tickerstringThe ticker symbol of the company (e.g., "NVDA", "AAPL")

Tool: get_company_facts

Get company facts and key financial metrics.

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number

Tool: get_company_info

Get detailed information about a company from SEC records.

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY use data returned from SEC records. NEVER add external information.
  • ALWAYS include any filing reference information if provided.
  • Be completely deterministic - same query should always give same response.
  • If information is not in SEC records, say "Not available in SEC records". Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number

Tool: get_filing_content

Get the content of a specific SEC filing.

ParametersTypeDescription
accession_numberstringThe accession number of the filing
identifierstringCompany ticker symbol or CIK number

Tool: get_filing_sections

Get specific sections from a filing (e.g., business description, risk factors, MD&A).

ParametersTypeDescription
accession_numberstringThe accession number of the filing
form_typestringThe type of form (e.g., "10-K", "10-Q")
identifierstringCompany ticker symbol or CIK number

Tool: get_financials

Get financial statements for a company. USE THIS TOOL when users ask for:

  • Cash flow, cash flow statement, operating cash flow, investing cash flow, financing cash flow
  • Income statement, revenue, net income, earnings, profit/loss, operating income
  • Balance sheet, assets, liabilities, equity, cash and cash equivalents
  • Any financial statement data or financial metrics

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY use data from the returned SEC filing. NEVER add external information.
  • ALWAYS include the filing reference information with clickable SEC URL in your response.
  • NEVER estimate, calculate, or interpret data beyond what is explicitly in the filing.
  • PRESERVE EXACT NUMERIC PRECISION - NO ROUNDING! Show exact values like $37,044,000,000 not $37.0B.
  • ALWAYS state the exact filing date and form type when presenting data.
  • Be completely deterministic - same query should always give same response.
  • If data is not in the filing, say "Not available in this filing" - DO NOT guess. Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number statement_type|string optional|Type of statement ("income", "balance", "cash", or "all")

Tool: get_form4_details

Get detailed information from a specific Form 4 filing.

ParametersTypeDescription
accession_numberstringThe accession number of the Form 4
identifierstringCompany ticker symbol or CIK number

Tool: get_insider_summary

Get a summary of insider trading activity for a company from SEC filings.

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY use data from the returned SEC insider filings. NEVER add external information.
  • ALWAYS include the filing reference information with SEC URLs in your response.
  • PRESERVE EXACT COUNTS AND DATES - NO ROUNDING OR ESTIMATES!
  • Be completely deterministic - same query should always give same response.
  • If data is not in the filing, say "Not available in filings" - DO NOT guess. Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number days|integer optional|Number of days to analyze (default: 180)

Tool: get_insider_transactions

Get insider trading transactions for a company from SEC filings.

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY use data from the returned SEC insider filings. NEVER add external information.
  • ALWAYS include the filing reference information with clickable SEC URLs in your response.
  • NEVER estimate or calculate values not explicitly present in the filings.
  • PRESERVE EXACT DATES AND VALUES - NO ROUNDING! Show exact values from filings.
  • ALWAYS specify the exact filing date and accession number for each transaction.
  • Be completely deterministic - same query should always give same response.
  • If data is not in the filing, say "Not available in this filing" - DO NOT guess. Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number days|integer optional|Number of days to look back (default: 90) form_types|array optional|List of form types to include (default: ["3", "4", "5"]) limit|integer optional|Maximum number of transactions to return (default: 50)

Tool: get_key_metrics

Get key financial metrics for a company.

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number
metricsarray optionalList of specific metrics to retrieve (optional)

Tool: get_recent_filings

Get recent SEC filings for a company or across all companies.

ParametersTypeDescription
daysinteger optionalNumber of days to look back (default: 30)
form_typestring optionalSpecific form type to filter (e.g., "10-K", "10-Q", "8-K")
identifierstring optionalCompany ticker/CIK (optional, if not provided returns all recent filings)
limitinteger optionalMaximum number of filings to return (default: 50)

Get recommended tools for analyzing specific form types.

ParametersTypeDescription
form_typestringThe SEC form type (e.g., "10-K", "8-K", "4")

Tool: get_segment_data

Get revenue breakdown by segments (geographic, product, etc.).

ParametersTypeDescription
identifierstringCompany ticker symbol or CIK number
segment_typestring optionalType of segment analysis (default: "geographic")

Tool: get_xbrl_concepts

ADVANCED TOOL: Extract specific XBRL concepts from a filing.

DO NOT USE for general financial data requests. Use get_financials() instead for:

  • Cash flow statements, income statements, balance sheets
  • Revenue, net income, assets, liabilities, cash data

CRITICAL INSTRUCTIONS FOR LLM RESPONSES:

  • ONLY report values found in the specific SEC filing. NEVER add context from other sources.
  • ALWAYS include the filing reference information with clickable SEC URL (date, accession number, SEC URL).
  • NEVER estimate or calculate values not explicitly present in the filing.
  • PRESERVE EXACT NUMERIC PRECISION - NO ROUNDING! Show exact values like $37,044,000,000 not $37.0B.
  • ALWAYS specify the exact period/context for each value from the filing.
  • Be completely deterministic - identical queries must give identical responses.
  • If a concept is not found in the filing, state "Not found in this filing" - DO NOT guess. Parameters|Type|Description -|-|- identifier|string|Company ticker symbol or CIK number accession_number|string optional|Optional specific filing accession number concepts|array optional|Optional list of specific concepts to extract (e.g., ["Revenues", "Assets"]) form_type|string optional|Form type if no accession number provided (default: "10-K")

Tool: search_companies

Search for companies by name.

ParametersTypeDescription
querystringSearch query for company name
limitinteger optionalMaximum number of results to return (default: 10)

Use this MCP Server

{
  "mcpServers": {
    "sec-edgar": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "SEC_EDGAR_USER_AGENT",
        "mcp/sec-edgar"
      ],
      "env": {
        "SEC_EDGAR_USER_AGENT": "Your Name ([email protected])"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Tag summary

Content type

Image

Digest

sha256:c8b58de25

Size

155.1 MB

Last updated

11 months ago

docker pull mcp/sec-edgar

This week's pulls

Pulls:

3

Last week