Skip to main content
Glama

Financial Modeling Prep MCP Server

Apache 2.0
17
59
  • Linux
  • Apple
SECFilingsClient.tsโ€ข7.41 kB
import { FMPClient } from "../FMPClient.js"; import type { FMPContext } from "../../types/index.js"; import type { SECFiling, CompanySearchResult, CompanyProfile, IndustryClassification, Form8KParams, FinancialsParams, FormTypeParams, SymbolParams, CIKParams, CompanyNameSearchParams, CompanySymbolSearchParams, CompanyCIKSearchParams, CompanyProfileParams, IndustrySearchParams, IndustryClassificationSearchParams, AllIndustryClassificationParams, SECFilingFormType, } from "./types.js"; export class SECFilingsClient extends FMPClient { constructor(apiKey?: string) { super(apiKey); } /** * Get latest 8-K SEC filings for a date range * @param params Filing search parameters * @param options Optional parameters including abort signal and context */ async getLatest8KFilings( params: Form8KParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SECFiling[]> { return this.get<SECFiling[]>( `/sec-filings-8k`, { from: params.from, to: params.to, page: params.page, limit: params.limit, }, options ); } /** * Get latest SEC filings with financial statements for a date range * @param params Filing search parameters with financials * @param options Optional parameters including abort signal and context */ async getLatestFinancialFilings( params: FinancialsParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SECFiling[]> { return this.get<SECFiling[]>( `/sec-filings-financials`, { from: params.from, to: params.to, page: params.page, limit: params.limit, }, options ); } /** * Get SEC filings by form type for a date range * @param params Form type search parameters * @param options Optional parameters including abort signal and context */ async getFilingsByFormType( params: FormTypeParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SECFilingFormType[]> { return this.get<SECFilingFormType[]>( `/sec-filings-search/form-type`, { formType: params.formType, from: params.from, to: params.to, page: params.page, limit: params.limit, }, options ); } /** * Get SEC filings by symbol for a date range * @param params Symbol search parameters * @param options Optional parameters including abort signal and context */ async getFilingsBySymbol( params: SymbolParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SECFilingFormType[]> { return this.get<SECFilingFormType[]>( `/sec-filings-search/symbol`, { symbol: params.symbol, from: params.from, to: params.to, page: params.page, limit: params.limit, }, options ); } /** * Get SEC filings by CIK for a date range * @param params CIK search parameters * @param options Optional parameters including abort signal and context */ async getFilingsByCIK( params: CIKParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SECFilingFormType[]> { return this.get<SECFilingFormType[]>( `/sec-filings-search/cik`, { cik: params.cik, from: params.from, to: params.to, page: params.page, limit: params.limit, }, options ); } /** * Search for companies by name * @param params Company name search parameters * @param options Optional parameters including abort signal and context */ async searchCompaniesByName( params: CompanyNameSearchParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanySearchResult[]> { return this.get<CompanySearchResult[]>( `/sec-filings-company-search/name`, { company: params.company, }, options ); } /** * Search for companies by symbol * @param params Company symbol search parameters * @param options Optional parameters including abort signal and context */ async searchCompaniesBySymbol( params: CompanySymbolSearchParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanySearchResult[]> { return this.get<CompanySearchResult[]>( `/sec-filings-company-search/symbol`, { symbol: params.symbol, }, options ); } /** * Search for companies by CIK * @param params Company CIK search parameters * @param options Optional parameters including abort signal and context */ async searchCompaniesByCIK( params: CompanyCIKSearchParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanySearchResult[]> { return this.get<CompanySearchResult[]>( `/sec-filings-company-search/cik`, { cik: params.cik, }, options ); } /** * Get company full profile * @param params Company profile parameters * @param options Optional parameters including abort signal and context */ async getCompanyProfile( params: CompanyProfileParams, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanyProfile[]> { return this.get<CompanyProfile[]>( `/sec-profile`, { symbol: params.symbol, cik: params.cik, }, options ); } /** * Get industry classification list * @param params Industry search parameters * @param options Optional parameters including abort signal and context */ async getIndustryClassificationList( params: IndustrySearchParams = {}, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<IndustryClassification[]> { return this.get<IndustryClassification[]>( `/standard-industrial-classification-list`, { industryTitle: params.industryTitle, sicCode: params.sicCode, }, options ); } /** * Search for industry classifications * @param params Industry classification search parameters * @param options Optional parameters including abort signal and context */ async searchIndustryClassification( params: IndustryClassificationSearchParams = {}, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanySearchResult[]> { return this.get<CompanySearchResult[]>( `/industry-classification-search`, { symbol: params.symbol, cik: params.cik, sicCode: params.sicCode, }, options ); } /** * Get all industry classifications * @param params Industry classification pagination parameters * @param options Optional parameters including abort signal and context */ async getAllIndustryClassification( params: AllIndustryClassificationParams = {}, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CompanySearchResult[]> { return this.get<CompanySearchResult[]>( `/all-industry-classification`, { page: params.page, limit: params.limit, }, options ); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imbenrabi/Financial-Modeling-Prep-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server