FinanceKit MCP
FinanceKit MCP
面向 AI 智能体的金融市场情报 —— 通过模型上下文协议 (MCP) 提供实时股票报价、技术分析、加密货币数据和投资组合洞察。
FinanceKit 是一个 MCP 服务器,让 Claude Code、Cursor、Windsurf 以及任何 AI 智能体能够即时访问金融市场数据。股票和加密货币无需 API 密钥。
立即试用 — 无需安装: 在 MCPize Playground 中打开 FinanceKit — 在浏览器中运行,提供免费层级(每月 100 次调用)
使用场景
以下是安装 FinanceKit 后,您可以向 AI 智能体询问的具体示例:
“对 TSLA 进行全面的技术分析,并告诉我它是否值得买入” — 获取 RSI、MACD、布林带、ADX、随机指标和模式识别,并附带简单的英语信号总结
“比较 AAPL、MSFT 和 GOOGL 在过去 6 个月的表现” — 并排对比收益率、波动率、夏普比率和最大回撤
“分析我的投资组合:AAPL:50, NVDA:20, MSFT:30, AMZN:10” — 总价值、行业配置、集中度风险和多元化得分
“目前有哪些热门加密货币?有什么值得关注的吗?” — 来自 CoinGecko 的热门币种,包含价格数据和动量
“给我一个市场概览 — 主要指数表现如何?” — 一次调用即可获取标普 500、纳斯达克、道琼斯、VIX 和市场情绪
“比特币是否超买?给我展示 RSI 和布林带分析” — 技术分析不仅适用于股票,也适用于加密货币
Related MCP server: Financial Data MCP Server
为什么选择 FinanceKit?
功能 | FinanceKit MCP | Yahoo Finance API | Alpha Vantage | TradingView |
适配 Claude Code / Cursor | 是 | 否 | 否 | 否 |
无需 API 密钥 | 是 | 是 | 否 (免费层级) | 否 |
内置技术分析 | 10+ 指标 | 仅原始数据 | 有限 | 手动 |
加密货币 + 股票合一 | 是 | 仅股票 | 分离 API | 手动 |
投资组合分析 | 是 | 否 | 否 | 否 |
MCP 原生 (stdio + HTTP) | 是 | 仅 REST | 仅 REST | 仅 Web |
免费 | 是 | 是 | 有速率限制 | 付费 |
工具 (12)
股票
工具 | 描述 |
| 当前价格、涨跌幅、成交量、市盈率、市值 |
| 行业、财务状况、估值指标、描述 |
| 一次批量获取最多 10 个代码的报价 |
加密货币
工具 | 描述 |
| 价格、市值、1小时/24小时/7天涨跌幅、历史最高价数据 |
| CoinGecko 上排名前 10 的热门币种 |
| 按名称或代码查找币种 |
| 按市值排名的前 N 个币种 |
技术分析
工具 | 描述 |
| 全面分析:RSI、MACD、布林带、SMA/EMA、ADX、随机指标、ATR、OBV + 模式识别(金叉、死叉、超买/超卖),并附带简单的英语信号总结 |
| 包含汇总统计数据的历史 OHLCV 数据 |
市场概览
工具 | 描述 |
| 主要指数(标普 500、纳斯达克、道琼斯)、VIX、市场情绪 |
投资组合与比较
工具 | 描述 |
| 并排对比收益率、波动率、夏普比率、回撤 |
| 总价值、配置权重、行业细分、集中度风险 |
安装
⭐ 推荐:MCPize(托管,无需设置)
最快的入门方式。无需终端,无需配置文件,无需 Python 设置 — 适用于任何 MCP 客户端:
👉 在 MCPize 上安装 FinanceKit — 提供免费层级(每月 100 次调用)
或者直接添加到您的 MCP 配置中:
{
"mcpServers": {
"financekit": {
"url": "https://financekit-mcp.mcpize.run/mcp"
}
}
}为什么选择 MCPize?
✅ 零设置 — 在 Claude Desktop、Cursor、Windsurf、Claude Code 中立即生效
✅ 始终保持最新 — 新功能自动部署
✅ 随您扩展 — 升级至 Pro(29 美元/月)即可获得 10,000 次调用 + 优先支持 + 所有高级工具
✅ 可靠的正常运行时间 — 托管云基础设施
✅ 分析 — 跟踪您的智能体如何使用这些工具
请参阅下方的 定价,了解包括团队、商业和企业在内的所有层级。
💻 高级:自托管(开发者)
对于喜欢在本地运行服务器的用户:
claude mcp add financekit -- uvx --from financekit-mcp financekit{
"mcpServers": {
"financekit": {
"command": "uvx",
"args": ["--from", "financekit-mcp", "financekit"]
}
}
}pip install financekit-mcp
financekitgit clone https://github.com/vdalhambra/financekit-mcp.git
cd financekit-mcp
uv sync
uv run financekitnpx -y @smithery/cli install @vdalhambra/financekit --client claude注意: 自托管意味着您可以完全访问功能,但需要自行管理更新、正常运行时间和基础设施。对于大多数用户,MCPize 是更好的选择。
定价
层级 | 价格 | 每月调用次数 | 包含内容 |
免费 | $0 | 100 | 5 个基础工具(报价、公司信息、加密货币价格) |
个人 | $9/月 | 2,500 | 大多数工具 — 不含投资组合或市场概览 |
专业版 ⭐ | $29/月 | 10,000 | 全部 12 个工具 + 优先支持 + 高级功能 |
团队版 | $79/月 | 50,000 | 专业版 + 5 个席位 + CSV 导出 + 电子邮件支持 |
商业版 | $179/月 | 200,000 | 团队版 + Webhooks + 警报 + SLA |
企业版 | $499/月 | 无限制 | 商业版 + 白标 + 本地部署 + 专属支持 |
年度计划: 享受 2 个月免费(付 10 个月费用,使用 12 个月)。
组合: 与 SiteAudit MCP 组合购买仅需 $39/月(专业组合 — 节省 19%)。
数据源
股票:Yahoo Finance (通过 yfinance) — 免费,无需 API 密钥
加密货币:CoinGecko API (免费层级,每月 1 万次调用)
技术指标:使用
ta库在本地计算 (RSI, MACD, 布林带, ADX, 随机指标, ATR, OBV)
所有数据均经过缓存以最大限度减少 API 调用:报价 (60秒)、历史数据 (1小时)、加密货币 (2分钟)、公司信息 (24小时)。
示例
技术分析输出
Symbol: AAPL
Current Price: 260.48
Indicators:
RSI(14): 55.65 — neutral
MACD: histogram positive — bullish momentum
Bollinger Bands: price within bands — normal
SMA(50): 260.84
ADX: 18.3 — weak/no trend
Patterns:
Golden Cross: false
Overbought: false投资组合分析输出
Total Value: $45,230.50
Positions: 3
Concentration Risk: MODERATE
Sector Breakdown:
Technology: 85.2%
Communication Services: 14.8%兼容的 AI 智能体
FinanceKit 适用于任何支持模型上下文协议的 AI 智能体或 IDE:
Claude Code (CLI) —
claude mcp addClaude Desktop —
claude_desktop_config.jsonCursor —
.cursor/mcp.jsonWindsurf — MCP 设置
Copilot — MCP 配置
任何 MCP 客户端 — stdio 或 HTTP 传输
支持本项目
如果 FinanceKit 对您有帮助,请考虑支持持续开发:
💎 在 MCPize 上升级到专业版 — 支持项目并获得高级功能的最佳方式
⭐ 为本项目加星 — 帮助其他开发者发现它
💖 在 GitHub 上赞助 — 一次性或定期支持
🐦 在 Twitter/X 上分享 — 标记 @ElAgenteRayo
许可证
MIT
Available Tools
17 toolscompany_infoARead-only
Get detailed company information including sector, financials, and valuation metrics.
Returns company description, sector, industry, market cap, P/E ratio, revenue, profit margins, and other fundamental data.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g., AAPL, GOOGL) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds value by specifying the types of data returned (sector, financials, valuation), which goes beyond the annotation. It does not mention any side effects or rate limits, but for a read-only tool this is acceptable.
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?
Two sentences with no wasted words. The first sentence states the purpose and scope; the second elaborates on the data. Front-loaded and efficient.
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 presence of an output schema, the description need not explain return values. It covers the main categories of data returned. However, it could clarify data freshness or coverage scope (e.g., all exchanges, delay). Still, it is adequate for a read 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?
Schema coverage is 100% and the schema itself describes the 'symbol' parameter clearly. The tool description does not add additional parameter-specific details beyond the schema, so the baseline score of 3 applies.
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 uses a specific verb ('Get') and identifies the resource ('detailed company information including sector, financials, and valuation metrics'). It also lists key data points, distinguishing it from sibling tools like stock_quote that focus on price.
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 explicit guidance on when to use this tool versus siblings such as stock_quote or multi_quote. The description implies usage by stating what it returns, but does not provide when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_assetsARead-only
Compare performance of multiple stocks/assets over a period.
Returns side-by-side comparison of returns, volatility, and key metrics to help decide between investment options.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Comparison period: 1mo, 3mo, 6mo, 1y | 3mo |
| symbols | Yes | Comma-separated tickers to compare (e.g., 'AAPL,MSFT,GOOGL') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating no side effects. The description adds no further behavioral details beyond the read-only nature, so it does not significantly enhance transparency beyond the annotation.
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?
Description is two brief, front-loaded sentences with no unnecessary words. Every sentence adds value.
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?
With 2 parameters, existing output schema, and readOnlyHint annotation, the description covers the core functionality. Could mention that it is a read operation (but annotation covers that) and hint at the output metrics.
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 100%, and the description paraphrases the parameters (e.g., 'multiple stocks/assets' for symbols, 'over a period' for period) without adding new semantic information.
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?
Description clearly states it compares performance of multiple stocks/assets over a period, returning a side-by-side comparison of returns, volatility, and key metrics. This distinguishes it from sibling tools like company_info, price_history, or multi_quote.
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?
Description indicates the tool is used 'to help decide between investment options,' providing clear context. However, it does not explicitly state when not to use it or name alternatives among sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
correlation_matrixARead-only
Compute correlation matrix between multiple assets.
Returns pairwise Pearson correlations. Useful for portfolio diversification analysis — lower correlations = better diversification. Correlations near 1 = assets move together (less diversification benefit).
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period: 3mo, 6mo, 1y, 2y | 6mo |
| symbols | Yes | Comma-separated tickers (e.g., 'AAPL,MSFT,GOOGL,SPY') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds that it computes Pearson correlations and provides interpretation (lower vs higher correlations), which is useful behavioral context beyond the annotation.
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?
Three sentences, front-loaded with the action, no wasted words. Each sentence adds value: action, return type, and interpretation advice.
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 output schema exists, the description adequately explains the return (pairwise Pearson correlations) and its interpretation. Missing details like data requirements (at least 2 symbols) are covered by the schema.
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 coverage is 100%, so description does not need to add parameter details. It adds no extra meaning beyond what schema already provides, 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?
Description clearly states 'Compute correlation matrix between multiple assets' and specifies it returns pairwise Pearson correlations. Differentiates from siblings like compare_assets and portfolio_analysis by focusing on correlation computation.
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?
Indicates usefulness for portfolio diversification analysis, but does not explicitly state when not to use or compare with alternatives like compare_assets or risk_metrics. Implied usage but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_priceARead-only
Get current price, market cap, volume, and price changes for a cryptocurrency.
Returns comprehensive market data including 1h/24h/7d price changes, ATH data, supply info, and market cap rank. Use the CoinGecko ID (e.g., 'bitcoin' not 'BTC'). Use search_crypto to find IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| coin | Yes | CoinGecko coin ID (e.g., 'bitcoin', 'ethereum', 'solana'). Use search_crypto to find IDs. | |
| currency | No | Target currency for prices (e.g., 'usd', 'eur', 'btc') | usd |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description aligns by stating data retrieval. The description adds valuable detail about the scope of data (1h/24h/7d changes, ATH, supply, rank) beyond the annotation. No side effects or authorization needs are mentioned, but the tool is straightforward read-only, so this is acceptable.
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?
Three sentences: first defines purpose, second enumerates returns, third gives critical usage tip (ID format and search tool). Every sentence serves a distinct function with no redundancy. Front-loaded with the main verb-resource pair, making it easy to parse quickly.
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, presence of an output schema, and annotations, the description covers all essential aspects: what it does, what data it returns, how to specify the coin, and a pointer to a sibling tool for ID lookup. No critical gaps remain for an agent to decide when and how to use this tool correctly.
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 coverage is 100%, and both parameters (coin and currency) are well-described in the schema. The description briefly reiterates the coin parameter's usage with the 'bitcoin' example, adding no significant new meaning. The currency parameter is not emphasized, but schema handles it. Baseline 3 is appropriate as the description does not compensate beyond schema.
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 function: retrieving current price, market cap, volume, and price changes for a cryptocurrency. It lists specific return fields (1h/24h/7d changes, ATH, supply, rank), making the purpose distinct from sibling tools like crypto_search (which finds IDs) or crypto_trending (which lists trending coins).
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 explicitly directs the agent to use 'search_crypto' for finding coin IDs, implying that this tool is for retrieving price data once the ID is known. It also advises using the CoinGecko ID (e.g., 'bitcoin') rather than ticker symbols, providing clear usage context. While it does not list all sibling alternatives, this guidance effectively distinguishes usage from the most related tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_searchARead-only
Search for a cryptocurrency by name or symbol. Returns CoinGecko IDs needed for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query — coin name or symbol (e.g., 'solana', 'eth', 'dog') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true. Description adds that it returns CoinGecko IDs, but lacks behavioral details like error handling 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action and output. Zero wasted words.
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?
Adequate for a simple search tool with one parameter and an output schema. Could mention expected result format or limitations.
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 coverage is 100% with a clear description for 'query'. Description does not add meaningful information beyond what's in the schema.
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?
Description clearly states it searches for a cryptocurrency by name or symbol and returns CoinGecko IDs. This is distinct from sibling tools like crypto_price or crypto_top_coins which retrieve data for specific coins.
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?
Implies usage before other tools that need CoinGecko IDs, but no explicit guidance on when not to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_top_coinsARead-only
Get the top cryptocurrencies ranked by market cap.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of coins to return (max 50) | |
| currency | No | Target currency (default: 'usd') | usd |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds minimal behavioral context beyond the ranking criterion (market cap). No additional details on rate limits, pagination, or result format are provided.
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?
A single, front-loaded sentence with no wasted words. Every element earns its place.
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 simplicity (2 optional parameters, 100% schema coverage, output schema exists), the description is sufficiently complete. It clearly conveys the tool's purpose and output.
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 100%, with both 'limit' and 'currency' parameters well-described in the schema. The description adds no extra meaning beyond the schema, meeting the baseline for full coverage.
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 'Get the top cryptocurrencies ranked by market cap' clearly states the verb ('Get'), resource ('top cryptocurrencies'), and ranking criterion, distinguishing it from siblings like crypto_trending or crypto_search.
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 implies usage for fetching top coins by market cap but does not explicitly provide when-to-use or when-not-to-use guidance relative to sibling tools. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_trendingARead-only
Get the top 10 trending cryptocurrencies on CoinGecko right now.
Shows coins with the most search interest in the last 24 hours.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, so the description adds context: the tool uses CoinGecko data, reflects search interest in the last 24 hours, and returns top 10. However, it does not disclose potential rate limits or update frequency.
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?
Two sentences, front-loaded with the primary action, no wasted words. Efficiently conveys the tool's purpose and data source.
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 no parameters and an existing output schema, the description provides sufficient context. It explains the data source and time frame, making it complete for a simple read-only list.
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?
There are no parameters, so the description does not need to add parameter information. The baseline for 0 parameters is 4, and the description's silence on parameters 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 'Get the top 10 trending cryptocurrencies on CoinGecko right now', specifying a verb, resource, scope (top 10), and source. It distinguishes from siblings like crypto_top_coins (likely market cap based) and crypto_search (search by query).
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 implies usage for trending coins based on search interest but does not explicitly state when to use this tool versus alternatives. No exclusions or conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
earnings_calendarARead-only
Get upcoming and recent earnings dates for a stock.
Returns next earnings date, EPS estimates vs actuals for recent quarters, and revenue data. Critical for event-driven trading.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker (e.g., 'AAPL') |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true. Description adds value by listing return data (EPS, revenue) without contradicting annotations.
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?
Three sentences, no extraneous information, front-loaded with purpose and return details.
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 low complexity (1 param) and presence of output schema, description fully covers purpose and use case.
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?
100% schema coverage; description does not add meaning beyond the schema for the single 'symbol' parameter.
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?
Description clearly states it returns earnings dates, EPS estimates vs actuals, and revenue data. Distinguishes from sibling tools by focusing on event-driven trading context.
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?
Mentions 'critical for event-driven trading,' implying usage context but no explicit when-to-use or when-not-to-use guidance compared to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_overviewARead-only
Get a snapshot of the major market indices, VIX, and top stock movers.
Returns current values and daily change for S&P 500, NASDAQ, DOW, and Russell 2000, the VIX fear/greed indicator, top 5 gainers and losers from a watchlist of 15 major stocks, and an overall market sentiment classification (Risk-on, Risk-off, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description accurately describes the read-only nature (returns data, no mutation) which aligns with the readOnlyHint annotation. It details the returned components, ensuring full transparency.
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?
Two sentences: first sentence defines the tool's purpose, second sentence elaborates on components. No redundant information, front-loaded and efficient.
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 zero parameters and an output schema, the description is complete. It covers all output elements and the overall purpose, providing sufficient context for correct invocation.
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 no parameters, the description adds value by explaining the output structure. Baseline for zero parameters is 4, and the description fully compensates by listing all data fields.
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 specifies exactly what the tool returns: major market indices (S&P 500, NASDAQ, DOW, Russell 2000), VIX, top movers, and market sentiment. This clearly distinguishes it from siblings like stock_quote or compare_assets.
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 implies it's for a broad market snapshot, but does not explicitly state when to use it (e.g., for a high-level overview) or when not to (e.g., for detailed individual stock data). No comparison to alternatives is provided, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multi_quoteARead-only
Get quotes for multiple stocks at once. Provide comma-separated symbols.
| Name | Required | Description | Default |
|---|---|---|---|
| symbols | Yes | Comma-separated ticker symbols (e.g., 'AAPL,MSFT,GOOGL') |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=true, so the description's 'Get quotes' aligns with a safe read operation. The description adds no further behavioral details (e.g., rate limits, order of results), but annotations cover the safety profile adequately.
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 two short sentences with no unnecessary words. It front-loads the purpose and format effectively.
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 presence of an output schema and the simple single parameter, the description is largely complete. However, it could be slightly improved by mentioning that it is more efficient than calling 'stock_quote' multiple times.
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 coverage is 100%, and the description essentially repeats the schema's parameter description ('Comma-separated ticker symbols'). No additional meaning is provided beyond the schema, so baseline score 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: to get quotes for multiple stocks at once, with a specific format of comma-separated symbols. It differentiates well from sibling tools like 'stock_quote' which likely handles single stocks.
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 implies use for multiple stocks but does not explicitly state when to use this tool versus alternatives like 'stock_quote' for a single stock or other tools. No explicit exclusions or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
options_chainARead-only
Get options chain (calls and puts) for a stock.
Returns available expirations and, if one is specified or the nearest is used, the full chain with strikes, volumes, open interest, implied volatility, and greeks (when available).
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker (e.g., 'AAPL') | |
| expiration | No | Optional expiration date YYYY-MM-DD, or leave empty for nearest |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true. The description adds valuable behavioral context: it returns available expirations and, if specified, a full chain with strikes, volumes, open interest, implied volatility, and greeks. This goes beyond the annotation.
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?
Two sentences, front-loaded with the main action, and no wasted words. Each sentence contributes essential information.
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?
With an output schema present (inferred from context), the description covers the core functionality: retrieving expirations and option chain details. It could mention pagination or data availability, but overall it is sufficient for a simple read-only 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?
Schema coverage is 100%, and the description clarifies behavior: leaving expiration empty uses the nearest date. It also mentions that the tool first returns available expirations, which is not in the schema. This adds meaningful context.
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 'Get options chain (calls and puts) for a stock', using a specific verb and resource. It distinguishes from sibling tools (e.g., stock_quote, price_history) by focusing exclusively on options 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?
No guidance on when to use this tool versus alternatives. For instance, it does not mention that stock_quote should be used for current price queries or that price_history is for historical prices. Agents must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_analysisARead-only
Analyze a stock portfolio — total value, allocation, performance, and diversification.
Provide holdings as 'SYMBOL:SHARES' pairs (e.g., 'AAPL:10,MSFT:5,GOOGL:3'). Returns current portfolio value, weight distribution, sector breakdown, and individual position details.
| Name | Required | Description | Default |
|---|---|---|---|
| holdings | Yes | Portfolio holdings as 'SYMBOL:SHARES' pairs separated by commas. Example: 'AAPL:10,MSFT:5,GOOGL:3' |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations indicate readOnlyHint=true, and the description describes an analysis that reads data without side effects. The description adds no additional behavioral context (e.g., data freshness, dependencies) beyond what annotations convey.
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 concise (two short paragraphs) and front-loaded: the first line states purpose, the second gives input format and output. Every sentence is necessary and no words are wasted.
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 simplicity (single required parameter, presence of output schema), the description adequately covers input, output, and purpose. It could optionally mention that the portfolio must be in the specified format or that sector breakdown is based on current market data, but it is sufficiently complete for an agent to use it correctly.
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 schema description covers the 'holdings' parameter (100% coverage), but the tool description adds value by explaining the input format with an example and detailing the return categories (value, weight, sector breakdown). This goes beyond the schema's minimal description.
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: 'Analyze a stock portfolio — total value, allocation, performance, and diversification.' The verb 'analyze' and resource 'stock portfolio' are specific and distinct from sibling tools like company_info or risk_metrics.
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 explains the input format ('Provide holdings as 'SYMBOL:SHARES' pairs') and output categories, but does not explicitly state when to use this tool versus alternatives (e.g., risk_metrics for risk analysis). The usage context is implied but not contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
price_historyARead-only
Get historical price data (OHLCV) for a ticker.
Returns open, high, low, close, and volume for each period, plus summary statistics (min, max, avg price, total volume).
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period: 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, max | 1mo |
| symbol | Yes | Ticker symbol (e.g., AAPL, BTC-USD) | |
| interval | No | Interval: 1d, 1wk, 1mo | 1d |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the agent knows it's a read operation. The description adds that the tool returns OHLCV and summary statistics, but it does not disclose other behavioral traits such as rate limits, data source, or error handling. The description provides minimal added value beyond the annotations.
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 concise, consisting of two sentences. The first sentence clearly states the main action, and the second elaborates on the output. There is no wasted text, and it is front-loaded with the purpose.
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?
An output schema exists, so the description does not need to detail return formats. The description covers the main return elements (OHLCV and summary stats) but omits context like data adjustments or date range handling. Overall, it is complete enough given the schema, but a bit more detail would enhance understanding.
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 coverage is 100%, with each parameter described in the schema. The description does not add new meaning to the parameters (e.g., it does not explain what period 'max' means or the default interval). With full schema coverage, the baseline is 3, and the description adds no extra semantic value.
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 historical price data (OHLCV) for a ticker.' It specifies the verb (get), resource (historical price data), and includes return details (open, high, low, close, volume, summary statistics). This distinguishes it from siblings like stock_quote (current price) and technical_analysis (indicators).
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 does not explicitly state when to use this tool versus alternatives. It implies usage for historical price data but offers no guidance on exclusions or when not to use it. For a diverse set of siblings, explicit guidelines would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
risk_metricsBRead-only
Calculate advanced risk metrics: VaR, Sharpe, Sortino, Beta, Max Drawdown.
Professional-grade risk analysis for any stock or ETF. Returns Value-at-Risk (95%), Sharpe ratio (annualized), Sortino ratio, Beta vs benchmark, and maximum drawdown.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Analysis period: 3mo, 6mo, 1y, 2y, 5y | 1y |
| symbol | Yes | Stock ticker (e.g., 'AAPL') | |
| benchmark | No | Benchmark ticker for beta calculation | SPY |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint: true, confirming safe read operation. Description adds context by listing returned metrics (VaR, Sharpe, etc.), but does not disclose other behavioral traits like data freshness, rate limits, or error handling. With annotations covering safety, the description provides adequate but not extra value.
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?
Description is concise: two sentences plus a bullet list of metrics. It is front-loaded with the tool's purpose. 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 complexity (3 parameters, output schema exists), the description sufficiently explains what metrics are returned. It does not mention output schema details (handled by schema itself), but it could elaborate on data source or timeframe interpretation. Still, it is very adequate for a risk metrics 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?
Schema coverage is 100% (all parameters have descriptions in the schema). The description does not add new information about parameters beyond what is in the schema. Baseline score of 3 applies as schema handles parameter documentation adequately.
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?
Description clearly states it calculates advanced risk metrics (VaR, Sharpe, Sortino, Beta, Max Drawdown) for stocks or ETFs. The verb 'Calculate' and resource 'risk metrics' is specific. However, it does not explicitly differentiate itself from sibling tools like technical_analysis or portfolio_analysis, which may also involve risk metrics.
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 explicit guidance on when to use this tool vs alternatives. The phrase 'Professional-grade risk analysis' implies usage for risk assessment, but no exclusions or alternative tool names are mentioned. Given the extensive sibling list, this is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sector_rotationARead-only
Sector performance ranking via SPDR sector ETFs.
Returns performance of all 11 GICS sectors ranked by return. Useful for identifying market leadership and rotation trends.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Period: 1mo, 3mo, 6mo, 1y | 3mo |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true, confirming a safe read operation. Description adds behavioral context by specifying that the tool returns ranked performance, which goes beyond the annotation. No contradictions. Could mention data freshness or update frequency, but not required.
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?
Two sentences with zero wasted words. Front-loaded with clear purpose, then usage hint. Perfectly concise.
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 has only one parameter, no nested objects, and an output schema exists, the description adequately covers purpose and usage. It could mention that it is based on SPDR ETFs, which it does. Complete for a simple 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?
Only one parameter 'period' with 100% schema description coverage. The schema already explains the possible values and default. The description does not add additional meaning beyond what the schema provides, so baseline 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?
Description clearly states 'Sector performance ranking via SPDR sector ETFs' and 'Returns performance of all 11 GICS sectors ranked by return.' This specifies the verb (returns), resource (sector performance), and scope (all 11 sectors ranked). It distinguishes from sibling tools like market_overview or technical_analysis by focusing specifically on sector rotation.
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?
States 'Useful for identifying market leadership and rotation trends,' providing clear usage context. However, it does not explicitly mention when not to use or name alternative tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stock_quoteARead-only
Get the current stock price, change, volume, and key metrics for a ticker.
Returns real-time market data including price, daily change, 52-week range, P/E ratio, market cap, and more.
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Stock ticker symbol (e.g., AAPL, MSFT, TSLA) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already indicates a safe read operation. The description adds valuable context about the returned data (real-time price, daily change, 52-week range, P/E ratio, market cap, etc.), which goes beyond the annotation. No contradictions.
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 two sentences. The first sentence immediately states the core purpose, and the second adds more specific details. No unnecessary words or repetition.
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?
For a simple single-parameter tool that retrieves real-time data, the description is complete. It mentions the key metrics returned, and the presence of an output schema (not shown) likely documents the return format. No additional context seems necessary.
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?
There is a single parameter 'symbol' with a schema description that includes examples (AAPL, MSFT, TSLA). The description mentions 'ticker' which is essentially synonymous. Since schema coverage is 100% and the description adds minimal new info beyond the schema, baseline 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 returns current stock price, change, volume, and key metrics for a ticker, using a specific verb 'Get' and resource 'current stock price... for a ticker'. It distinguishes itself from siblings like 'price_history' (historical data) and 'multi_quote' (multiple tickers).
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 does not provide any guidance on when to use this tool versus alternatives like 'company_info', 'price_history', or 'multi_quote'. There is no explicit statement of when not to use it or which sibling handles related but distinct queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
technical_analysisARead-only
Run a comprehensive technical analysis on a ticker.
Calculates RSI, MACD, Bollinger Bands, SMA (20/50/200), EMA (12/26), and detects patterns like Golden Cross/Death Cross and overbought/oversold conditions.
Returns all indicators with their current values plus a plain-English summary of signals.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No | Data period: 1mo, 3mo, 6mo, 1y, 2y, 5y | 6mo |
| symbol | Yes | Stock or crypto ticker (e.g., AAPL, BTC-USD, ETH-USD) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, which the description does not contradict. The description adds value by detailing the return format (all indicators current values + plain-English summary). No other behavioral traits (e.g., performance, data source) are disclosed, but given the annotation coverage, this is adequate.
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 efficiently structured with a clear first sentence stating the purpose, followed by details. It is front-loaded and contains no unnecessary words. A minor improvement would be to separate the summary from the indicator list.
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 output schema exists, the description does not need to explain return values. It provides a complete list of indicators and patterns, plus the plain-English summary. It does not address possible errors or data limitations, but the tool is well-contextualized.
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 100%, so the baseline is 3. The description does not add significant meaning beyond the schema for symbol and period; it only repeats the default value for period. The schema already sufficiently documents the parameters.
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 runs comprehensive technical analysis on a ticker, listing specific indicators (RSI, MACD, Bollinger Bands, SMAs, EMAs) and patterns (Golden/Death Cross, overbought/oversold). It distinguishes itself from sibling tools like price_history or risk_metrics by emphasizing comprehensiveness and a plain-English summary.
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 implies the tool is for a full technical analysis, but it does not explicitly state when to use this tool versus alternatives (e.g., a single indicator tool). No when-not-to-use or prerequisite information is provided.
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.
17 tool updates
v1.1.0- Added
company_info - Added
compare_assets - Added
correlation_matrix - Added
crypto_price - Added
crypto_search - Added
crypto_top_coins - Added
crypto_trending - Added
earnings_calendar - Added
market_overview - Added
multi_quote - Added
options_chain - Added
portfolio_analysis - Added
price_history - Added
risk_metrics - Added
sector_rotation - Added
stock_quote - Added
technical_analysis
17 tool updates
v1.2.0- Removed
company_info - Removed
compare_assets - Removed
correlation_matrix - Removed
crypto_price - Removed
crypto_search - Removed
crypto_top_coins - Removed
crypto_trending - Removed
earnings_calendar - Removed
market_overview - Removed
multi_quote - Removed
options_chain - Removed
portfolio_analysis - Removed
price_history - Removed
risk_metrics - Removed
sector_rotation - Removed
stock_quote - Removed
technical_analysis
17 tool updates
v0.1.0- First observed
company_info - First observed
compare_assets - First observed
correlation_matrix - First observed
crypto_price - First observed
crypto_search - First observed
crypto_top_coins - First observed
crypto_trending - First observed
earnings_calendar - First observed
market_overview - First observed
multi_quote - First observed
options_chain - First observed
portfolio_analysis - First observed
price_history - First observed
risk_metrics - First observed
sector_rotation - First observed
stock_quote - First observed
technical_analysis
TDQS
Scored across 17 tools
Most tools have clear purposes, but there is significant overlap between stock_quote and multi_quote (both return quotes; multi_quote is just for multiple), and between crypto_price and crypto_top_coins (both include price/market data). Also market_overview could be confused with sector_rotation or compare_assets.
All tools use a consistent noun or adjective_noun pattern (e.g., stock_quote, crypto_price, technical_analysis) without mixing styles. Verbs are implicit in the noun, but the pattern is uniform and predictable for a data retrieval server.
17 tools is on the higher end but appropriate for a comprehensive finance data server covering stocks, crypto, risk, options, and market analysis. It could be trimmed by merging some overlapping features, but it is not excessive.
The server covers a wide breadth of financial data needs: quotes, historical data, crypto, technical analysis, portfolio metrics, risk, correlation, options, earnings, and sector rotation. Minor gaps exist (e.g., no fundamental financial statements beyond company_info, no dividend data), but core research workflows are well supported.
Maintenance
Related MCP Connectors
Real SEC, 13F, insider, congress & macro data your AI agent can cite. Hosted MCP, 24 tools.
SEC filings and financial data for AI agents: 59 tools for statements, valuation and supply chains.
Market intelligence for AI agents. Real-time data, cross-market analysis, and regime detection.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to perform instant SEO, performance, and security audits of any website through the Model Context Protocol. It provides comprehensive analysis without requiring API keys or configuration.115MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access real-time stock, crypto, and market index data from Yahoo Finance, supporting queries for prices, history, company info, and comparisons.MIT
- FlicenseAqualityDmaintenanceProvides AI assistants with real-time stock prices, financial statements, SEC filings, and analytical tools like DCF valuation and ratio analysis.14-
- AlicenseNot gradedqualityBmaintenanceEnables searching and converting currencies, stocks, crypto, ETFs, and funds with current rates and source freshness for AI agents.3MIT