Skip to main content
Glama

Financial Modeling Prep MCP Server

Apache 2.0
17
59
  • Linux
  • Apple
DirectoryClient.tsโ€ข5.07 kB
import { FMPClient } from "../FMPClient.js"; import type { FMPContext } from "../../types/index.js"; import type { CompanySymbol, FinancialStatementSymbol, CIKEntry, SymbolChange, ETFEntry, ActivelyTradingEntry, EarningsTranscriptEntry, ExchangeEntry, SectorEntry, IndustryEntry, CountryEntry, } from "./types.js"; export class DirectoryClient extends FMPClient { constructor(apiKey?: string) { super(apiKey); } /** * Get a list of all company symbols * @param options Optional parameters including abort signal and context * @returns Array of company symbols */ async getCompanySymbols(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<CompanySymbol[]> { return super.get<CompanySymbol[]>("/stock-list", {}, options); } /** * Get a list of companies with available financial statements * @param options Optional parameters including abort signal and context * @returns Array of companies with financial statements */ async getFinancialStatementSymbols(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<FinancialStatementSymbol[]> { return super.get<FinancialStatementSymbol[]>( "/financial-statement-symbol-list", {}, options ); } /** * Get a list of CIK numbers for SEC-registered entities * @param limit Optional limit on number of results (default: 1000) * @param options Optional parameters including abort signal and context * @returns Array of CIK entries */ async getCIKList( limit?: number, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<CIKEntry[]> { return super.get<CIKEntry[]>("/cik-list", { limit }, options); } /** * Get a list of stock symbol changes * @param invalid Optional filter for invalid symbols (default: false) * @param limit Optional limit on number of results (default: 100) * @param options Optional parameters including abort signal and context * @returns Array of symbol changes */ async getSymbolChanges( invalid?: boolean, limit?: number, options?: { signal?: AbortSignal; context?: FMPContext; } ): Promise<SymbolChange[]> { return super.get<SymbolChange[]>( "/symbol-change", { invalid, limit }, options ); } /** * Get a list of ETFs * @param options Optional parameters including abort signal and context * @returns Array of ETF entries */ async getETFList(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<ETFEntry[]> { return super.get<ETFEntry[]>("/etf-list", {}, options); } /** * Get a list of actively trading companies * @param options Optional parameters including abort signal and context * @returns Array of actively trading companies */ async getActivelyTradingList(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<ActivelyTradingEntry[]> { return super.get<ActivelyTradingEntry[]>( "/actively-trading-list", {}, options ); } /** * Get a list of companies with earnings transcripts * @param options Optional parameters including abort signal and context * @returns Array of companies with earnings transcripts */ async getEarningsTranscriptList(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<EarningsTranscriptEntry[]> { return super.get<EarningsTranscriptEntry[]>( "/earnings-transcript-list", {}, options ); } /** * Get a list of available exchanges * @param options Optional parameters including abort signal and context * @returns Array of available exchanges */ async getAvailableExchanges(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<ExchangeEntry[]> { return super.get<ExchangeEntry[]>("/available-exchanges", {}, options); } /** * Get a list of available sectors * @param options Optional parameters including abort signal and context * @returns Array of available sectors */ async getAvailableSectors(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<SectorEntry[]> { return super.get<SectorEntry[]>("/available-sectors", {}, options); } /** * Get a list of available industries * @param options Optional parameters including abort signal and context * @returns Array of available industries */ async getAvailableIndustries(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<IndustryEntry[]> { return super.get<IndustryEntry[]>("/available-industries", {}, options); } /** * Get a list of available countries * @param options Optional parameters including abort signal and context * @returns Array of available countries */ async getAvailableCountries(options?: { signal?: AbortSignal; context?: FMPContext; }): Promise<CountryEntry[]> { return super.get<CountryEntry[]>("/available-countries", {}, 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