Skip to main content
Glama

Financial Modeling Prep MCP Server

Server Details

MCP server for Financial Modeling Prep API with 250+ financial data tools

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
imbenrabi/Financial-Modeling-Prep-MCP-Server
GitHub Stars
149
Server Listing
Financial Modeling Prep MCP Server
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct action and scope: enable/disable modify a single toolset, describe inspects one toolset, list_toolsets inspects all toolsets, and list_tools lists registered tool names. The overlap between describe_toolset and list_toolsets is resolved by singular vs plural scope. No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (describe_toolset, disable_toolset, enable_toolset, list_tools, list_toolsets). The minor singular/plural variation between list_tools and list_toolsets is natural and still predictable.

Tool Count5/5

Five tools are well-scoped for a meta-server that manages toolsets: enable, disable, describe, list toolsets, and list tools. Each tool earns its place without redundancy or bloat.

Completeness4/5

The core lifecycle for managing existing toolsets is covered: discovery (list_toolsets, describe_toolset, list_tools) and state changes (enable/disable). A minor gap is the absence of create/delete operations for toolsets, though the domain likely assumes predefined toolsets.

Available Tools

5 tools
describe_toolsetB
Read-onlyIdempotent
Inspect

Describe a toolset with definition, active status and tools

NameRequiredDescriptionDefault
nameYesToolset name

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds what information is returned ('definition, active status and tools'), which is useful output-related context, but it does not add behavioral details such as permissions, error behavior, or rate limits.

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?

A single sentence with no filler, front-loading the action and resource. Every word contributes to identifying the tool and its return contents.

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?

With no output schema, the description carries the burden of explaining return values, and it does state the main contents ('definition, active status and tools'). For a simple one-param read tool with strong annotations, this is largely complete, though it lacks detail on error cases or exact structure.

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 description coverage is 100% for the single 'name' parameter, so the schema already documents that it expects a toolset name. The description does not add format, constraints, or examples beyond what the schema provides, which is the baseline 3 when schema coverage is high.

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

Purpose4/5

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

States a specific verb ('Describe') and resource ('a toolset'), and adds the returned content ('definition, active status and tools'). It implicitly distinguishes from list_toolsets by being singular and detail-oriented, but does not explicitly name alternatives or fully sharpen the boundary with siblings.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus list_toolsets, list_tools, or enable/disable_toolset. Usage is only implied by the verb 'Describe' and the required name parameter; no alternatives or exclusion conditions are stated.

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

disable_toolsetA
Idempotent
Inspect

Disable a toolset by name and remove its tools

NameRequiredDescriptionDefault
nameYesToolset name

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false. The description adds the key side effect beyond the annotations — that disabling also removes the toolset's tools — which an agent could not learn from the schema. It stops short of saying whether the change is reversible (e.g., via enable_toolset) or whether any tools are lost permanently.

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?

One short sentence, front-loaded with verb+resource, with no redundant or filler text. Every clause earns its place.

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

Completeness5/5

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

For a one-parameter, no-output-schema mutation whose safety profile is covered by annotations, the description supplies what is missing: the removal side effect. Nothing essential to calling it correctly appears to be absent.

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?

There is a single parameter with 100% schema description coverage ('Toolset name'), so the schema already carries the load. The phrase 'by name' merely restates the schema and adds no syntax, format, or resolution detail beyond it.

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

Purpose4/5

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

States a specific verb (disable) and resource (toolset) and adds the consequence 'remove its tools', which is more informative than the bare name. The verb makes it clearly distinct from the sibling enable_toolset, though no sibling is named explicitly.

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?

Usage is only implied: the name and the existence of enable_toolset let an agent infer this is the inverse operation, but there is no explicit when-to-use, when-not-to-use, or stated alternative. Adequate minimum-viable guidance, nothing more.

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

enable_toolsetC
Idempotent
Inspect

Enable a toolset by name

NameRequiredDescriptionDefault
nameYesToolset name

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not say what enabling actually changes, whether an already-enabled toolset is a no-op, or whether enabling affects other sessions/users.

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

Conciseness4/5

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

A single short, front-loaded sentence with no filler; the verb and resource lead. It is efficient, though almost too terse to carry any context.

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

Completeness3/5

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

For a one-parameter toggle with no output schema and annotations covering idempotency, the description is minimally adequate. It nonetheless omits what the state change means and how it interacts with the disable/describe siblings.

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 description coverage is 100% and the single 'name' parameter is documented as 'Toolset name'. The phrase 'by name' in the description adds no meaning beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Enable a toolset'), so an agent immediately knows the operation. It does not, however, differentiate itself from the sibling disable_toolset or explain the relationship to describe_toolset/list_toolsets, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to enable a toolset versus inspecting it with describe_toolset or listing it with list_toolsets, nor any stated prerequisites. The intended usage is only inferable from the verb.

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

list_toolsA
Read-onlyIdempotent
Inspect

List currently registered tool names (best effort)

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds one genuinely useful behavioral qualifier, '(best effort)', implying results may be incomplete or fail, but it never explains what that means in practice or when it applies.

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?

One short, front-loaded sentence with no filler. The parenthetical qualifier earns its place by adding behavioral nuance rather than padding.

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 zero-parameter read tool with no output schema, 'tool names' adequately implies the return shape, and annotations carry the safety profile. It is close to complete, though it could say whether the names are usable as input to describe_toolset.

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

Parameters4/5

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

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing further the description could add on parameter meaning.

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

Purpose4/5

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

States a specific verb and resource ('List currently registered tool names'), which distinguishes it from list_toolsets, which enumerates toolsets rather than tools. It stops short of explicitly naming that sibling or contrasting scope, so it is clear but not sibling-differentiated in the text itself.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisite, and no routing between this and the closely related siblings describe_toolset and list_toolsets. Usage is only implied by the name.

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

list_toolsetsA
Read-onlyIdempotent
Inspect

List available toolsets with active status and definitions

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered and the bar is lower. The description usefully discloses that results include active status and definitions, but says nothing about ordering, pagination, or whether disabled toolsets are included.

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?

A single front-loaded sentence with no filler; the resource comes first and the returned detail follows. Every word earns its place.

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 no-parameter, no-output-schema list tool whose annotations cover safety, the description gives enough to call it correctly. Missing only minor details such as ordering or whether inactive toolsets appear in the result.

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

Parameters4/5

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

The schema has zero parameters, so there is nothing to document and the baseline is 4. The description correctly implies the tool is unfiltered and argument-free.

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

Purpose4/5

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

States a specific verb and resource ('List available toolsets') and adds that each entry carries active status and definitions, so an agent knows what comes back. It does not distinguish itself from sibling list/describe/enable/disable tools, which keeps it out of the top band.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no conditions, and no mention of the alternatives (describe_toolset, enable_toolset, disable_toolset, list_tools). The agent can infer it is a discovery call, but nothing steers it between this and describe_toolset for inspecting a single toolset.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • First observeddescribe_toolset
    • First observeddisable_toolset
    • First observedenable_toolset
    • First observedlist_tools
    • First observedlist_toolsets

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides tools for financial analysis using the Financial Modelling Prep API. It enables users to retrieve real-time stock quotes, financial statements, valuation metrics, and sector performance data for investment research.
    -
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides comprehensive access to real-time stock quotes, financial statements, analyst estimates, and technical indicators via the Financial Modeling Prep API. It enables users to conduct in-depth financial analysis and track market performance through specialized tools, resources, and prompt templates.
    26
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that provides tools for financial analysis and investment research using the Financial Modelling Prep API. It enables users to access real-time stock quotes, financial statements, key metrics, and market sector performance data.
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Real-time financial market data MCP server. Stocks, crypto, technicals, sentiment, FDA calendar. No API keys required.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.