AlphaVantage MCP Server
Click on "Install 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., "@AlphaVantage MCP ServerGet the latest news and sentiment analysis for NVDA"
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.
AlphaVantage MCP Server
A Model Context Protocol (MCP) server that provides comprehensive market data and fundamental analysis through the AlphaVantage API. Designed for integration with Claude Desktop and other MCP-compatible clients.
Requirements
Python 3.10 - 3.12
uv package manager
AlphaVantage API key (get one free)
Related MCP server: Stocks MCP Server
Installation
# Clone the repository
git clone <repo-url>
cd alphavantage_mcp
# Install dependencies
uv syncConfiguration
Set your AlphaVantage API key as an environment variable:
# macOS/Linux
export ALPHA_VANTAGE_API_KEY=your_key_here
# Windows (Command Prompt)
set ALPHA_VANTAGE_API_KEY=your_key_here
# Windows (PowerShell)
$env:ALPHA_VANTAGE_API_KEY="your_key_here"Or create a .env file in the project directory:
ALPHA_VANTAGE_API_KEY=your_alphavantage_api_keyServer Configuration (Optional)
Variable | Description | Default |
| Enable debug mode |
|
| Server port |
|
| Log level (DEBUG, INFO, WARNING, ERROR) |
|
Running the Server
# Direct execution
uv run alphavantage-mcp-server
# Using launch script (macOS/Linux)
./launch-alphavantage.sh
# Using launch script (Windows)
launch-alphavantage.batUsage with Claude Desktop
Add to your Claude Desktop configuration file:
Platform | Config Location |
macOS |
|
Windows |
|
Linux |
|
Option 1: Using launch script (recommended)
{
"mcpServers": {
"alphavantage-data": {
"command": "/path/to/alphavantage_mcp/launch-alphavantage.sh",
"env": {
"ALPHA_VANTAGE_API_KEY": "your_key"
}
}
}
}Option 2: Using absolute path to uv
First, find your uv path: which uv
{
"mcpServers": {
"alphavantage-data": {
"command": "/Users/yourname/.local/bin/uv",
"args": ["run", "alphavantage-mcp-server"],
"cwd": "/path/to/alphavantage_mcp",
"env": {
"ALPHA_VANTAGE_API_KEY": "your_key"
}
}
}
}Note: GUI applications like Claude Desktop don't inherit your shell's PATH, so using absolute paths is more reliable than relying on uv being in PATH.
On Windows, use backslashes: "cwd": "C:\\path\\to\\alphavantage_mcp"
Available Tools
Fundamental Data
Tool | Description | Parameters |
| Company fundamentals including PE ratio, market cap, EPS, margins, and more |
|
| Annual income statement data (last 20 periods) |
|
| Annual balance sheet data (last 20 periods) |
|
| Annual cash flow statements (last 20 periods) |
|
| Quarterly or annual earnings data |
|
Market Data
Tool | Description | Parameters |
| Daily OHLCV data |
|
| Intraday price data |
|
News & Sentiment
Tool | Description | Parameters |
| Market news with sentiment analysis |
|
Technical Analysis
Tool | Description | Parameters |
| Calculate technical indicators |
|
Supported indicators (TechnicalIndicator enum):
RSI- Relative Strength IndexMACD- Moving Average Convergence DivergenceBOLLINGER_BANDS- Bollinger BandsSMA- Simple Moving AverageEMA- Exponential Moving AverageSTOCHASTIC- Stochastic OscillatorADX- Average Directional IndexWILLIAMS_R- Williams %R
Supported timeframes (TimeFrame enum):
MINUTE- 1 minuteFIVE_MINUTES- 5 minutesFIFTEEN_MINUTES- 15 minutesTHIRTY_MINUTES- 30 minutesHOUR- 1 hourDAILY- DailyWEEKLY- WeeklyMONTHLY- Monthly
Examples
Get company fundamentals:
"Get the company overview for AAPL"Analyze price trends:
"Show me the daily prices for TSLA over the last 100 days"Technical analysis:
"Calculate the RSI for MSFT with a 14-day period"Market news:
"Get recent news about NVDA with sentiment analysis"Development
# Install with dev dependencies
uv sync --extra dev
# Run the server directly
uv run alphavantage-mcp-server
# Run tests
uv run pytest
# Type checking
uv run mypy .
# Format code
uv run black .API Rate Limits
The free AlphaVantage API tier allows 25 requests per day. Consider upgrading to a premium plan for higher limits.
Security Notes
Never commit API keys to version control
Use environment variables or secure secret management for API keys
The server validates all inputs to prevent injection attacks
Available Tools
9 toolsget_balance_sheetB
Get company balance sheet data.
Args:
symbol: Stock symbol to get balance sheet for (e.g., AAPL, MSFT)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves data ('Get'), implying a read-only operation, but doesn't disclose any behavioral traits such as data freshness, rate limits, authentication needs, error handling, or what happens with invalid symbols. For a data retrieval tool with zero annotation coverage, this is a significant gap.
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 appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by parameter details. There's no wasted text, and the structure (purpose then args) is logical. However, the formatting with indentation and quotes might slightly hinder readability in some contexts.
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 tool's moderate complexity (financial data retrieval), no annotations, and an output schema (which reduces the need to describe return values), the description is partially complete. It covers the purpose and parameter semantics adequately but lacks usage guidelines and behavioral transparency. For a tool with siblings and no annotations, it should do more to guide the agent.
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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage and only defines 'symbol' as a string. The description provides a concrete example ('e.g., AAPL, MSFT'), clarifying that it refers to stock symbols and giving typical values. With 1 parameter and low schema coverage, this compensates well, though it doesn't specify format constraints (e.g., case sensitivity).
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 company balance sheet data' with a specific verb ('Get') and resource ('balance sheet data'). It distinguishes from siblings like get_income_statement or get_cash_flow by specifying the financial statement type. However, it doesn't explicitly differentiate from all siblings (e.g., get_company_overview might also include balance sheet data).
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose get_balance_sheet over get_income_statement or get_company_overview, nor does it specify prerequisites or exclusions. The only contextual hint is the parameter description for 'symbol', which doesn't constitute usage guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cash_flowB
Get company cash flow statement data.
Args:
symbol: Stock symbol to get cash flow for (e.g., AAPL, MSFT)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While it indicates this is a read operation ('Get'), it doesn't disclose important behavioral traits like whether it requires authentication, rate limits, data freshness, error conditions, or what format the cash flow data is returned in. The description is minimal and lacks essential operational context.
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 appropriately concise and well-structured. The main purpose is stated clearly in the first sentence, followed by parameter documentation. There's no unnecessary information or repetition. The formatting with Args: section helps with readability, though the indentation appears slightly off in the provided text.
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 that there's an output schema (which handles return values), the description doesn't need to explain output format. However, for a financial data tool with no annotations, the description should provide more context about data sources, update frequency, or limitations. It adequately covers the basic purpose and parameter but lacks operational context that would help an agent use it effectively.
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?
With 0% schema description coverage, the description compensates by providing clear parameter semantics. It explains that 'symbol' is a 'Stock symbol to get cash flow for' and gives examples (AAPL, MSFT), adding meaningful context beyond what the bare schema provides. Since there's only one parameter, this is sufficient for understanding its purpose.
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 company cash flow statement data.' It specifies the verb ('Get') and resource ('company cash flow statement data'), making it easy to understand what the tool does. However, it doesn't explicitly differentiate from sibling tools like get_balance_sheet or get_income_statement, which are also financial statement tools.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate, when it's not, or how it differs from related sibling tools like get_balance_sheet or get_income_statement. The only contextual information is the parameter explanation, which doesn't constitute usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_company_overviewC
Get company fundamentals and overview.
Args:
symbol: Stock symbol to get overview for (e.g., AAPL, MSFT)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool 'Get[s]' data, implying a read-only operation, but doesn't clarify aspects like authentication needs, rate limits, error handling, or what 'fundamentals and overview' entails beyond the name. For a tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.
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 appropriately sized and front-loaded: the first sentence states the core purpose clearly. The Args section is structured but could be more integrated; overall, it avoids unnecessary verbosity, though the formatting with indentation is slightly awkward.
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 tool's moderate complexity (single parameter, financial data retrieval) and the presence of an output schema (which handles return values), the description is minimally complete. It covers the basic purpose and parameter, but lacks behavioral details and usage guidelines, making it adequate but with clear gaps for effective agent use.
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 description adds minimal semantic value beyond the input schema. It explains the 'symbol' parameter as 'Stock symbol to get overview for (e.g., AAPL, MSFT)', which provides examples and clarifies it's for stocks, but the schema already defines it as a required string titled 'Symbol'. With 0% schema description coverage, this partial explanation doesn't fully compensate, but it's better than nothing, meeting the baseline.
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 company fundamentals and overview' - a specific verb ('Get') and resource ('company fundamentals and overview'). It distinguishes itself from siblings like get_balance_sheet or get_income_statement by focusing on general overview rather than specific financial statements. However, it doesn't explicitly contrast with get_market_news or get_technical_indicators, keeping it from a perfect score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for selection among siblings (e.g., use this for a high-level summary vs. get_balance_sheet for detailed assets/liabilities), or any exclusions. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_pricesB
Get daily OHLCV data.
Args:
symbol: Stock symbol (e.g., AAPL, MSFT)
outputsize: 'compact' (last 100 days) or 'full' (20+ years)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| outputsize | No | compact |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the data type (OHLCV) and output size options, but lacks critical details such as rate limits, authentication requirements, data freshness, error handling, or pagination behavior, which are essential for safe and effective use.
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 appropriately sized and front-loaded, starting with the core purpose followed by parameter details. The use of a structured 'Args' section enhances readability, though minor formatting issues (e.g., indentation) slightly detract from perfect clarity.
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 tool's moderate complexity (2 parameters, no annotations, but with an output schema), the description is partially complete. It covers parameter semantics well but lacks behavioral context (e.g., rate limits, errors). The presence of an output schema reduces the need to explain return values, but more operational guidance would improve completeness.
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 description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'symbol' is a stock symbol with examples (AAPL, MSFT) and defines 'outputsize' options ('compact' vs 'full') with their date ranges, effectively compensating for the schema's lack of documentation.
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 with a specific verb ('Get') and resource ('daily OHLCV data'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_intraday_prices' or 'get_technical_indicators' beyond the 'daily' timeframe, which prevents a perfect score.
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?
No guidance is provided on when to use this tool versus alternatives. While the description implies it's for daily data, it doesn't mention when to choose this over 'get_intraday_prices' (for intraday data) or 'get_technical_indicators' (for derived metrics), leaving the agent without explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_earningsB
Get quarterly or annual earnings data.
Args:
symbol: Stock symbol to get earnings for (e.g., AAPL, MSFT)
period: 'quarterly' or 'annual' (default: quarterly)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| period | No | quarterly |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it implies this is a read operation ('Get'), it doesn't specify authentication requirements, rate limits, data freshness, error conditions, or what format the earnings data returns. The output schema exists but isn't described in the text, leaving behavioral gaps.
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 appropriately concise with two clear sentences followed by parameter documentation. The front-loaded purpose statement earns its place, and the parameter explanations are useful. Minor formatting issues with indentation don't significantly impact readability.
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 2 parameters, no annotations, but an output schema exists, the description is minimally adequate. It covers the basic purpose and parameters but lacks behavioral context and usage guidance. The existence of an output schema reduces the need to describe return values, but other gaps remain for a financial data tool.
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 description adds meaningful parameter context beyond the schema. While schema description coverage is 0%, the description explains that 'symbol' represents a stock symbol with examples (AAPL, MSFT) and clarifies that 'period' can be 'quarterly' or 'annual' with a default. This compensates well for the schema's lack of descriptions.
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 quarterly or annual earnings data.' It specifies the verb ('Get') and resource ('earnings data') with period qualification. However, it doesn't explicitly differentiate from sibling tools like 'get_income_statement' or 'get_company_overview' which might also provide financial data.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or explain what makes earnings data distinct from other financial metrics available through other tools on the server. The agent receives no contextual usage information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_income_statementC
Get company income statement data.
Args:
symbol: Stock symbol to get income statement for (e.g., AAPL, MSFT)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. While 'Get' implies a read operation, it doesn't specify whether this requires authentication, has rate limits, returns real-time or historical data, or what format the output takes. The description lacks crucial behavioral context for effective tool invocation.
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 appropriately brief and front-loaded, with the core purpose stated first followed by parameter details. The two-sentence structure is efficient, though the Args section formatting could be cleaner. Every sentence adds value without redundancy.
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 tool's moderate complexity (financial data retrieval), no annotations, and an output schema present, the description is minimally complete. It covers the basic purpose and parameter but lacks behavioral details and usage guidance. The output schema reduces the need to describe return values, but more context on data scope and constraints would improve completeness.
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 description adds meaningful context for the single parameter by providing an example ('AAPL, MSFT'), which helps clarify the expected format. However, with 0% schema description coverage and only one parameter, this is adequate but minimal—it doesn't explain constraints like valid symbol formats or time period defaults.
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 with a specific verb ('Get') and resource ('company income statement data'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_balance_sheet' or 'get_cash_flow' which also retrieve financial statements, leaving some ambiguity about when to choose this specific tool.
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 provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_balance_sheet' and 'get_cash_flow' available, there's no indication of when income statement data is specifically needed versus other financial statements, nor any mention of prerequisites or constraints for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_intraday_pricesB
Get intraday price data.
Args:
symbol: Stock symbol (e.g., AAPL, MSFT)
timeframe: Time frame (MINUTE, FIVE_MINUTES, FIFTEEN_MINUTES, THIRTY_MINUTES, HOUR)
outputsize: 'compact' (last 100 data points) or 'full' (30+ days)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| timeframe | No | 5Min | |
| outputsize | No | compact |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what data is retrieved but doesn't cover critical aspects like rate limits, authentication needs, error handling, or the format of returned data (though an output schema exists). The description is minimal and lacks behavioral context beyond the basic operation.
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 highly concise and well-structured: a brief purpose statement followed by a clear, bullet-like parameter explanation. Every sentence earns its place by adding essential information without redundancy, making it easy to scan and understand.
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 tool's moderate complexity (3 parameters, no annotations, but with an output schema), the description is partially complete. It covers parameter semantics effectively but lacks usage guidelines and behavioral transparency. The presence of an output schema reduces the need to explain return values, but more context on tool behavior and differentiation would improve completeness.
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 description adds significant value beyond the input schema, which has 0% description coverage. It explains each parameter's purpose (e.g., 'Stock symbol', 'Time frame', 'outputsize' with meanings like 'compact' for last 100 data points), clarifying semantics that the schema's titles and enums alone don't provide. This compensates well for the schema's lack of descriptions.
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 as 'Get intraday price data' with a specific verb ('Get') and resource ('intraday price data'), distinguishing it from sibling tools like 'get_daily_prices' and 'get_technical_indicators'. However, it doesn't explicitly differentiate from 'get_daily_prices' beyond the 'intraday' qualifier, which is implied but not contrasted.
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 provides no guidance on when to use this tool versus alternatives like 'get_daily_prices' or 'get_technical_indicators'. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_newsB
Get latest market news and sentiment.
Args:
tickers: List of stock symbols (e.g., ["AAPL", "MSFT"])
topics: List of topics (e.g., ["technology", "earnings"])
time_from: Start time in YYYYMMDDTHHMM format
time_to: End time in YYYYMMDDTHHMM format
limit: Maximum number of articles to return (1-50, default: 10)
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | No | ||
| topics | No | ||
| time_from | No | ||
| time_to | No | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions 'latest market news and sentiment' but doesn't specify data sources, update frequency, rate limits, authentication needs, or what 'sentiment' entails (e.g., scores, labels). For a tool with 5 parameters and no annotation coverage, this leaves significant behavioral gaps.
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 appropriately sized and front-loaded with the core purpose. The parameter details are organized in a clear Args section with examples and constraints. Every sentence adds value, though it could be slightly more concise by integrating the purpose with parameter context.
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 5 parameters, no annotations, and an output schema (which handles return values), the description is moderately complete. It excels in parameter semantics but lacks behavioral context and usage guidelines. For a news retrieval tool with filtering options, more details on data freshness, source reliability, or error cases would improve completeness.
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 description adds substantial meaning beyond the input schema, which has 0% description coverage. It provides clear examples for tickers and topics, specifies the exact datetime format for time_from/time_to, and defines the limit range and default. This fully compensates for the schema's lack of descriptions, making parameter usage clear.
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 latest market news and sentiment.' It specifies the verb ('Get') and resource ('market news and sentiment'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools (which are all financial data tools), though the focus on 'news and sentiment' is distinct from their financial metrics focus.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or any context for choosing this over other data retrieval tools. The only implied usage is for fetching news, but no explicit when/when-not scenarios or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_technical_indicatorsB
Get technical indicators (RSI, MACD, Bollinger Bands, etc.).
Args:
symbol: Stock symbol (e.g., AAPL, MSFT)
indicator: Technical indicator (RSI, MACD, BBANDS, SMA, EMA, STOCH, ADX, WILLR)
timeframe: Time frame for the data (MINUTE, FIVE_MINUTES, FIFTEEN_MINUTES, THIRTY_MINUTES, HOUR, DAILY, WEEKLY, MONTHLY)
time_period: Time period for the indicator calculation (default: 14)
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | ||
| indicator | Yes | ||
| timeframe | No | 1Day | |
| time_period | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| error | No | |
| success | Yes | |
| timestamp | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but provides minimal behavioral context. It doesn't disclose whether this is a read-only operation, if it requires authentication, rate limits, data freshness, or what the output contains. The description only lists parameters without explaining behavioral traits beyond the basic function.
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 appropriately sized and front-loaded with the core purpose in the first sentence. The parameter documentation is organized but could be more concise. Every sentence earns its place by providing essential parameter details, though the formatting with indentation is slightly verbose.
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 tool's moderate complexity (4 parameters, technical domain) and the presence of an output schema (which handles return values), the description is partially complete. It thoroughly documents parameters but lacks behavioral context and usage guidance. With no annotations and an output schema, the description should ideally cover more operational aspects.
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?
Schema description coverage is 0%, so the description must fully compensate. It provides detailed semantic information for all 4 parameters: symbol format examples, indicator enumeration with all valid values, timeframe enumeration with all valid values, and time_period default value. This adds substantial meaning beyond what the bare schema provides.
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 verb 'Get' and the resource 'technical indicators', with specific examples (RSI, MACD, Bollinger Bands). It distinguishes from sibling tools like get_daily_prices or get_income_statement by focusing on technical analysis rather than fundamental data or raw prices. However, it doesn't explicitly contrast with those siblings in the description text.
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?
No guidance is provided on when to use this tool versus alternatives. The description doesn't mention when this tool is appropriate (e.g., for technical analysis signals) or when to choose sibling tools like get_daily_prices for raw price data instead. Usage is implied by the tool name but not explicitly stated.
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. Dates show when Glama detected each change.
9 tool updates
v0.1.0- First observed
get_balance_sheet - First observed
get_cash_flow - First observed
get_company_overview - First observed
get_daily_prices - First observed
get_earnings - First observed
get_income_statement - First observed
get_intraday_prices - First observed
get_market_news - First observed
get_technical_indicators
TDQS
Each tool has a clearly distinct purpose targeting specific financial data types (balance sheet, cash flow, prices, news, indicators). The descriptions clearly differentiate between financial statements, price data, news, and technical analysis, with no overlapping functionality that would cause confusion.
All tools follow a consistent 'get_[resource]' naming pattern with snake_case throughout. The pattern is predictable and readable, making it easy to understand what each tool retrieves without examining descriptions.
With 9 tools, this server is well-scoped for financial data retrieval. Each tool serves a distinct purpose in the AlphaVantage domain, covering financial statements, price data, news, and technical indicators without being overwhelming or sparse.
The toolset provides comprehensive coverage for financial data retrieval including statements, price data, news, and technical indicators. Minor gaps might include portfolio management or trading operations, but for a data-focused server, it covers the core financial analysis workflows effectively.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Alpha Vantage MCP — Stock market data, fundamentals, and earnings
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
Official-source financial data for AI agents: Korea, US, Taiwan, Japan, Europe. 37 tools, free tier.
Live market data, financial analysis, and portfolio research tools across 10,000+ tickers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides comprehensive financial market data and news through the Finnhub API. Enables real-time stock quotes, company profiles, financial metrics, analyst recommendations, and market news access.1MIT
- FlicenseNot gradedqualityDmaintenanceProvides real-time access to financial market data including stock quotes, company information, cryptocurrency exchange rates, historical options chains, and time series data through the Alpha Vantage API.-
- AlicenseCqualityDmaintenanceProvides access to real-time and historical stock market data through the Alpha Vantage API, enabling financial analysis and market data queries through natural language.10074Apache 2.0
- FlicenseNot gradedqualityCmaintenanceProvides comprehensive stock intelligence and technical analysis by integrating Alpha Vantage and Finnhub data. It enables users to generate detailed research reports and retrieve real-time market metrics, indicators, and news sentiment.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/NonmaskableInt/alphavantage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server