Financial Data MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Financial Data MCP Serverget current quote for AAPL"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 claudeManual Installation
npm install findata-mcp-serverUsage in Host
Obtain an API key from Alpha Vantage https://www.alphavantage.co/support/#api-key.
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, ormonthly) (optional, default:daily)outputsize: the size of the output (compactorfull) (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 toolsgetHistoricalDataC
Get historical data for a stock.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The stock symbol (e.g., AAPL) | |
| interval | No | The time interval for the data (daily, weekly, or monthly) | daily |
| outputsize | No | The size of the output (compact or full) | compact |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | The stock symbol (e.g., AAPL) |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v0.1.0- First observed
getHistoricalData - First observed
getStockQuote
TDQS
Scored across 2 tools
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.
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.
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.
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
Related MCP Connectors
MCP server for stocksense-ai documentation, generated by doc2mcp.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Alpha Vantage MCP — Stock market data, fundamentals, and earnings
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseBqualityDmaintenanceThis is an MCP server that provides access to the Alpha Vantage API, allowing stock data retrieval to be used as context to LLMs.215 npm9MIT
- AlicenseBqualityFmaintenanceA 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.12104MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that integrates with the AlphaVantage financial data API, providing access to stock market data, technical indicators, and fundamental financial information.MIT
- AlicenseAqualityDmaintenanceAn 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.79 npm4MIT