Skip to main content
Glama
imbenrabi

Financial Modeling Prep MCP Server

searchFundDisclosures

Read-onlyIdempotent

Search mutual fund and ETF disclosures by name to find reports, filings, CIK numbers, and entity details.

Instructions

Easily search for mutual fund and ETF disclosures by name using the Mutual Fund & ETF Disclosure Name Search API. This API allows you to find specific reports and filings based on the fund or ETF name, providing essential details like CIK number, entity information, and reporting file number.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the holder to search for

Implementation Reference

  • The tool handler for 'searchFundDisclosures'. Registers the tool with MCP server, takes a 'name' parameter, calls fundClient.searchDisclosures(name), and returns the results as JSON.
    server.tool(
      "searchFundDisclosures",
      "Easily search for mutual fund and ETF disclosures by name using the Mutual Fund & ETF Disclosure Name Search API. This API allows you to find specific reports and filings based on the fund or ETF name, providing essential details like CIK number, entity information, and reporting file number.",
      {
        name: z.string().describe("Name of the holder to search for"),
      },
      async ({ name }) => {
        try {
          const results = await fundClient.searchDisclosures(name);
          return {
            content: [{ type: "text", text: JSON.stringify(results, null, 2) }],
          };
        } catch (error) {
          return {
            content: [
              {
                type: "text",
                text: `Error: ${
                  error instanceof Error ? error.message : String(error)
                }`,
              },
            ],
            isError: true,
          };
        }
      }
    );
  • The API client method that calls the FMP '/funds/disclosure-holders-search' endpoint with the holder name to search fund disclosures.
    async searchDisclosures(
      name: string,
      options?: {
        signal?: AbortSignal;
        context?: FMPContext;
      }
    ): Promise<FundDisclosureSearch[]> {
      return super.get<FundDisclosureSearch[]>(
        "/funds/disclosure-holders-search",
        {
          name,
        },
        options
      );
    }
  • Type definition for the search results returned by searchDisclosures, containing fund/ETF disclosure search fields like symbol, CIK, entity name, series name, etc.
    export interface FundDisclosureSearch {
      symbol: string;
      cik: string;
      classId: string;
      seriesId: string;
      entityName: string;
      entityOrgType: string;
      seriesName: string; 
      className: string;
      reportingFileNumber: string;
      address: string;
      city: string;
      zipCode: string;
      state: string;
    }
  • The registration function that registers all fund tools (including searchFundDisclosures) with the MCP server.
    export function registerFundTools(
      server: McpServer,
      accessToken?: string
    ): void {
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint, idempotentHint, openWorldHint. Description adds context on return fields (CIK, entity info, file number) but no additional behavioral traits like rate limits or authentication. Value added beyond annotations is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences- front-loaded with primary purpose, second sentence adds useful return details. No extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with one parameter and annotations covering safety, the description explains what is returned and references the API. It lacks pagination or limit info but is sufficient for a basic search. Slightly better than adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and describes 'name' as 'Name of the holder to search for'. Description reinforces 'by name' but does not add new semantic constraints or examples. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'search for mutual fund and ETF disclosures by name', with specific verb and resource. It distinguishes from sibling tools like getFundDisclosure by indicating it returns multiple disclosures based on name search, and lists expected details (CIK, entity info, file number).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies usage when searching by fund name but does not provide explicit when-to-use or when-not-to-use guidance, nor names alternatives among the many sibling tools. Usage is implied but not differentiated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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