Skip to main content
Glama
fastmcp-me

Financial Data MCP Server

by fastmcp-me

Add to Cursor Add to VS Code Add to Claude Add to ChatGPT Add to Codex Add to Gemini

Financial Data - MCP Server

This is an MCP server that provides access to the Alpha Vantage API, allowing stock data retrieval to be used as context to LLMs.

Available Features

  • getStockQuote: Get the current quote for a stock.

  • getHistoricalData: Get historical data for a stock (daily, weekly, or monthly).

  • (More tools will be added later for technical analysis, company overview, etc.)

Related MCP server: AlphaVantage-MCP

Setup

Installing via Smithery

To install Financial Data Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install findata-mcp-server --client claude

Manual Installation

npm install findata-mcp-server

Usage in Host

  1. Obtain an API key from Alpha Vantage https://www.alphavantage.co/support/#api-key.

  2. Configure your MCP client (e.g., Claude Desktop) to connect to the server:

{
  "mcpServers": {
    "alphaVantage": {
      "command": "npx",
      "args": ["-y", "findata-mcp-server"],
      "env": {
        "ALPHA_VANTAGE_API_KEY": "PUT_YOUR_API_KEY_HERE"
      }
    }
  }
}

Tools

getStockQuote

Get the current quote for a stock.

Input:

symbol: The stock symbol (e.g., AAPL) Output Example:

getHistoricalData

Get historical data for a stock.

Input:

  • symbol: the stock symbol (e.g., AAPL)

  • interval: the time interval for the data (daily, weekly, or monthly) (optional, default: daily)

  • outputsize: the size of the output (compact or full) (optional, default: compact) Output:

JSON object containing the historical data. The structure of the output depends on the interval parameter.

Contributing

Contributions are welcome! Please open an issue or pull request.

License

MIT

Available Tools

2 tools
getHistoricalDataC

Get historical data for a stock.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesThe stock symbol (e.g., AAPL)
intervalNoThe time interval for the data (daily, weekly, or monthly)daily
outputsizeNoThe size of the output (compact or full)compact

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only states 'Get historical data' without mentioning rate limits, output format, data granularity, or any other behavioral traits, leaving significant gaps for a data-retrieval tool.

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?

The description is a single concise sentence that is easy to parse and front-loaded. While it is minimal, it avoids redundancy and clearly names the primary action and resource, though it could benefit from slightly more detail.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It does not explain the return format, data types, or any caveats around intervals or output size. A more complete description would clarify what 'historical data' entails and what the response contains.

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?

The input schema fully covers all three parameters (symbol, interval, outputsize) with descriptions, so the baseline is 3. The tool description adds no additional parameter context beyond the schema, but it doesn't need to since the schema is self-explanatory.

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?

The description clearly states the tool's purpose: retrieve historical data for a stock. While it doesn't explicitly distinguish from the sibling tool getStockQuote, the word 'historical' implies a contrast with current quote data, making the purpose understandable.

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?

The description gives no guidance on when to use this tool versus alternatives like getStockQuote. It does not mention typical use cases, prerequisites, or exclusions, so the agent must infer usage solely from the name and input schema.

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

getStockQuoteA

Get the current quote for a stock.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesThe stock symbol (e.g., AAPL)

TDQS

A3.7/5.0
Behavior2/5

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

There are no annotations, so the description carries full responsibility for disclosing behavior. It only states that it returns a 'current quote' but does not describe the response format, whether it includes fields beyond price, potential delays, authentication requirements, or any side effects. With no output schema, this lack of detail leaves the agent underinformed about what to expect.

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?

The description is a single, concise sentence that front-loads the core purpose. It contains no fluff or redundant information, and every word earns its place. It is appropriately sized for the tool's simplicity.

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?

The tool is low-complexity (one well-documented parameter, no annotations, no output schema). The description adequately states what it does, but without an output schema or any behavioral details, the agent cannot know the full set of fields returned by a 'quote' or handle edge cases. It is minimally viable but leaves clear gaps.

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?

The input schema fully documents the single parameter 'symbol' with an example ('AAPL') and a clear description. The tool description adds only the word 'stock,' which provides no substantial new meaning beyond what the schema already states. Since schema coverage is 100%, the baseline of 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?

The description clearly states the tool's purpose: 'Get the current quote for a stock.' It uses a specific verb (Get), names the resource (current quote), and the word 'current' distinguishes it from the sibling tool getHistoricalData. This is unambiguous and effective.

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

Usage Guidelines4/5

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

The description gives clear context that this tool is for current quote data, which implies a use case distinct from historical data. However, it does not explicitly mention when not to use it or name the alternative getHistoricalData as a fallback. The context is clear but lacks explicit exclusion.

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. 2 tool updatesv0.1.0
    • First observedgetHistoricalData
    • First observedgetStockQuote

TDQS

B3.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools, getStockQuote and getHistoricalData, are clearly distinct: one provides current real-time data while the other provides historical time-series data. There is no overlap or ambiguity in their purposes.

Naming Consistency5/5

Both tool names follow the same pattern: 'get' plus a descriptive noun in camelCase. This is consistent and predictable, making it easy for an agent to infer the action and resource.

Tool Count3/5

With only two tools, the server feels thin for a financial data service. While the two tools cover basic stock quote and historical data needs, the count is at the lower boundary of what is considered reasonable for a domain-focused server.

Completeness3/5

The server covers fundamental stock data retrieval (current and historical), but lacks other common financial data operations such as company fundamentals, options chains, or market indices. The surface is functional but minimal.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    This is an MCP server that provides access to the Alpha Vantage API, allowing stock data retrieval to be used as context to LLMs.
    2
    15 npm
    9
    MIT
  • A
    license
    B
    quality
    F
    maintenance
    A Model Context Protocol (MCP) server that provides real-time access to financial market data through the free Alpha Vantage API. This server implements a standardized interface for retrieving stock quotes and company information.
    12
    104
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that integrates with the AlphaVantage financial data API, providing access to stock market data, technical indicators, and fundamental financial information.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides real-time financial data integration with Alpha Vantage's API, enabling access to stock market data, cryptocurrency prices, forex rates, and technical indicators.
    7
    9 npm
    4
    MIT