Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SEC_USER_AGENTNoThe name and e-mail the SEC asks every program to send (e.g. "Your Name you@example.com"). Leave it out and a built-in default is sent; everything still works.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
analyze_8k_filingB

Get and summarize the latest 8-K filing for a company.

Args: ticker: Stock ticker symbol

Returns: Dictionary containing 8-K summary with actual content

download_filing_textA

Read or search the text of one SEC filing document. Three modes, chosen automatically:

  • mode 'text': returns content in pages of max_length characters. If has_more is true, call again with offset=next_offset to keep reading.

  • mode 'search': when search is given, returns snippets around each match with its position (use offset=position to read that part).

  • mode 'link_only': when the document is larger than the size limit, returns only the link and size so the user can open it. The exact size is checked BEFORE downloading.

Args: filing_url: Filing document URL (https://www.sec.gov/Archives/edgar/data/...) max_length: Characters per page (default 50,000) offset: Character position to start reading from (default 0) search: Optional word or phrase to find inside the filing (case-insensitive)

Returns: Dictionary with mode, filing_url, size_mb, total_characters and content/snippets

full_text_searchA

Search the full text of every EDGAR filing since 2001 (words or "exact phrase").

Args: query: Words to find, e.g. 'tariffs' or '"going concern"' for an exact phrase form_type: Optional form filter, e.g. '8-K' or '10-K,10-Q' start_date: Optional YYYY-MM-DD (default: one year ago; use '2001-01-01' for all history) end_date: Optional YYYY-MM-DD (default: today) limit: Max results (1-100, default 20)

Returns: Matching filings (newest first) with company, form, date and a link to the matching document

get_13f_holdingsA

Get the latest 13F portfolio of an institutional investment manager.

Args: ticker_or_cik: Manager ticker (e.g. 'BRK-B') or CIK (e.g. '1350694' for Bridgewater) limit: Number of top positions to return (default 25)

Returns: Report period, total value, top_issuers (one row per company, share classes combined; use this for "largest holdings") and top_positions (one row per security: CUSIP, share class, put/call)

get_available_metricsA

Discover available financial metrics for a company from SEC XBRL data.

This function lists ALL available metrics that can be requested via specific_metrics. Useful for AI to find exactly which metrics are available before requesting them.

Args: ticker: Stock ticker symbol (e.g., 'GME', 'AAPL') search_term: Optional search term to filter metrics (e.g., 'EBITDA', 'Revenue', 'Debt')

Returns: Dict containing: - all_metrics: List of ALL available metric names - filtered_metrics: List of metrics matching search_term (if provided) - metric_categories: Organized by category (income, balance_sheet, cash_flow, etc) - total_available: Total number of available metrics - example_ttm_metrics: Example metrics useful for TTM calculations

get_beneficial_ownershipB

Get beneficial ownership reports (13D, 13G) for a company.

Args: ticker: Stock ticker symbol limit: Number of reports to return schedule: 'all' (default), '13D' (activist or control intent) or '13G' (passive holder)

Returns: Dictionary containing beneficial ownership information

get_company_conceptB

Get specific financial concept data for a company.

Args: ticker: Stock ticker symbol concept: XBRL concept (e.g., 'Revenues', 'NetIncomeLoss', 'Assets')

Returns: Dictionary containing concept data over time

get_company_factsB

Get company facts from SEC XBRL data.

Args: ticker: Stock ticker symbol

Returns: Dictionary containing company facts and financial metrics

get_company_filingsA

Get SEC filings for a company by ticker symbol.

Args: ticker: Stock ticker symbol (e.g., 'AAPL', 'TSLA') form_type: SEC form type (e.g., '10-K', '10-Q', '8-K'). Can be a single string or a list of strings. If None, returns all forms. limit: Maximum number of filings to return (default: 10) start_date: Start date for filing search (YYYY-MM-DD format) end_date: End date for filing search (YYYY-MM-DD format)

Returns: Dictionary containing filing information

get_filing_contentA

Get SEC financial data - SMART & EFFICIENT dual-mode approach.

╔════════════════════════════════════════════════════════════════════╗ ║ GENERIC MODE (no specific_metrics parameter) ║ ║ - Returns 13 essential metrics for any financial analysis ║ ║ - 5 historical values per metric (sufficient for TTM calc) ║ ║ - Most token-efficient for general questions ║ ║ - Includes: Net Income, Revenues, Interest Expense, Taxes, ║ ║ Operating Income, Gross Profit, Assets, Liabilities, Equity, ║ ║ Depreciation, Shares Outstanding, Cash, Long-term Debt ║ ╚════════════════════════════════════════════════════════════════════╝

╔════════════════════════════════════════════════════════════════════╗ ║ SPECIFIC MODE (provide specific_metrics parameter) ║ ║ - Returns ONLY the requested metrics you specify ║ ║ - Perfect for targeted analysis (TTM EBITDA, leverage ratios) ║ ║ - Minimal token usage - only fetch what you need ║ ║ - Example: ['NetIncomeLoss', 'DepreciationDepletionAndAmortization',║ ║ 'InterestExpense', 'IncomeTaxExpenseBenefit'] ║ ║ - Use get_available_metrics(ticker) to discover all metrics ║ ╚════════════════════════════════════════════════════════════════════╝

WORKFLOW FOR TTM CALCULATIONS:

  1. Call: get_available_metrics(ticker='GME', search_term='Depreciation')

  2. Find needed metrics from results

  3. Call: get_filing_content(ticker='GME', specific_metrics=['NetIncomeLoss', ...])

  4. Calculate TTM from 5 historical values (last 4 quarters + 1 prior)

FILE HANDLING (get_full_content=True):

  • The exact document size is checked first (EDGAR filing index)

  • Up to 25MB: first 50,000 characters in full_content; if has_more, continue with download_filing_text(filing_url, offset=next_offset) or search it with search='keyword'

  • Over 25MB: link only (file_too_large=True), AI told via ai_note

Args: ticker: Stock ticker symbol (e.g., 'GME', 'AAPL') filing_type: Type of filing - '10-Q', '10-K', '8-K', etc. (None = get latest) get_full_content: If True, check and optionally download full filing text specific_metrics: List of specific metric names to fetch. If None, returns 13 essential metrics (generic mode). Example: ['NetIncomeLoss', 'Revenues', 'DepreciationDepletionAndAmortization'] Use get_available_metrics() to discover what's available.

Returns: Dict containing: - ticker, cik, company_name: Company identification - financial_metrics: Dict of requested/essential metrics with 5 historical values each - filing_date, filing_type: Filing metadata - mode: "generic" or "specific" - metrics_returned, values_per_metric: Data shape info - content_mode: 'text' or 'link_only' - full_content, has_more, next_offset: first page of the filing text - file_size_mb, filing_url, ai_note: size, link and what to do next

get_filing_documentsA

List every document in a filing (main document, exhibits, XBRL, XML) with sizes and links.

Args: filing_url: Any URL inside the filing folder (https://www.sec.gov/Archives/edgar/data/CIK/ACCESSION/...)

Returns: Dictionary with the filing folder and its documents (name, size_bytes, url)

get_filing_sizeA

Get the exact size of a filing document BEFORE downloading it.

Use this to decide between reading the text (download_filing_text) and giving the user the link only. Sizes come from the EDGAR filing index.

Args: filing_url: Filing document URL (https://www.sec.gov/Archives/edgar/data/...)

Returns: size_bytes, size_mb, recommendation ('read_text' or 'link_only') and filing_url

get_insider_transactionsB

Get insider trading transactions (Forms 3, 4, 5) for a company.

Args: ticker: Stock ticker symbol limit: Number of transactions to return

Returns: Dictionary containing insider transaction information

get_latest_10kA

Get the latest 10-K filing for a company: filing link plus a SHORT preview of its text.

The preview is only the first 10,000 characters (cover page and first statements). When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) pages through the rest, download_filing_text(filing_url, search='...') jumps to a section.

Args: ticker: Stock ticker symbol

Returns: Dictionary with the 10-K filing: filing_url, content_preview, preview_characters, total_characters, preview_is_partial and read_more

get_latest_10qA

Get the latest 10-Q filing for a company: filing link plus a SHORT preview of its text.

The preview is only the first 10,000 characters (cover page and first statements). When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) pages through the rest, download_filing_text(filing_url, search='...') jumps to a section.

Args: ticker: Stock ticker symbol

Returns: Dictionary with the 10-Q filing: filing_url, content_preview, preview_characters, total_characters, preview_is_partial and read_more

get_proxy_statementsB

Get proxy statements (DEF 14A) for a company.

Args: ticker: Stock ticker symbol limit: Number of proxy statements to return

Returns: Dictionary containing proxy statement information

get_recent_8k_filingsA

Get recent 8-K filings for a company with a SHORT preview of each.

Each preview is only the first 5,000 characters. When preview_is_partial is true, follow read_more: download_filing_text(filing_url, offset=...) or download_filing_text(filing_url, search='...').

Args: ticker: Stock ticker symbol limit: Number of recent 8-K filings to return

Returns: Dictionary with 8-K filings: filing_url, content_preview, preview_characters, total_characters, preview_is_partial, read_more and extracted items

get_recent_iposA

Get recent IPO activity from EDGAR.

Args: limit: Max companies per list (default 20) days: Look-back window in days (default 30)

Returns: priced: final prospectuses (424B4, filed when an offering is priced) registrations: new S-1 / F-1 registration statements (companies preparing to list)

get_sec_api_statusB

Check SEC API status and connectivity.

Returns: Dictionary containing API status information

get_xbrl_framesA

Compare one financial concept across ALL reporting companies for one period.

Args: concept: XBRL tag, e.g. 'Revenues', 'NetIncomeLoss', 'Assets' period: 'CY2024' (annual), 'CY2024Q3' (quarter) or 'CY2024Q4I' (balance-sheet instant) unit: 'USD' (default), 'USD-per-shares', 'shares' taxonomy: 'us-gaap' (default), 'ifrs-full', 'dei' limit: Number of top companies to return (default 20)

Returns: Companies ranked by value for that concept and period

run_self_testA

Run comprehensive self-test of all SEC-AI tools.

Returns: Dictionary containing test results

search_filingsB

Search SEC filings by company name or other criteria.

Args: query: Search query (company name, ticker, etc.) form_type: SEC form type to filter by start_date: Start date for search (YYYY-MM-DD) end_date: End date for search (YYYY-MM-DD) limit: Maximum number of results

Returns: Dictionary containing search results

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 22 tools

Disambiguation3/5

Several tools overlap in retrieving filings and financial data: get_company_filings, search_filings, and full_text_search all return filings; get_filing_content, get_company_facts, get_company_concept, get_available_metrics and get_latest_10k/10q all expose XBRL/financial data. Descriptions provide detail, but an agent could easily misselect among these. Some distinctions are clear (e.g., ownership forms, IPO, admin), but the financial/filing cluster is crowded.

Naming Consistency4/5

Nearly all tools use snake_case and a get_* prefix for retrievals, with a few verb variations (analyze_8k_filing, download_filing_text, search_filings, full_text_search, run_self_test). The pattern is predictable overall, though full_text_search lacks an explicit verb and search_filings breaks the get_* convention. Minor deviations only.

Tool Count3/5

22 tools for a broad SEC data server is on the heavy side; several financial-data tools could potentially be consolidated (e.g., get_company_facts, get_company_concept, get_available_metrics, get_filing_content). Many tools cover distinct form types and data domains, but the count feels slightly over-scoped rather than lean.

Completeness4/5

The surface covers filings, financial metrics, ownership (13F, 13D/G, insider, proxy), IPOs, XBRL frames, and admin checks, which is comprehensive for SEC EDGAR data. Minor gaps exist (e.g., no explicit tool for comparing a company's metrics across periods beyond get_company_concept/get_filing_content's 5 values, and no section-level extraction beyond text search). Overall, agents can complete most SEC research workflows.