Skip to main content
Glama
xerktech

mcp-financex

by xerktech

MCP FinanceX

PR Checks Publish npm version License: MIT

A comprehensive Model Context Protocol (MCP) server for real-time stock, cryptocurrency, options trading, SEC filings, and fundamental valuation analysis. Provides tools for price quotes, historical data, technical indicators, market news, options chains, Greeks calculation, advanced options strategy analysis, insider trading tracking (Forms 3/4/5), institutional holdings (13F), ownership changes (13D/G), material events (8-K), financial statements, and DCF valuation.

Features

Stock & Crypto Analysis

  • Real-time Price Quotes: Get current prices, changes, volume, and market data for stocks and cryptocurrencies

  • Historical Data: Retrieve OHLCV (Open, High, Low, Close, Volume) data with multiple time intervals

  • Technical Indicators: Calculate RSI, MACD, SMA, EMA, Bollinger Bands, and Stochastic oscillators

  • Market News: Fetch recent news articles for specific symbols or general market news

  • Symbol Search: Find ticker symbols by company name or keyword

  • Batch Operations: Fetch multiple quotes efficiently in a single request

  • Market Overview: Access major market indices and trending stocks

  • Watchlist Management: Track favorite symbols with notes and alerts

Options Trading

  • Options Chains: Complete options data with strikes, premiums, volume, open interest, and IV

  • Greeks Calculator: Delta, Gamma, Theta, Vega, Rho using Black-Scholes model

  • Earnings Calendar: Critical dates for volatility planning

  • Dividend Information: Ex-dividend dates affecting options pricing

  • Historical Volatility: Compare realized volatility with implied volatility

  • Implied Volatility Analysis: IV rank, percentile, and term structure

  • Max Pain Calculator: Find the pin price where most options expire worthless

  • Strategy Analyzer: Analyze complex spreads, condors, butterflies with P&L charts

Real-Time & Market Intelligence (NEW!)

  • Extended Hours Trading: Track pre-market (4 AM - 9:30 AM ET) and after-hours (4 PM - 8 PM ET) price movements

  • Short Interest Tracker: Monitor short ratio (days to cover), short % of float, and short squeeze potential

  • Analyst Ratings: Track Wall Street consensus, target prices, rating distribution, and sentiment trends

  • News Impact Analysis: Correlate news events with price movements to identify significant market-moving events

SEC Filings & Institutional Analysis (NEW!)

  • Insider Trading (Forms 3/4/5): Track CEO, director, and 10% owner buying/selling with real transaction details

  • Institutional Holdings (13F): Monitor hedge fund and institutional investor portfolios (Berkshire, Bridgewater, etc.)

  • Ownership Changes (13D/G): Track major ownership changes (5%+ stakes) and activist investor campaigns

  • Material Events (8-K): Real-time corporate event notifications (M&A, earnings, management changes, cybersecurity)

Fundamental Analysis & Valuation (NEW!)

  • Financial Statements: Access income statements, balance sheets, and cash flow statements

  • Financial Ratios: Calculate profitability, liquidity, leverage, and efficiency ratios

  • DCF Valuation: Calculate intrinsic value using Discounted Cash Flow analysis

  • Sensitivity Analysis: Test valuation assumptions (WACC, terminal growth, FCF margin)

  • Investment Recommendations: Strong Buy/Buy/Hold/Sell/Strong Sell based on upside/downside

Technical Features

  • Smart Caching: Intelligent caching with market hours awareness to minimize API calls

  • Black-Scholes Pricing: Accurate Greeks and theoretical option prices

  • No API Keys Required: Free Yahoo Finance and SEC EDGAR data (respects rate limits)

Related MCP server: market-data-mcp

Installation

Prerequisites

  • Node.js (v18 or later)

  • npm or yarn

Setup

  1. Clone the repository:

git clone https://github.com/xerktech/mcp-financex.git
cd mcp-financex
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. (Optional) Create a .env file for custom configuration:

cp .env.example .env

Usage

Running the Server

Development mode (with auto-reload):

npm run dev

Production mode:

npm start

Configuration with Claude Desktop

Add the server to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Once published to npm, users can run it directly without installation:

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "mcp-financex"]
    }
  }
}

Option 2: Use from GitHub (Before npm publish)

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "github:xerktech/mcp-financex"]
    }
  }
}

Option 3: Local Installation

{
  "mcpServers": {
    "finance": {
      "command": "node",
      "args": ["/path/to/mcp-financex/dist/index.js"]
    }
  }
}

Available Tools

1. get_quote

Get real-time price quote for a stock or cryptocurrency.

Input:

{
  "symbol": "AAPL",
  "fields": ["regularMarketPrice", "marketCap"]  // Optional
}

Example:

Get the current price of Apple stock (AAPL)

Output:

{
  "symbol": "AAPL",
  "regularMarketPrice": 178.50,
  "regularMarketChange": 2.35,
  "regularMarketChangePercent": 1.33,
  "regularMarketVolume": 52438900,
  "marketCap": 2800000000000,
  "currency": "USD",
  "exchangeName": "NASDAQ",
  "quoteType": "EQUITY"
}

2. get_quote_batch

Get quotes for multiple symbols efficiently.

Input:

{
  "symbols": ["AAPL", "MSFT", "BTC-USD", "GOOGL"]
}

Example:

Get current prices for Apple, Microsoft, Bitcoin, and Google

3. get_historical_data

Retrieve historical OHLCV data.

Input:

{
  "symbol": "BTC-USD",
  "period1": "1mo",
  "interval": "1d"
}

Example:

Get the last month of daily price data for Bitcoin

Supported Intervals:

  • 1m, 5m, 15m, 30m - Intraday (limited history)

  • 1h - Hourly

  • 1d - Daily

  • 1wk - Weekly

  • 1mo - Monthly

4. calculate_indicator

Calculate technical indicators on price data.

Input:

{
  "symbol": "AAPL",
  "indicator": "rsi",
  "period": 14,
  "interval": "1d"
}

Example:

Calculate the RSI for Apple stock over the last 14 days

Supported Indicators:

  • RSI (Relative Strength Index): Momentum oscillator, identifies overbought/oversold conditions

  • MACD (Moving Average Convergence Divergence): Trend following indicator

  • SMA (Simple Moving Average): Average price over period

  • EMA (Exponential Moving Average): Weighted average giving more importance to recent prices

  • Bollinger Bands: Volatility indicator with upper/lower bands

  • Stochastic: Momentum indicator comparing closing price to price range

5. search_ticker

Search for ticker symbols by company name or keyword.

Input:

{
  "query": "Tesla",
  "limit": 10
}

Example:

Search for Tesla's ticker symbol

6. get_market_news

Retrieve recent news articles.

Input:

{
  "symbol": "AAPL",
  "limit": 10
}

Example:

Get the latest news about Apple
Get general market news (omit symbol)

SEC Filings & Institutional Analysis Tools

7. get_sec_form4_filings (Insider Trading)

Track insider trading activity from SEC Forms 3, 4, and 5. See what CEOs, directors, and major shareholders are buying or selling.

Input:

{
  "symbol": "AAPL",
  "limit": 20,
  "transactionType": "buy",  // "buy", "sell", or "all"
  "formType": "4"  // "3", "4", or "5"
}

Example:

Show me recent insider buying for Apple
What insider trades happened at Tesla?
Track Form 4 filings for NVDA

Form Types:

  • Form 3: Initial ownership statements when someone becomes an insider

  • Form 4: Changes in ownership (buy/sell transactions)

  • Form 5: Annual summary of transactions

Output: Transaction details with shares, prices, values, insider positions, and SEC filing URLs.

8. get_13f_institutional_holdings

Track what hedge funds and institutional investors are buying and selling from SEC Form 13F quarterly filings.

Input:

{
  "cik": "0001067983",  // Berkshire Hathaway CIK
  "limit": 10,
  "compareQuarters": true
}

Example:

What is Berkshire Hathaway buying? (CIK: 0001067983)
Show me Warren Buffett's latest portfolio changes
Track Bridgewater's 13F filings
What did hedge funds buy this quarter?

Famous Investors CIKs:

  • Berkshire Hathaway (Warren Buffett): 0001067983

  • Vanguard Group: 0000102909

  • BlackRock: 0001086364

Output: Institution details, portfolio holdings, quarterly changes (additions, reductions, increases, decreases).

9. get_13dg_ownership_changes

Monitor major ownership changes (5%+ stakes) and activist investor campaigns from SEC Schedule 13D and 13G filings.

Input:

{
  "symbol": "TSLA",
  "formType": "13D",  // "13D", "13G", or "both"
  "activistOnly": false
}

Example:

Show me recent 13D filings (activist investors)
Who filed major ownership stakes in Tesla?
Track activist investor activity
Recent 5%+ ownership changes

Form Types:

  • 13D: Active ownership with intent to influence company (activist investors)

  • 13G: Passive ownership without intent to influence

Output: Reporting person, ownership percentage, shares, purpose of acquisition, filing dates.

10. get_8k_material_events

Get real-time notifications of material corporate events from SEC Form 8-K current reports.

Input:

{
  "symbol": "AAPL",
  "category": "financial",  // "business", "financial", "securities", "governance", "disclosure", "all"
  "itemNumbers": ["2.02", "5.02"]  // Optional: specific item numbers
}

Example:

Show me recent 8-K filings for Apple
What are the latest material events?
Recent earnings-related 8-Ks (Item 2.02)
Management changes (Item 5.02)

Event Categories:

  • Business: Material agreements, bankruptcy, cybersecurity incidents

  • Financial: M&A completion, earnings releases, impairments

  • Securities: Delisting notices, unregistered sales

  • Governance: Director/officer changes, control changes

  • Disclosure: Regulation FD disclosures

Key Item Numbers:

  • 1.01: Material agreements

  • 1.05: Cybersecurity incidents

  • 2.01: M&A completion

  • 2.02: Earnings releases

  • 5.02: Director/officer changes

  • 8.01: Other material events

Output: Event details, item categories, filing dates, company info, SEC filing URLs.

Fundamental Analysis & Valuation Tools

11. get_financial_statements

Access comprehensive financial data from SEC 10-K (annual) and 10-Q (quarterly) filings.

Input:

{
  "symbol": "AAPL",
  "periodType": "annual",  // "annual" or "quarterly"
  "limit": 3,
  "includeRatios": true
}

Example:

Get Apple's annual financial statements
Show me Tesla's quarterly financials
What is Microsoft's profit margin?
Compare balance sheets over 4 quarters

Available Data:

  • Income Statement: Revenue, gross profit, operating income, net income, EPS, EBITDA

  • Balance Sheet: Assets, liabilities, equity, cash, debt, working capital

  • Cash Flow: Operating cash flow, capital expenditures, free cash flow

Financial Ratios Calculated:

  • Profitability: Gross margin, operating margin, net margin, ROA, ROE

  • Liquidity: Current ratio, quick ratio

  • Leverage: Debt-to-equity, debt-to-assets

  • Efficiency: Asset turnover

Output: Complete financial statements, calculated ratios, period information.

12. calculate_dcf_valuation

Calculate intrinsic value using Discounted Cash Flow (DCF) analysis with 5-year projections and terminal value.

Input:

{
  "symbol": "AAPL",
  "customInputs": {
    "revenueGrowthRates": [0.15, 0.12, 0.10, 0.08, 0.06],
    "fcfMargin": 0.25,
    "wacc": 0.10,
    "terminalGrowthRate": 0.03
  },
  "includeSensitivity": true
}

Example:

Calculate intrinsic value for Apple
Is Tesla overvalued or undervalued?
DCF analysis for NVDA with sensitivity
What is Microsoft worth based on DCF?
Should I buy this stock? (based on valuation)

Customizable Inputs:

  • Revenue growth rates (5-year projection)

  • Free cash flow margin

  • WACC (Weighted Average Cost of Capital)

  • Terminal growth rate

  • Shares outstanding, net debt

Investment Recommendations:

  • Strong Buy: >30% upside

  • Buy: 15-30% upside

  • Hold: -10% to 15%

  • Sell: -25% to -10%

  • Strong Sell: <-25% downside

Sensitivity Analysis: Tests how valuation changes with:

  • WACC variations (+/- 2%)

  • Terminal growth rate variations (+/- 1%)

  • FCF margin variations (+/- 5%)

Output: Intrinsic value per share, current price comparison, recommendation, 5-year projections, optional sensitivity analysis.

13. compare_peer_companies

Compare key financial metrics across multiple companies for competitive analysis and investment decisions.

Input:

{
  "symbols": ["AAPL", "MSFT", "GOOGL"],
  "metrics": ["marketCap", "peRatio", "netMargin", "roe"]  // Optional
}

Example:

Compare Apple, Microsoft, and Google financials
Which tech company has better margins?
Compare Tesla vs traditional automakers
Analyze competitors in the semiconductor sector

Comparison Metrics:

  • Valuation: Market cap, P/E ratio, P/B ratio, EV/EBITDA

  • Profitability: Gross margin, operating margin, net margin, ROA, ROE

  • Growth: Revenue growth, earnings growth

  • Liquidity: Current ratio, quick ratio

  • Leverage: Debt-to-equity, debt-to-assets, interest coverage

  • Efficiency: Asset turnover

  • Earnings Quality: Quality of earnings (OCF/Net Income), cash conversion rate

Rankings: Automatically ranks companies by key metrics to identify leaders and laggards.

Output: Side-by-side comparison of up to 10 companies with rankings for key metrics.

Options Trading Tools

14. get_options_chain

Get complete options chain data with all available strikes, calls, and puts.

Input:

{
  "symbol": "AAPL",
  "expirationDate": "2024-06-21"  // Optional
}

Example:

Show me the options chain for Apple
Get options for TSLA expiring June 21, 2024

Output: Calls and puts with strikes, premiums, volume, open interest, implied volatility, bid/ask spreads.

15. calculate_greeks

Calculate option Greeks (Delta, Gamma, Theta, Vega, Rho) using Black-Scholes model.

Input:

{
  "symbol": "AAPL",
  "strike": 180,
  "expirationDate": "2024-06-21",
  "optionType": "call"
}

Example:

Calculate Greeks for AAPL $180 call expiring June 21
What are the Greeks for a TSLA $250 put?

Greeks Explained:

  • Delta (0-1 for calls, -1-0 for puts): Price sensitivity - how much the option price changes per $1 move in stock

  • Gamma: Rate of delta change - how quickly delta changes as stock moves

  • Theta: Time decay - how much value the option loses per day

  • Vega: Volatility sensitivity - impact of 1% change in implied volatility

  • Rho: Interest rate sensitivity - impact of 1% change in rates

16. get_earnings_calendar

Get upcoming earnings dates and historical earnings data.

Input:

{
  "symbol": "AAPL",
  "daysAhead": 30  // Optional
}

Example:

When is Apple's next earnings date?
Show me upcoming earnings for TSLA

Why it matters: Earnings announcements cause volatility spikes, significantly impacting options prices. Options traders often avoid holding positions through earnings or specifically trade earnings volatility.

17. get_dividend_info

Get comprehensive dividend information including ex-dividend dates.

Input:

{
  "symbol": "AAPL"
}

Example:

What's Apple's dividend yield and ex-dividend date?
Get dividend information for MSFT

Why it matters: Ex-dividend dates affect options pricing, especially for calls. Stock price typically drops by the dividend amount on ex-div date.

18. calculate_historical_volatility

Calculate historical (realized) volatility for multiple periods.

Input:

{
  "symbol": "AAPL",
  "periods": [10, 20, 30, 60, 90]  // Days
}

Example:

Calculate 30-day historical volatility for TSLA
Show me historical volatility trends for AAPL

Why it matters: Compare historical volatility (HV) with implied volatility (IV) to identify overpriced or underpriced options. High IV relative to HV suggests expensive options (good for selling), while low IV relative to HV suggests cheap options (good for buying).

19. calculate_max_pain

Calculate the max pain price where most options expire worthless.

Input:

{
  "symbol": "AAPL",
  "expirationDate": "2024-06-21"  // Optional
}

Example:

What's the max pain for AAPL options?
Calculate max pain for next week's SPY expiration

Theory: Max pain theory suggests prices gravitate toward the strike where option buyers lose the most money (and option writers profit the most) as expiration approaches.

20. get_implied_volatility

Get implied volatility data and compare with historical volatility.

Input:

{
  "symbol": "AAPL"
}

Example:

What's the current IV for Tesla options?
Show me implied volatility by expiration for AAPL

Analysis provided:

  • Current ATM IV

  • IV vs HV comparison

  • IV by expiration (term structure)

  • High/low IV environment assessment

21. analyze_options_strategy

Analyze complex options strategies with P&L calculations, Greeks, and risk metrics.

Input:

{
  "symbol": "AAPL",
  "strategy": "iron_condor",
  "legs": [
    {"strike": 170, "optionType": "put", "action": "buy", "quantity": 1},
    {"strike": 175, "optionType": "put", "action": "sell", "quantity": 1},
    {"strike": 185, "optionType": "call", "action": "sell", "quantity": 1},
    {"strike": 190, "optionType": "call", "action": "buy", "quantity": 1}
  ],
  "expirationDate": "2024-06-21"
}

Supported Strategies:

  • Single options: call, put

  • Stock + option: covered_call, protective_put

  • Vertical spreads: bull_call_spread, bear_put_spread, bull_put_spread, bear_call_spread

  • Volatility: long_straddle, short_straddle, long_strangle, short_strangle

  • Advanced: iron_condor, iron_butterfly, butterfly_spread, calendar_spread, diagonal_spread

Example:

Analyze an iron condor on SPY with strikes 170/175/185/190
What's the risk/reward for a bull call spread on AAPL $175/$180?
Show me P&L chart for a covered call on TSLA at $250 strike

Output:

  • Max profit & max loss

  • Break-even points

  • Net premium/debit

  • Combined Greeks for entire position

  • P&L chart (profit/loss at various prices)

  • Risk/reward ratio

22. get_extended_hours_data

Track pre-market and after-hours trading activity.

Input:

{
  "symbol": "TSLA"
}

Example:

What's Tesla trading at in pre-market?
Show me after-hours price for AAPL
Get extended hours data for NVDA

Output:

{
  "symbol": "TSLA",
  "companyName": "Tesla, Inc.",
  "currentSession": "pre-market",
  "preMarket": {
    "price": 185.50,
    "change": 2.35,
    "changePercent": 1.28,
    "isActive": true
  },
  "regularMarket": {
    "price": 183.15,
    "change": -1.50,
    "changePercent": -0.81,
    "isOpen": false
  },
  "currentPrice": 185.50,
  "currentChange": 2.35
}

Trading Sessions:

  • Pre-market: 4:00 AM - 9:30 AM ET

  • Regular: 9:30 AM - 4:00 PM ET

  • After-hours: 4:00 PM - 8:00 PM ET

23. get_short_interest

Monitor short interest and short squeeze potential.

Input:

{
  "symbol": "GME"
}

Example:

What's the short interest for GameStop?
Show me short squeeze potential for AMC
How many days to cover short positions on TSLA?

Output:

{
  "symbol": "GME",
  "companyName": "GameStop Corp.",
  "shortInterest": {
    "shortRatio": 7.5,
    "shortPercentOfFloat": 22.3,
    "sharesShort": 15420000,
    "shortInterestChange": 1200000,
    "shortInterestChangePercent": 8.4
  },
  "squeezeAnalysis": {
    "risk": "high",
    "score": 85,
    "interpretation": "HIGH SQUEEZE RISK: high days to cover (7.5 days) and very high short interest (22.3% of float)"
  }
}

Squeeze Risk Levels:

  • High: Short ratio >10 days OR short % >30% (Score: 70-100)

  • Medium: Short ratio >3 days OR short % >15% (Score: 40-69)

  • Low: Lower short interest (Score: 0-39)

24. get_analyst_ratings

Track Wall Street analyst recommendations and target prices.

Input:

{
  "symbol": "AAPL"
}

Example:

What do analysts think about Apple?
Show me analyst ratings for Microsoft
What's the price target for NVDA?

Output:

{
  "symbol": "AAPL",
  "companyName": "Apple Inc.",
  "consensus": {
    "rating": "buy",
    "targetPrice": 195.50,
    "targetPriceHigh": 225.00,
    "targetPriceLow": 165.00,
    "numberOfAnalysts": 42
  },
  "ratingDistribution": {
    "strongBuy": 15,
    "buy": 20,
    "hold": 5,
    "sell": 2,
    "strongSell": 0,
    "total": 42
  },
  "trend": {
    "direction": "improving",
    "bullishPercent": 83.3,
    "bearishPercent": 4.8,
    "description": "Strong bullish consensus with 83% buy ratings"
  },
  "priceComparison": {
    "currentPrice": 178.50,
    "upside": 9.5,
    "upsideToHigh": 26.1
  }
}

Consensus Ratings:

  • Buy: >50% buy/strong buy ratings

  • Hold: Mixed opinions or 60%+ hold ratings

  • Sell: >50% sell/strong sell ratings

25. analyze_news_impact

Correlate news events with stock price movements.

Input:

{
  "symbol": "TSLA",
  "days_back": 30,
  "news_limit": 20
}

Example:

How does news affect Tesla's stock price?
Which news had the biggest impact on AAPL?
Analyze news correlation for Microsoft

Output:

{
  "symbol": "TSLA",
  "companyName": "Tesla, Inc.",
  "overallStatistics": {
    "correlationStrength": "strong",
    "significantImpacts": 5,
    "averageImpact1Hour": 0.8,
    "averageImpact1Day": 2.3,
    "impactDistribution": {
      "positiveNews": 12,
      "negativeNews": 5,
      "neutralNews": 3
    }
  },
  "topImpactEvents": {
    "mostPositiveImpact": {
      "title": "Tesla Deliveries Beat Expectations",
      "changePercent": 8.5,
      "impactLevel": "significant"
    },
    "mostNegativeImpact": {
      "title": "Production Delays Announced",
      "changePercent": -5.2,
      "impactLevel": "significant"
    }
  },
  "newsImpacts": [
    {
      "news": {
        "title": "Tesla Deliveries Beat Expectations",
        "timestamp": "2024-01-10T14:30:00Z"
      },
      "priceChanges": {
        "after1Hour": {
          "changePercent": 1.2
        },
        "after1Day": {
          "changePercent": 8.5
        }
      },
      "impact": {
        "level": "significant",
        "score": 92,
        "direction": "positive"
      }
    }
  ]
}

Impact Classification:

  • Significant: ≥5% price movement (Score: 70-100)

  • Moderate: 2-5% price movement (Score: 40-69)

  • Minor: 0.5-2% price movement (Score: 15-39)

  • Negligible: <0.5% price movement (Score: 0-14)

Available Resources

watchlist://default

Access your default watchlist of tracked symbols.

Example:

Show me my watchlist

market://summary

Get real-time summary of major market indices (S&P 500, Dow Jones, NASDAQ, VIX).

Example:

What's the market doing today?

market://trending

Get trending and most active stocks.

Example:

What stocks are trending?

Example Use Cases

Investment Analysis

1. Get current price of Tesla (TSLA)
2. Show me the last 6 months of daily data for TSLA
3. Calculate the 50-day moving average for TSLA
4. Calculate RSI for TSLA
5. Get latest news about Tesla

Crypto Tracking

1. Get current prices for BTC-USD, ETH-USD, and ADA-USD
2. Show me Bitcoin's price history for the last week with hourly intervals
3. Calculate MACD for Ethereum
4. What's the market summary?

Technical Analysis

1. Calculate Bollinger Bands for Apple stock
2. Show me the RSI for MSFT
3. Calculate the 20-day and 50-day moving averages for GOOGL
4. Get stochastic oscillator for SPY

Market Research

1. Search for companies in the electric vehicle sector
2. Get quotes for the top results
3. Compare their market caps and P/E ratios
4. Get news for each company

Options Trading - Pre-Earnings Analysis

1. When is Apple's next earnings date?
2. Show me the options chain for AAPL
3. What's the current implied volatility for AAPL?
4. Calculate historical volatility for comparison
5. Find options with high IV to potentially sell premium

Options Trading - Strategy Building

1. Show me TSLA options expiring next month
2. Calculate Greeks for $250 call
3. Analyze an iron condor strategy on TSLA
4. What's the max profit and max loss?
5. Show me the P&L chart

Options Trading - Risk Management

1. Get the Greeks for my AAPL $180 call position
2. What's my delta exposure?
3. How much am I losing to time decay (theta)?
4. Calculate max pain for this expiration
5. Should I hedge with a protective put?

Options Trading - Volatility Analysis

1. Compare IV vs HV for SPY
2. Is this a high or low volatility environment?
3. Show me IV by expiration (term structure)
4. Find opportunities where IV is elevated
5. Calculate historical volatility for the past 30 days

Technical Details

Data Source

All data is sourced from Yahoo Finance via the yahoo-finance2 library. Yahoo Finance provides:

  • Real-time quotes (with 15-minute delay for some markets)

  • Historical data going back many years

  • Cryptocurrency data (BTC-USD, ETH-USD, etc.)

  • No API key required

  • Free for personal and educational use

Caching Strategy

The server implements intelligent caching to minimize API calls and improve performance:

  • Quotes: 5 seconds (adjusts based on market hours)

  • Historical Data: 1 hour during market hours, 24 hours after hours

  • News: 5 minutes

  • Search Results: 1 hour

  • Technical Indicators: 5 minutes

  • Market Summary: 1 minute

Cache TTLs automatically extend during weekends and after market hours to reduce unnecessary API calls.

Error Handling

The server provides clear, actionable error messages:

  • Invalid Symbol (404): Symbol not found, check ticker

  • Validation Error (400): Invalid input parameters

  • Rate Limit (429): Too many requests, try again later

  • Network Error (502): Connection issues

  • Timeout (504): Request took too long

Technical Indicators Library

Uses the technicalindicators library for accurate, battle-tested calculations. Supports:

  • RSI with overbought/oversold signals

  • MACD with bullish/bearish crossover detection

  • Multiple moving average types

  • Bollinger Bands with bandwidth and %B calculations

  • Stochastic oscillator

CI/CD & Automation

This project uses GitHub Actions for continuous integration and deployment:

Automated Workflows

  1. PR Quality Checks - Runs on every pull request

    • Security scanning (npm audit, Trivy, TruffleHog)

    • Code quality checks (ESLint, formatting)

    • Build verification

    • Tests across multiple Node.js versions (18.x, 20.x, 22.x)

    • Dependency review

  2. Automatic Publishing - Runs on merge to main

    • Auto version bump

    • npm registry publication with provenance

    • GitHub release creation

    • Package artifact upload

Setup for Contributors

See .github/workflows/README.md for detailed workflow documentation.

Required Secrets (for maintainers):

  • NPM_TOKEN - For publishing to npm registry (requires 2FA bypass or automation token)

Development

Claude Code Integration

This project is optimized for development with Claude Code, Anthropic's official CLI tool. The .claude/ directory contains configuration and guides to help Claude work more effectively with the codebase.

For Claude Code Users:

  • .claude/CLAUDE_GUIDE.md - Quick reference for working with this codebase

  • .claude/ARCHITECTURE.md - Detailed system architecture and design decisions

  • .claude/COMMON_TASKS.md - Step-by-step workflows for common development tasks

  • .claude/settings.local.json - Pre-configured permissions for common operations

  • .claudeignore - Optimized to exclude unnecessary files from context

Getting Started with Claude Code:

# Install Claude Code (if not already installed)
npm install -g @anthropic/claude-code

# Navigate to project and start Claude
cd mcp-financex
claude

# Claude will automatically load project configuration
# Try: "Help me add a new technical indicator"

Project Structure

mcp-financex/
├── .claude/                  # Claude Code configuration
│   ├── CLAUDE_GUIDE.md      # Quick reference guide
│   ├── ARCHITECTURE.md      # System architecture
│   ├── COMMON_TASKS.md      # Development workflows
│   └── settings.local.json  # Claude permissions
├── src/
│   ├── index.ts              # Entry point
│   ├── server.ts             # MCP server setup
│   ├── tools/                # MCP tool implementations
│   ├── resources/            # MCP resource implementations
│   ├── services/             # Core services (Yahoo Finance, cache, indicators)
│   ├── types/                # TypeScript type definitions
│   └── utils/                # Utilities (error handling, validation)
├── tests/                    # Test files
├── .claudeignore             # Files to exclude from Claude context
├── package.json
├── tsconfig.json
└── README.md

Scripts

  • npm run build - Compile TypeScript to JavaScript

  • npm run dev - Run in development mode with auto-reload

  • npm start - Run compiled server

  • npm test - Run tests

  • npm run lint - Run ESLint

  • npm run format - Format code with Prettier

Testing

Run the test suite:

npm test

Run tests in watch mode:

npm run test:watch

Generate coverage report:

npm run test:coverage

Environment Variables

Configuration options (optional, defaults provided):

# Server Configuration
NODE_ENV=development
LOG_LEVEL=info

# Cache Configuration (in seconds)
CACHE_DEFAULT_TTL=300
CACHE_QUOTE_TTL=5
CACHE_HISTORICAL_TTL=3600
CACHE_NEWS_TTL=300
CACHE_SEARCH_TTL=3600
CACHE_INDICATOR_TTL=300

# Yahoo Finance Configuration
YAHOO_FINANCE_TIMEOUT=10000
YAHOO_FINANCE_RETRY_ATTEMPTS=3
YAHOO_FINANCE_RETRY_DELAY=1000

Limitations

  • Rate Limiting: Yahoo Finance has rate limits. The server implements caching and retry logic to mitigate this.

  • Real-time Data: Some quotes may have a 15-minute delay depending on the exchange.

  • Intraday Data: Intraday intervals (1m, 5m, etc.) have limited historical data (typically 7 days).

  • Crypto Coverage: Primarily supports major cryptocurrencies paired with USD (BTC-USD, ETH-USD, etc.).

  • No Authentication: Yahoo Finance data is public and doesn't require authentication, but usage should comply with Yahoo's terms of service.

Future Enhancements

Planned features for future releases:

  • Portfolio tracking and P&L calculations

  • Price alerts and notifications

  • Backtesting capabilities

  • More technical indicators (Ichimoku, Fibonacci, etc.)

  • Options data and Greeks calculations

  • Comparison tools for multiple stocks

  • Export to CSV/JSON

  • Redis caching for multi-instance deployments

  • WebSocket streaming for real-time updates

Troubleshooting

"Symbol not found" Error

Make sure you're using the correct ticker symbol format:

  • Stocks: AAPL, MSFT, GOOGL

  • Crypto: BTC-USD, ETH-USD (not BTC alone)

  • Indices: ^GSPC (S&P 500), ^DJI (Dow Jones)

"Rate limit exceeded" Error

The server is making too many requests to Yahoo Finance. The built-in caching should prevent this, but if it occurs:

  • Wait a few minutes before retrying

  • Reduce the frequency of requests

  • Check cache configuration

Connection Issues

Ensure you have a stable internet connection. The server will automatically retry failed requests up to 3 times with exponential backoff.

Publishing to npm

To make this package available for external deployment (so users can run it with npx without installation):

First-time setup:

  1. Create an npm account (if you don't have one):

    npm adduser
  2. Update package.json with your GitHub repository URL:

    "repository": {
      "type": "git",
      "url": "git+https://github.com/xerktech/mcp-financex.git"
    }
  3. Build and publish:

    npm run build
    npm publish

For updates:

  1. Update version in package.json:

    npm version patch  # 1.0.0 -> 1.0.1
    npm version minor  # 1.0.0 -> 1.1.0
    npm version major  # 1.0.0 -> 2.0.0
  2. Publish:

    npm publish

Once published, users can use it in their Claude Desktop config:

{
  "mcpServers": {
    "finance": {
      "command": "npx",
      "args": ["-y", "mcp-financex"]
    }
  }
}

This is similar to how the Alpha Vantage MCP works with uvx - users don't need to install anything locally!

Contributing

Contributions are welcome! Please:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

Please ensure:

  • Code follows the existing style (use npm run format)

  • Tests pass (npm test)

  • New features include tests

  • Documentation is updated

License

MIT License - see LICENSE file for details

Acknowledgments

Disclaimer

This software is provided for educational and informational purposes only. It is not intended as financial advice. Always do your own research and consult with a qualified financial advisor before making investment decisions. The authors are not responsible for any financial losses incurred through the use of this software.

Yahoo Finance data is subject to Yahoo's terms of service. This project is not affiliated with or endorsed by Yahoo.

Available Tools

26 tools
analyze_news_impactA

News Impact Analysis | Price Movement Correlation | Event-Driven Trading - Analyze how news events affect stock prices over time. Correlates news articles with price movements to identify which news has the most significant impact on stock performance.

Key Metrics:

  • Short-Term Impact (1 Hour): Immediate price reaction to news

  • Medium-Term Impact (1 Day): Daily price movement after news

  • Long-Term Impact (1 Week): Extended price trend following news

  • Impact Score: 0-100 score indicating magnitude of price movement

  • Impact Direction: Positive, negative, or neutral price impact

  • Correlation Strength: Overall news-price correlation (strong/moderate/weak/none)

Impact Classification:

  • Significant: ≥5% price movement (Score: 70-100)

  • Moderate: 2-5% price movement (Score: 40-69)

  • Minor: 0.5-2% price movement (Score: 15-39)

  • Negligible: <0.5% price movement (Score: 0-14)

Use Cases:

  • "How does news affect Tesla stock price?"

  • "Which news had the biggest impact on AAPL?"

  • "Analyze news correlation for Microsoft"

  • "Show me price movements after earnings news"

  • "What news caused the biggest price drop for NVDA?"

Why It Matters: News impact analysis helps:

  • Event-Driven Trading: Identify patterns in news-driven price movements

  • Risk Management: Understand how different news types affect volatility

  • Trading Strategy: Time entry/exit based on news impact patterns

  • Market Sentiment: Gauge how market reacts to different news categories

Analysis Insights:

  • Aggregate statistics across all news events

  • Most positive and negative impact events

  • Correlation between news frequency and price volatility

  • Category-specific impact patterns (earnings, M&A, analyst ratings, etc.)

Important Notes:

  • Correlation does not imply causation - other factors may influence price

  • Market-wide events can affect all stocks simultaneously

  • Low-volume stocks may show exaggerated price impacts

  • Some news may be priced in before official publication

Returns: Individual news impacts, aggregate statistics, top impacts, correlation strength, and event analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol to analyze news impact for (e.g., "AAPL", "TSLA"). The analysis will cover recent news and corresponding price movements.
days_backNoNumber of days to look back for news analysis (default: 30, max: 90). Longer periods provide more data but may include less relevant events.
news_limitNoMaximum number of news articles to analyze (default: 20, max: 50). More articles provide better statistical analysis but take longer to process.

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description fully bears the burden of behavioral transparency. It thoroughly discloses the analytical approach (impact scores, direction, classification), and includes important caveats about correlation, market-wide events, low-volume stocks, and news pre-pricing. This ensures the agent understands the tool's behavior and limitations.

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

Conciseness4/5

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

The description is lengthy but well-structured with sections (Key Metrics, Impact Classification, Use Cases, etc.). It is front-loaded with the core purpose. Every section adds value, though some redundancy exists (e.g., 'Why It Matters' partly repeats 'Analysis Insights'). Overall, it earns its length for a complex tool.

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

Completeness5/5

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

Given the tool's complexity and lack of an output schema, the description thoroughly covers what the tool returns: individual news impacts, aggregate statistics, top impacts, correlation strength, and event analysis. It also addresses use cases and limitations, making it contextually complete for agent invocation.

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

Parameters4/5

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

Schema description coverage is 100%, with clear descriptions for all three parameters. The description adds value beyond the schema by explaining trade-offs for days_back and news_limit (e.g., 'Longer periods provide more data but may include less relevant events'). This enhances semantic understanding.

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

Purpose5/5

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

The description clearly states the tool analyzes how news events affect stock prices over time, correlating news with price movements. It distinguishes itself from sibling tools like get_market_news and compare_peer_companies by focusing on impact analysis rather than just retrieving news or comparing peers.

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

Usage Guidelines4/5

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

The description provides explicit use cases with example queries, such as 'How does news affect Tesla stock price?' and 'Which news had the biggest impact on AAPL?'. It includes 'Important Notes' that caution about correlation vs. causation and other limitations, but lacks direct comparison to alternatives like get_market_news for when to use each.

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

analyze_options_strategyA

Analyze an options strategy to calculate max profit, max loss, break-even points, Greeks, and generate a profit/loss chart. Supports complex multi-leg strategies like spreads, straddles, iron condors, and butterflies. Helps visualize risk/reward before entering a trade.

ParametersJSON Schema
NameRequiredDescriptionDefault
legsYesStrategy legs (options positions)
symbolYesStock ticker symbol
strategyYesStrategy type
expirationDateYesExpiration date in YYYY-MM-DD format

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states outputs (max profit, loss, break-even, Greeks, chart) but does not disclose data source (live vs. cached), freshness, or any side effects. It implies calculation and visualization but lacks detail on behavior like whether it uses market data or limitations.

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

Conciseness5/5

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

Three clear sentences: first defines function and outputs, second lists supported strategy complexity, third states use case. No extraneous words, efficient and well-structured.

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

Completeness4/5

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

For an options analysis tool with 100% schema coverage and no output schema, the description adequately covers purpose, outputs, and supported strategies. Lacks mention of chart format or data source, but overall sufficient for an agent to understand when to use it.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The tool description adds context about supporting multi-leg strategies and that premium can be optional (already in schema). The description provides marginal additional clarity but does not significantly extend beyond schema definitions.

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

Purpose5/5

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

The description clearly states the tool analyzes options strategies to calculate specific metrics (max profit, loss, break-even, Greeks) and generate a chart. It lists supported multi-leg strategies (spreads, straddles, iron condors, butterflies), distinguishing it from siblings like 'calculate_greeks' (only Greeks) or 'get_options_chain' (raw data).

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

Usage Guidelines3/5

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

The description mentions it helps visualize risk/reward before entering a trade, which implies appropriate usage context. However, it does not explicitly state when not to use it or reference alternative tools (e.g., calculate_greeks for just Greeks, get_options_chain for raw data). No exclusions or prerequisites are provided.

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

calculate_dcf_valuationA

DCF Valuation | Intrinsic Value | Investment Analysis - Calculate intrinsic value using Discounted Cash Flow (DCF) analysis. Get 5-year cash flow projections, terminal value, and investment recommendations.

What DCF Analysis Provides:

  • Intrinsic Value: Fair value per share based on future cash flows

  • Investment Recommendation: Strong Buy, Buy, Hold, Sell, Strong Sell

  • Upside/Downside: Percentage difference vs current market price

  • 5-Year Projections: Revenue and free cash flow forecasts

  • Sensitivity Analysis: How valuation changes with different assumptions

Key Inputs (customizable):

  • Revenue growth rates (5-year projection)

  • Free cash flow margin

  • WACC (Weighted Average Cost of Capital)

  • Terminal growth rate

  • Shares outstanding, debt, cash

Investment Recommendations:

  • Strong Buy: >30% upside

  • Buy: 15-30% upside

  • Hold: -10% to 15%

  • Sell: -25% to -10%

  • Strong Sell: <-25% downside

Sensitivity Analysis: Tests valuation sensitivity to:

  • WACC changes (+/- 2%)

  • Terminal growth rate changes (+/- 1%)

  • Free cash flow margin changes (+/- 5%)

Use Cases:

  • "Calculate intrinsic value for Apple"

  • "Is Tesla overvalued or undervalued?"

  • "DCF analysis for NVDA with sensitivity"

  • "What is Microsoft worth based on DCF?"

  • "Should I buy this stock?" (based on DCF)

Returns: Intrinsic value, current price comparison, recommendation, projections, optional sensitivity analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol to value (e.g., "AAPL", "TSLA"). Required.
customInputsNoOptional custom inputs to override default assumptions. If not provided, defaults are calculated from historical data and market conditions.
includeSensitivityNoWhen true, includes sensitivity analysis showing how valuation changes with: WACC (+/- 2%), terminal growth rate (+/- 1%), and FCF margin (+/- 5%). Useful for understanding valuation robustness. Default: false.

TDQS

A3.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It details what the tool returns (intrinsic value, recommendation, projections, sensitivity analysis) and explains that inputs are customizable with defaults from historical data. It does not mention rate limits, destructive effects, or error states, but for a computational model, the transparency 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.

Conciseness3/5

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

The description is well-structured with sections, bullet points, and a table, making it readable. However, it is verbose: the 'What DCF Analysis Provides' section partially duplicates 'Returns'. The first sentence gets to the point, but the overall length could be reduced without losing clarity.

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

Completeness4/5

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

Given the absence of an output schema, the description adequately covers return values (intrinsic value, recommendation, projections, sensitivity analysis) and input options. It explains the investment recommendation thresholds and sensitivity analysis scope. However, it could be more explicit about the output format (e.g., JSON structure) and edge cases.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter having a clear description. The description adds a high-level overview of key inputs (e.g., 'Revenue growth rates', 'WACC') and groups them, but it largely paraphrases what is already in the schema. There is no extra semantic insight beyond the schema's own descriptions.

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

Purpose4/5

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

The description clearly states it calculates intrinsic value using Discounted Cash Flow analysis, with specific focus on stock valuation. While the purpose is well-defined, it does not explicitly differentiate from sibling tools that might also compute valuations (e.g., 'get_analyst_ratings' or 'compare_peer_companies'). The title 'DCF Valuation | Intrinsic Value | Investment Analysis' reinforces the purpose.

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

Usage Guidelines3/5

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

The description lists concrete use cases (e.g., 'Calculate intrinsic value for Apple') and suggests when to enable sensitivity analysis. However, it provides no guidance on when NOT to use this tool or alternatives (e.g., for simple price checks, use get_quote). The usage context is implied but lacks exclusions.

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

calculate_greeksA

Calculate option Greeks (Delta, Gamma, Theta, Vega, Rho) using the Black-Scholes model. Greeks measure risk and sensitivity:

  • Delta: Price change per $1 move in underlying (0-1 for calls, -1-0 for puts)

  • Gamma: Rate of delta change

  • Theta: Daily time decay

  • Vega: Sensitivity to 1% volatility change

  • Rho: Sensitivity to 1% interest rate change

ParametersJSON Schema
NameRequiredDescriptionDefault
strikeYesOption strike price
symbolYesStock ticker symbol
optionTypeYesOption type: call or put
riskFreeRateNoRisk-free interest rate as decimal (optional, default: 0.045)
dividendYieldNoAnnual dividend yield as decimal (optional, default: 0)
expirationDateYesExpiration date in YYYY-MM-DD format
underlyingPriceNoCurrent underlying price (optional, will be fetched if not provided)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the model (Black-Scholes) and defines the output Greeks meaningfully. However, it omits limitations (e.g., European options only) and does not mention that the tool can fetch underlying price if not provided, nor any authentication or rate limit concerns.

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

Conciseness4/5

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

The description is front-loaded with the main action and includes structured bullet points for Greek definitions. It is reasonably concise, though the definitions could be considered verbose; every sentence serves a purpose without unnecessary words.

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

Completeness4/5

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

Given no output schema, the description compensates by explaining the returned Greeks. Parameter descriptions in schema are complete. The tool's context is adequately covered for a financial calculation tool, though it assumes familiarity with Black-Scholes and option types.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains each parameter. The description adds definitions for Greeks (outputs) but does not enhance parameter understanding beyond what the schema provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'Calculate' and the resource 'option Greeks', specifying the Black-Scholes model. It lists the specific Greeks (Delta, Gamma, Theta, Vega, Rho), which uniquely identifies this tool among siblings like 'calculate_historical_volatility' or 'calculate_indicator'.

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

Usage Guidelines3/5

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

The description implies the tool is used for computing option Greeks with given parameters, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., 'analyze_options_strategy' might also involve Greeks). No exclusions or prerequisites are mentioned.

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

calculate_historical_volatilityA

Calculate historical volatility (realized volatility) for multiple periods. Historical volatility measures past price fluctuations and is used to compare with implied volatility to identify potential opportunities. Returns annualized volatility percentages.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol
periodsNoArray of periods in days to calculate (default: [10, 20, 30, 60, 90])

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states the output is annualized volatility percentages but omits details on calculation methodology, data source, or any side effects. Adequate but not rich.

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

Conciseness5/5

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

Three concise sentences with no fluff: first states purpose, second adds context, third states output format. Every sentence earns its place.

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

Completeness4/5

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

For a tool with two parameters and no output schema, the description covers the output (annualized volatility percentages) and key usage. It could specify that results are returned per period, but overall it's sufficient given the tool's simplicity.

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

Parameters3/5

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

Schema description coverage is 100%, and the input schema already documents both parameters well. The description adds minimal extra meaning beyond 'multiple periods' and does not detail the period array format or defaults.

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

Purpose5/5

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

The description clearly defines the tool's function: calculating historical volatility for multiple periods. It explicitly mentions the use case of comparing with implied volatility, which distinguishes it from siblings like get_implied_volatility and get_historical_data.

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

Usage Guidelines4/5

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

The description provides context on when to use the tool (comparing with implied volatility for opportunities) but does not state explicit alternatives or conditions where it should not be used.

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

calculate_indicatorB

Calculate technical indicators on price data for a stock or cryptocurrency. Supports RSI, MACD, SMA, EMA, Bollinger Bands, and Stochastic oscillator. Returns calculated values with timestamps and trading signals where applicable.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoLookback period for calculation (default varies by indicator: RSI=14, SMA/EMA=20, Bollinger Bands=20, Stochastic=14, MACD=12 for fast period)
symbolYesTicker symbol (e.g., AAPL, BTC-USD, MSFT)
intervalNoData interval for calculations (default: 1d for daily data)
indicatorYesTechnical indicator to calculate: - rsi: Relative Strength Index (momentum oscillator, 0-100) - macd: Moving Average Convergence Divergence (trend following) - sma: Simple Moving Average (trend indicator) - ema: Exponential Moving Average (trend indicator, more responsive) - bollinger_bands: Bollinger Bands (volatility indicator) - stochastic: Stochastic Oscillator (momentum indicator)
startDateNoStart date for historical data (optional, defaults to sufficient data for indicator)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It mentions the tool returns 'calculated values with timestamps and trading signals where applicable,' which gives some behavioral context. However, it does not disclose data freshness, required authentication, rate limits, or any side effects beyond being a read-only calculation.

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

Conciseness5/5

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

The description is two concise sentences, front-loaded with the core purpose and resource. Every sentence adds value: first defines action and assets, second describes output. No fluff or repetition.

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

Completeness2/5

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

The tool has 5 parameters and no output schema. The description provides only a high-level overview of return values ('calculated values with timestamps and trading signals'), which is insufficient for an agent to understand the exact output structure for each indicator (e.g., fields for MACD vs RSI). Error handling and data availability are also omitted.

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

Parameters3/5

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

Schema description coverage is 100% with detailed descriptions for each parameter (e.g., defaults for period, enum values for indicator). The description adds minimal extra meaning beyond listing the supported indicators, which is already in the schema. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool calculates technical indicators on price data for stocks or cryptocurrencies, and explicitly lists supported indicators (RSI, MACD, SMA, EMA, Bollinger Bands, Stochastic). This specific verb-resource pairing distinguishes it from siblings like calculate_dcf_valuation or get_historical_data.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., get_historical_data for raw data, calculate_historical_volatility for volatility, etc.). There is no explicit when-to-use, when-not-to-use, or comparison to sibling tools.

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

calculate_max_painB

Calculate the max pain price for an options expiration. Max pain is the strike price where option holders (buyers) experience maximum loss, and option writers (sellers) experience maximum profit. Many traders believe prices gravitate toward max pain as expiration approaches.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol
expirationDateNoExpiration date in YYYY-MM-DD format (optional, defaults to nearest expiration)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details such as data sources, calculation methods, prerequisites (e.g., need options chain data), or side effects. The description is purely definitional.

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

Conciseness4/5

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

The description is concise at three sentences, with the first sentence stating the purpose, the second defining the term, and the third providing context. No wasted words, but it could be more structured with a bulleted list.

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

Completeness2/5

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

Without an output schema, the description fails to explain what the tool returns (e.g., a single number, an object with strike price and total OI). This is a significant gap for a calculation tool.

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

Parameters3/5

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

The input schema covers both parameters with descriptions (schema coverage 100%). The description does not add any new information about parameter semantics beyond what the schema already provides.

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

Purpose5/5

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

The description states the tool calculates the max pain price for an options expiration and defines what max pain is. It clearly distinguishes from sibling tools like calculate_greeks or get_options_chain by its specific focus.

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

Usage Guidelines3/5

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

The description mentions that many traders believe prices gravitate toward max pain as expiration approaches, implying when to use it (near expiration). However, it does not explicitly say when to use this tool versus alternatives like calculate_greeks or get_options_chain, and provides no exclusions.

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

compare_peer_companiesA

Peer Comparison | Competitive Analysis | Compare Companies Side-by-Side - Compare key financial metrics across multiple companies to identify relative strengths and weaknesses. Useful for competitive analysis, sector comparison, and investment decisions.

What you can compare:

  • Valuation Metrics: Market cap, P/E ratio, P/B ratio, EV/EBITDA

  • Profitability: Gross margin, operating margin, net margin, ROA, ROE

  • Growth: Revenue growth, earnings growth

  • Liquidity: Current ratio, quick ratio

  • Leverage: Debt-to-equity, debt-to-assets, interest coverage

  • Efficiency: Asset turnover

  • Earnings Quality: Quality of earnings, cash conversion rate

Use Cases:

  • "Compare Apple, Microsoft, and Google financials"

  • "Which tech company has better margins?"

  • "Compare Tesla vs traditional automakers"

  • "Analyze competitors in the semiconductor sector"

  • "Who has the strongest balance sheet among banks?"

Returns: Side-by-side comparison of key metrics for up to 10 companies.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsNoOptional: Specific metrics to compare. If not provided, returns all key metrics. Examples: ["marketCap", "peRatio", "netMargin", "debtToEquity", "roe"]
symbolsYesArray of stock ticker symbols to compare (e.g., ["AAPL", "MSFT", "GOOGL"]). Minimum 2 companies, maximum 10 companies.

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the return type (side-by-side comparison of key metrics) and limits (up to 10 companies). However, it does not mention any behavioral details like rate limits, authorization, or response structure, which is acceptable for a read-only comparison tool.

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

Conciseness4/5

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

The description is well-structured with bullet points and use cases, front-loading the purpose. While slightly long, every section adds value for an agent.

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

Completeness4/5

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

Given the tool has only 2 parameters, no output schema, and no annotations, the description is quite complete. It covers what can be compared, use cases, and return type. It lacks output schema details, but that is acceptable.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description adds value by listing example metrics and categories, but the schema already explains the parameters. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool compares key financial metrics across multiple companies, with specific metrics and use cases listed. It distinguishes from siblings like get_quote (single company) and search_ticker (ticker search).

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

Usage Guidelines4/5

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

The description provides clear use cases (e.g., 'Compare Apple, Microsoft, and Google financials') and specifies that it returns side-by-side comparison. It doesn't explicitly state when not to use it, but the context of sibling tools gives implicit guidance.

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

get_13dg_ownership_changesA

13D/G Ownership Changes | Major Stakes | Activist Investors - Track major ownership changes (5%+ stakes) from SEC Schedule 13D and 13G filings. 13D filings indicate activist intent, while 13G filings indicate passive ownership.

What you can track:

  • Major ownership changes (5%+ of company shares)

  • Activist investor campaigns (Carl Icahn, Bill Ackman, etc.)

  • Passive institutional stakes (13G)

  • Potential takeover targets

  • Hedge fund 13D activity

Form Types:

  • 13D: Active ownership with intent to influence (activist investors)

  • 13G: Passive ownership without intent to influence

  • Amendments: /A suffix indicates filing updates

Use Cases:

  • "Show me recent 13D filings" (activist activity)

  • "Who filed 13D for Tesla?"

  • "Recent activist investor campaigns"

  • "Major ownership changes in tech sector"

Returns: Reporting person, ownership percentage, purpose, filing dates, direct SEC links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of filings to return (default: 20, max: 50)
symbolNoStock ticker symbol to get ownership filings for (e.g., "AAPL", "TSLA"). Omit to get market-wide recent filings.
formTypeNoType of filing to retrieve: "13D" = Active ownership (activist investors), "13G" = Passive ownership, "both" = All ownership filings (default).
activistOnlyNoWhen true, only returns activist investors (those with multiple 13D filings). Useful for identifying activist campaigns. Default: false.

TDQS

A4.5/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Clearly describes what is returned: reporting person, ownership percentage, purpose, filing dates, SEC links. Explains form types and amendments. Lacks details on rate limits or authentication, but sufficient for behavioral understanding.

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

Conciseness4/5

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

Well-structured with headings and bullet points. Front-loaded with summary. Every sentence adds value, but slightly longer than necessary; could be more concise without losing clarity.

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

Completeness5/5

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

Despite no output schema, description adequately covers return values and filing types. For a tool with 4 parameters and moderate complexity, the description is complete and leaves no major gaps.

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

Parameters5/5

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

Schema coverage is 100%, and description adds significant meaning: explains formType enum values ('13D' vs '13G' vs 'both'), activistOnly flag, and default values. Provides context beyond schema, e.g., 'activistOnly: returns only activist investors with multiple 13D filings'.

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

Purpose5/5

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

Description explicitly states it tracks major ownership changes (5%+ stakes) from SEC Schedule 13D and 13G filings. Distinguishes between 13D (activist intent) and 13G (passive ownership), and provides clear use cases. Differentiates from sibling tools like get_13f_institutional_holdings or get_insider_trades.

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

Usage Guidelines4/5

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

Provides concrete use cases (e.g., 'Show me recent 13D filings', 'Who filed 13D for Tesla?'). Explains when to use each form type. Does not explicitly state when not to use, but context makes it clear.

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

get_13f_institutional_holdingsA

13F Institutional Holdings | Hedge Fund Tracking | See What Warren Buffett is Buying - Track institutional investor holdings from SEC Form 13F filings. 13F filings are filed quarterly by institutions managing >$100M in assets.

What you can track:

  • Hedge fund portfolio holdings (Berkshire Hathaway, Bridgewater, etc.)

  • Mutual fund positions

  • Pension fund investments

  • Quarterly changes (new positions, sold positions, increases, decreases)

  • Activist investor identification

Use Cases:

  • "What is Berkshire Hathaway buying?" (use CIK: 0001067983)

  • "Show me recent 13F filings for Bridgewater"

  • "Track quarterly changes in institutional holdings"

  • "Find activist investors"

Returns: Institution details, filing dates, holdings summaries, quarterly comparison data.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikYesSEC CIK (Central Index Key) of the institution to track. Examples: Berkshire Hathaway (0001067983), Vanguard Group (0000102909), BlackRock (0001086364). Required for institution-specific tracking.
limitNoMaximum number of filings to return (default: 10, max: 40)
compareQuartersNoWhen true, compares the most recent filing with the previous quarter to show: additions (new positions), reductions (sold positions), increases, and decreases. Default: false.

TDQS

A4.3/5.0
Behavior4/5

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

Discloses return data (institution details, filing dates, holdings summaries) and explains compareQuarters behavior; no destructive actions indicated.

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

Conciseness4/5

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

Well-structured with bullet points and sections, though somewhat lengthy; front-loaded with key purpose.

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

Completeness4/5

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

Given no output schema, description adequately covers what the tool returns, use cases, and parameter context for a moderately complex tool.

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

Parameters4/5

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

Schema coverage is 100%; description adds meaning with CIK examples and explanation of compareQuarters, enhancing beyond schema.

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

Purpose5/5

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

Clearly states it tracks institutional investor holdings from SEC Form 13F filings, with specific examples like Berkshire Hathaway and use cases that precisely define the tool's scope.

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

Usage Guidelines4/5

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

Provides explicit use cases with CIK examples, but does not directly distinguish from sibling tools like get_13dg_ownership_changes.

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

get_8k_material_eventsA

8-K Material Events | Corporate News | SEC Current Reports - Get SEC Form 8-K current reports of material corporate events. 8-K filings are filed within 4 business days of significant events.

Event Categories Tracked:

  • Business Events: Material agreements, bankruptcy, cybersecurity incidents

  • Financial Events: M&A completion, earnings releases, impairments, debt changes

  • Securities Events: Delisting notices, unregistered sales, rights modifications

  • Governance Events: Director/officer changes, control changes, voting results

  • Disclosure Events: Regulation FD disclosures

Key Item Numbers:

  • Item 1.01: Material agreements

  • Item 1.05: Cybersecurity incidents

  • Item 2.01: M&A completion

  • Item 2.02: Earnings releases

  • Item 5.02: Director/officer changes

  • Item 8.01: Other material events

Use Cases:

  • "Show me recent 8-K filings for Apple"

  • "What are the latest material events?"

  • "Show me earnings-related 8-Ks" (Item 2.02)

  • "Recent management changes" (Item 5.02)

Returns: Event details, item categories, filing dates, company info, direct SEC links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of events to return (default: 20, max: 50)
symbolNoStock ticker symbol to get material events for (e.g., "AAPL", "TSLA"). Omit to get market-wide recent events.
categoryNoFilter by event category: "business" = Material agreements, bankruptcy, cybersecurity; "financial" = M&A, earnings, impairments; "securities" = Delisting, stock sales; "governance" = Management changes, voting; "disclosure" = Regulation FD; "all" = All events (default).
itemNumbersNoFilter by specific 8-K item numbers (e.g., ["2.02", "5.02"]). Useful for tracking specific event types like earnings (2.02) or management changes (5.02).

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions filing timeliness (4 business days) and return content, but does not disclose potential rate limits, authentication needs, or any destructive actions. The return format is vague.

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

Conciseness4/5

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

The description is fairly long but well-organized with sections and bullet points. It starts with a clear summary and uses whitespace effectively. Every sentence adds information, though it could be slightly tightened.

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

Completeness4/5

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

Given no output schema, the description provides a reasonable overview of return contents. With 4 optional parameters fully documented in schema, the description covers usage scenarios and parameter values. It could mention pagination or default behaviors, but overall it is adequate.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds significant value by explaining event categories, item numbers, and their meanings, which goes beyond the schema's short descriptions. This helps the agent understand parameter semantics deeply.

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

Purpose5/5

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

The description clearly states the tool retrieves SEC Form 8-K current reports, listing event categories and item numbers. It distinguishes itself from sibling tools like get_earnings_calendar and get_market_news by focusing exclusively on 8-K filings.

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

Usage Guidelines4/5

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

Use cases are provided (e.g., 'Show me recent 8-K filings for Apple'), and the description implies when to use this tool vs. others (e.g., for 8-Ks vs. other forms). However, it lacks explicit 'when not to use' or direct alternative tool references.

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

get_analyst_ratingsA

Analyst Ratings & Target Prices | Wall Street Consensus | Upgrades & Downgrades - Track analyst recommendations, price targets, and consensus changes for stocks. Get insights into what Wall Street analysts think about a company's prospects.

Key Metrics:

  • Consensus Rating: Overall buy/hold/sell recommendation from analysts

  • Target Price: Mean analyst price target with high/low/median ranges

  • Rating Distribution: Breakdown of strong buy, buy, hold, sell, strong sell ratings

  • Analyst Coverage: Number of analysts actively covering the stock

  • Price Upside/Downside: Potential gains or losses to target prices

  • Trend Analysis: Whether analyst sentiment is improving, deteriorating, or stable

Trend Indicators:

  • Improving: 50%+ buy ratings indicate bullish analyst sentiment

  • Deteriorating: 50%+ sell ratings indicate bearish analyst sentiment

  • Stable: 60%+ hold ratings or mixed opinions with no clear consensus

Use Cases:

  • "What do analysts think about Apple stock?"

  • "Show me analyst ratings for TSLA"

  • "What's the price target for Microsoft?"

  • "Which analysts are bullish on NVDA?"

  • "Is analyst sentiment improving for AMD?"

Why It Matters: Analyst ratings influence:

  • Stock Price: Upgrades often lead to price increases

  • Investor Sentiment: Wall Street opinions shape market perception

  • Trading Volume: Rating changes can trigger significant buying/selling

  • Target Setting: Price targets help investors gauge potential returns

Important Notes:

  • Analyst ratings are opinions, not guarantees

  • Consider multiple factors beyond analyst recommendations

  • Rating changes can be influenced by various factors (earnings, industry trends, etc.)

  • Strong consensus doesn't always predict future performance

Returns: Consensus rating, target prices, rating distribution, analyst coverage, upside/downside percentages, and trend analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoStock ticker symbol to get analyst ratings for (e.g., "AAPL", "MSFT"). Analyst ratings are typically available for widely-covered US stocks.
symbolsNoOptional: Array of symbols to get analyst ratings for multiple stocks at once. If provided, this takes precedence over the single symbol parameter.

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It details the return metrics (consensus rating, target prices, etc.) and includes notes that analysts' opinions are not guarantees. However, it does not disclose potential rate limits, data freshness, or whether the tool is read-only.

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

Conciseness3/5

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

The description is well-structured with sections but is quite verbose. Sections like 'Why It Matters' and 'Important Notes' are somewhat extraneous for tool selection. Could be more concise while retaining key details.

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

Completeness4/5

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

Given the absence of an output schema, the description adequately explains the returned data. Parameter count is low and well-covered. No critical information is missing for an agent to select and invoke the tool correctly.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the 'symbol' parameter with examples ('AAPL', 'MSFT') and notes about availability for widely-covered US stocks. The 'symbols' parameter is also briefly described.

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

Purpose5/5

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

The description clearly states the tool's purpose: track analyst recommendations, price targets, and consensus changes. It lists key metrics and use cases, distinguishing it from sibling tools like 'get_quote' or 'get_earnings_calendar' by focusing on analyst sentiment.

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

Usage Guidelines3/5

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

The description provides example use cases and 'Why It Matters,' but lacks explicit guidance on when to use this tool versus alternatives. No mention of prerequisites or when not to use it, though the context is somewhat implied by the examples.

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

get_dividend_infoA

Get dividend information for a stock including dividend rate, yield, ex-dividend date, and payout ratio. Dividends affect options pricing, especially for calls around ex-dividend dates.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol (e.g., AAPL, MSFT)

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It lists returned fields but discloses no behavioral traits (e.g., read-only nature, data freshness, rate limits, or side effects). Basic info only.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no fluff. Every sentence adds value.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description adequately explains what is returned and hints at a use case. Could mention data source or update frequency, but it's near complete.

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

Parameters3/5

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

Schema coverage is 100% and the schema already describes 'symbol' as a ticker. The description does not add extra meaning beyond listing return fields, so it doesn't exceed the baseline for a well-covered schema.

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

Purpose5/5

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

The description clearly states the action 'Get' and the resource 'dividend information for a stock', listing specific fields (dividend rate, yield, ex-dividend date, payout ratio). This distinguishes it from sibling tools, none of which focus on dividends.

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

Usage Guidelines3/5

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

It provides a use case ('affects options pricing, especially for calls around ex-dividend dates') but does not explicitly state when to use or avoid this tool compared to alternatives. The guidance is implied rather than explicit.

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

get_earnings_calendarA

Get upcoming earnings dates and historical earnings data for a stock. Earnings announcements significantly impact options pricing due to increased volatility. Returns earnings dates, estimates, and historical results.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoStock ticker symbol (optional, omit for market-wide calendar)
daysAheadNoNumber of days ahead to look (default: 30, max: 365)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It states what is returned (dates, estimates, historical results) but lacks details on pagination, error handling, or data scope (e.g., market-wide when symbol omitted). Basic transparency is present but incomplete.

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

Conciseness5/5

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

Three sentences with no waste. First sentence front-loads the core purpose, second adds relevant context, third lists returns. Efficient structure.

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

Completeness4/5

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

For a simple tool with 2 optional parameters and no output schema, the description adequately covers the main function. It could mention that omitting symbol gives market-wide calendar, but the schema already hints at that. Overall, reasonably complete.

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

Parameters3/5

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

Input schema has 100% coverage with descriptions for both parameters. The description adds context about options volatility but does not enhance parameter meaning beyond what the schema already provides. Baseline score is appropriate.

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

Purpose5/5

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

The description clearly states it gets upcoming earnings dates and historical earnings data for a stock, using a specific verb and resource. It differentiates from sibling tools like get_financial_statements or get_historical_data by focusing specifically on earnings calendar data.

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

Usage Guidelines3/5

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

The description provides context that earnings impact options pricing, implying use cases for options analysis, but does not explicitly state when to use this tool vs alternatives or when not to use it. No direct comparison with siblings is given.

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

get_extended_hours_dataA

Pre-Market & After-Hours Trading | Extended Session Data | Early/Late Trading Activity - Get real-time pre-market and after-hours trading data for stocks. Extended hours trading occurs before and after regular market hours, allowing traders to react to news and events.

Trading Sessions:

  • Pre-Market: 4:00 AM - 9:30 AM ET (before regular hours)

  • Regular Hours: 9:30 AM - 4:00 PM ET (standard trading)

  • After-Hours: 4:00 PM - 8:00 PM ET (after regular hours)

Data Provided:

  • Pre-market price, change, volume

  • After-hours price, change, volume

  • Regular market data (for comparison)

  • Current active session indicator

  • Most recent price across all sessions

Use Cases:

  • "Show me Apple's pre-market price"

  • "What's Tesla trading at after-hours?"

  • "Get extended hours data for NVDA"

  • "Is there pre-market activity on AAPL?"

  • "Compare regular vs after-hours price for MSFT"

Why It Matters: Extended hours trading reveals early market reactions to:

  • Earnings announcements (typically after-hours or pre-market)

  • Breaking news and geopolitical events

  • Analyst upgrades/downgrades

  • Economic data releases

Important Notes:

  • Extended hours have lower liquidity (wider spreads)

  • Prices can be more volatile

  • Not all stocks are actively traded in extended hours

Returns: Pre-market and after-hours prices, changes, current session, and comparison with regular hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoStock ticker symbol to get extended hours data for (e.g., "AAPL", "TSLA"). Extended hours data is typically only available for US stocks.
symbolsNoOptional: Array of symbols to get extended hours data for multiple stocks at once. If provided, this takes precedence over the single symbol parameter.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses the data provided, trading sessions, and important notes about liquidity and volatility. It does not mention authentication or update frequency, but covers core behavioral aspects.

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

Conciseness3/5

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

The description is well-structured with sections but is somewhat verbose, including educational content ('Why It Matters'). It could be more concise while retaining clarity.

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

Completeness4/5

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

Given no output schema, the description explains return data (price, change, volume, session indicator). Parameter coverage is complete, and the description adds context about sessions and use cases. Almost complete for agent usage.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds context beyond schema: symbol description notes US stocks only, symbols parameter precedence. This adds meaningful guidance for the agent.

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

Purpose5/5

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

The description clearly states the tool provides real-time pre-market and after-hours trading data for stocks. It distinguishes from siblings by focusing specifically on extended hours, and includes explicit examples and data scope.

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

Usage Guidelines4/5

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

The description includes use cases and important notes about when to use the tool (e.g., for early/late trading reactions) and limitations (lower liquidity, volatility). It does not mention alternatives among sibling tools, but the context makes the purpose clear.

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

get_financial_statementsA

Financial Statements | Income Statement | Balance Sheet | Cash Flow - Access comprehensive financial data from SEC 10-K (annual) and 10-Q (quarterly) filings. Get income statements, balance sheets, cash flow statements, and calculated financial ratios.

Available Data:

  • Income Statement: Revenue, gross profit, operating income, net income, EPS, EBITDA

  • Balance Sheet: Assets, liabilities, equity, cash, debt, working capital

  • Cash Flow: Operating cash flow, capital expenditures, free cash flow

  • Financial Ratios: Profitability, liquidity, leverage, and efficiency metrics

Financial Ratios Calculated:

  • Profitability: Gross margin, operating margin, net margin, ROA, ROE

  • Liquidity: Current ratio, quick ratio

  • Leverage: Debt-to-equity, debt-to-assets

  • Efficiency: Asset turnover

Use Cases:

  • "Get Apple's annual financial statements"

  • "Show me quarterly financials for Tesla"

  • "What is Microsoft's profit margin?"

  • "Compare balance sheets over 4 quarters"

  • "Calculate financial ratios for NVDA"

Returns: Complete financial statements, calculated ratios, period information, SEC filing links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of periods to retrieve (default: 4 for quarterly, 3 for annual). Useful for trend analysis over time. Max: 10.
symbolYesStock ticker symbol to get financial statements for (e.g., "AAPL", "TSLA"). Required.
periodTypeNoType of financial period: "annual" = Annual reports (10-K), "quarterly" = Quarterly reports (10-Q). Default: "annual".
includeRatiosNoWhen true, calculates and includes financial ratios: profitability (margins, ROA, ROE), liquidity (current, quick), leverage (debt ratios), efficiency (asset turnover). Default: true.

TDQS

A4.5/5.0
Behavior4/5

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

Since no annotations are provided, the description carries full burden. It discloses the data source (SEC filings), return components (statements, ratios, period info, links), and includes a parameter description for limit. It does not mention destructive actions or auth, but as a read-only data retrieval tool, this is adequate. Slightly more detail on response structure could improve transparency.

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

Conciseness4/5

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

The description is well-structured with headings and bullet points, making key information easy to scan. It is somewhat verbose but every section adds value. Front-loads the main purpose effectively.

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

Completeness5/5

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

The description is comprehensive, covering all financial statements and ratios, use cases, and return components. Without an output schema, it sufficiently explains what the tool returns. Given the complexity of financial data, it is complete.

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

Parameters5/5

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

Schema coverage is 100% with each parameter described. The description adds value by explaining defaults (e.g., limit default depends on periodType) and providing context for includeRatios and periodType use cases, going beyond the schema alone.

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

Purpose5/5

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

The description clearly states it accesses financial statements from SEC filings, listing specific statements and ratios. It distinguishes from siblings like get_historical_data (price history) or get_options_chain (options data) by focusing on fundamental financial data.

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

Usage Guidelines4/5

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

The description provides clear use case examples (e.g., 'Get Apple's annual financial statements') and mentions available data types. However, it does not explicitly state when to avoid using this tool in favor of alternatives, though the sibling list and context make it implicit.

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

get_historical_dataA

Retrieve historical OHLCV (Open, High, Low, Close, Volume) price data for a stock or cryptocurrency. Supports various time intervals from 1 minute to 1 month. Useful for charting and technical analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesTicker symbol (e.g., AAPL, BTC-USD, MSFT)
period1YesStart date/period. Can be ISO date (YYYY-MM-DD), relative period (1d, 7d, 1mo, 3mo, 1y), or timestamp.
period2NoEnd date/period (optional, defaults to now). Can be ISO date (YYYY-MM-DD), relative period, or timestamp.
intervalYesData interval: 1m=1 minute, 5m=5 minutes, 15m=15 minutes, 30m=30 minutes, 1h=1 hour, 1d=1 day, 1wk=1 week, 1mo=1 month

TDQS

A4/5.0
Behavior3/5

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

Mentions support for various time intervals but does not disclose behavioral traits like rate limits, error handling for invalid symbols, or data source specifics. With no annotations, the description could provide more context on execution behavior.

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

Conciseness5/5

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

Two sentences, front-loaded with core function, 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.

Completeness4/5

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

For a tool with no output schema and moderate complexity (4 parameters), the description adequately covers the purpose and usage scope. Could mention return format or data adjustments for completeness, but not lacking.

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

Parameters3/5

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

Schema coverage is 100%, so description adds no new meaning beyond what is already provided in the parameter descriptions. The interval summary is useful but not additive beyond the schema.

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

Purpose5/5

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

Clearly states it retrieves historical OHLCV price data for stocks or cryptocurrencies, specifying the resource and action. Distinguishes from siblings like get_quote (current price) and get_extended_hours_data by focusing on historical data.

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

Usage Guidelines4/5

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

Indicates utility for charting and technical analysis, providing a clear use case. However, it does not explicitly state when not to use this tool (e.g., for current prices) or mention sibling alternatives.

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

get_implied_volatilityA

Get implied volatility (IV) data for a stock. IV represents market expectations of future volatility. Compare IV to historical volatility to identify high or low volatility environments. Returns current IV, IV by expiration, and comparison with historical volatility.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses that the tool returns current IV, IV by expiration, and comparison with historical volatility, which informs the agent of output content. However, it does not mention any side effects or permission requirements.

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

Conciseness5/5

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

Three sentences, front-loaded with purpose, no wasted words. Efficient and clear.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description adequately explains the concept of IV, its use, and what data is returned. It covers the essential information, though it could be slightly more detailed about the output structure.

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

Parameters3/5

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

Only one parameter (symbol) with 100% schema coverage. The schema already describes it as a stock ticker symbol, and the description adds no additional meaning or constraints beyond that.

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

Purpose5/5

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

Clearly states the tool gets implied volatility data for a stock, specifying the verb (get) and resource (IV data). Distinguishes from sibling tools like calculate_historical_volatility.

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

Usage Guidelines3/5

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

Mentions comparing IV to historical volatility to identify high/low volatility environments, but does not explicitly state when to use this tool versus siblings like calculate_historical_volatility or calculate_greeks, nor does it provide when-not guidance.

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

get_insider_tradesA

🚨 PRIMARY TOOL FOR: SEC, EDGAR, FORM 4, INSIDER TRADING, INSIDER BUYING, INSIDER SELLING 🚨 This tool provides DIRECT REAL-TIME ACCESS to SEC.gov EDGAR database for Form 4 insider trading filings. DO NOT say "data unavailable" - THIS TOOL CAN RETRIEVE SEC Form 4 DATA.

ALWAYS use this tool when user mentions:

  • "SEC Form 4" or "Form 4 filings" or "SEC filings" or "EDGAR"

  • "insider trading" or "insider activity" or "insider transactions"

  • "insider buying" or "insider selling" or "insider purchases/sales"

  • "what are insiders doing" or "are insiders buying/selling"

  • "latest Form 4" or "recent insider trades"

Two operating modes:

  1. Company-specific (provide symbol parameter): Returns detailed insider activity analysis for a specific stock including transaction history, net buying/selling sentiment, top insiders, and optional company fundamentals

  2. Market-wide (omit symbol parameter): Returns recent Form 4 filings across all companies in the market

Example queries this tool handles:

  • "Show me insider trading for AAPL"

  • "Are insiders buying or selling Tesla stock?"

  • "What are the latest Form 4 filings?"

  • "Recent insider purchases in the last week"

  • "Show me insider selling activity for NVDA"

Data returned: Insider names, positions, transaction types (buy/sell), shares traded, prices, transaction values, filing dates, and direct links to SEC Form 4 documents.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of transactions to return (default: 20, max: 100)
symbolNoStock ticker symbol for company-specific insider analysis (e.g., "AAPL", "TSLA", "MSFT"). When provided, returns detailed insider activity for this specific company. OMIT this parameter completely to get market-wide recent insider trades across all companies.
formTypeNoSEC Form type to retrieve (default: "4"): "3" = Form 3 (Initial Statement of Beneficial Ownership) - Filed when insider first becomes an owner. "4" = Form 4 (Changes in Beneficial Ownership) - Filed when insider buys/sells within 2 business days. Most common for tracking active trading. "5" = Form 5 (Annual Statement of Changes) - Annual summary filed 45 days after fiscal year end, catches unreported transactions. Default is "4" which provides timely insider transaction data.
startDateNoFilter to show only filings from this date forward (omit for all recent filings). Accepts: ISO date format "YYYY-MM-DD" (e.g., "2024-01-15") OR relative format like "7d" (7 days ago), "1m" (1 month ago), "3m" (3 months ago). Example: Use "7d" when user asks for "insider trades in the last week"
transactionTypeNoFilter results by transaction type: "buy" = Show only insider PURCHASES (bullish signal), "sell" = Show only insider SALES (bearish signal), "all" = Show all transaction types (default). Use "buy" when user asks "are insiders buying?" or "sell" when user asks "are insiders selling?"
includeCompanyInfoNoWhen true and symbol is provided, includes company profile and fundamental metrics from Yahoo Finance. Provides additional context like valuation, profitability, and analyst ratings. Default: true when symbol is provided, ignored for market-wide mode.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries full behavioral burden. It accurately describes real-time access to EDGAR, the two modes, and returned fields. It does not disclose limitations like rate limits or data freshness, but overall transparency is good.

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

Conciseness4/5

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

The description is somewhat lengthy but well-structured with headings, bullet points, and examples. It front-loads the primary purpose and uses emojis for emphasis. Every section serves a purpose, but slight trimming could improve conciseness.

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

Completeness5/5

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

Given no output schema, the description adequately explains return values (insider names, positions, etc.). It covers both modes, all 6 parameters with enums, and provides sufficient context for an AI agent to use the tool effectively.

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

Parameters4/5

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

Schema description coverage is 100%, so baseline is 3. The description adds significant value by explaining parameter usage with examples (e.g., relative dates for startDate, mode switching via symbol presence), justifying a higher score.

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

Purpose5/5

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

The description explicitly states the tool is for SEC Form 4 insider trading filings, distinguishes two operating modes (company-specific vs market-wide), and lists emitted data types. The verb 'retrieve' with resource 'SEC Form 4 data' is specific and differentiates from sibling tools like get_sec_form4_filings.

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

Usage Guidelines4/5

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

The description provides clear trigger keywords and example queries, making it obvious when to invoke this tool. However, it does not explicitly mention when not to use it or suggest alternative tools for related tasks, which would elevate the score to 5.

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

get_market_newsA

Retrieve comprehensive market intelligence for a ticker symbol or general market news. When a symbol is provided with comprehensive=true, returns detailed context including: - Recent news articles with automatic categorization (earnings, M&A, legal, analyst ratings, etc.) - Company fundamentals (valuation metrics, profitability, growth, financial health) - Analyst ratings and price targets - Upcoming events (earnings dates, dividends, splits) - Institutional ownership and top holders - Insider summary (NOTE: For detailed SEC Form 4 filings, use get_insider_trades tool instead) - Short interest and options activity (volatility indicators) - Sector and industry context This comprehensive view helps LLMs understand factors affecting volatility and future price movements. For basic news only, set comprehensive=false.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of news articles to return (default: 20 for comprehensive, 10 for basic, max: 50)
symbolNoTicker symbol for company-specific intelligence (e.g., AAPL, MSFT). Omit for general market news.
comprehensiveNoWhen true and symbol is provided, returns comprehensive market context including fundamentals, analyst ratings, upcoming events, institutional holdings, insider transactions, short interest, and categorized news. When false, returns only news articles. Default: true if symbol provided, false otherwise.

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the extensive data returned (categorized news, fundamentals, ratings, events, ownership, insider summary, short interest, options activity, sector context) and notes a limitation (use get_insider_trades for detailed Form 4).

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

Conciseness4/5

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

The description is well-structured with a clear opening and bullet points for the comprehensive view. It is slightly lengthy but every sentence adds value. The front-loading of the main purpose is effective.

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

Completeness5/5

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

Given no output schema and no annotations, the description is remarkably thorough. It covers what the tool does, when to use each mode, parameter details, and even references a sibling tool. For a tool with 3 parameters and moderate complexity, it is fully complete.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds meaning beyond schema: it explains default behavior (comprehensive defaults true if symbol provided, limit defaults differ), and clarifies the purpose of each parameter beyond their schema descriptions.

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

Purpose5/5

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

The description clearly states it retrieves market intelligence for a ticker symbol or general market news, distinguishing between comprehensive and basic modes. It lists specific content categories and differentiates from sibling tool get_insider_trades.

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

Usage Guidelines4/5

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

The description explains when to use comprehensive (with symbol) vs basic (comprehensive=false) and directs users to get_insider_trades for detailed SEC filings. However, it does not explicitly contrast with other news-related siblings like analyze_news_impact or get_analyst_ratings.

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

get_options_chainA

Get options chain data for a stock including all available calls and puts with strikes, premiums, volume, open interest, and implied volatility. Useful for analyzing available options contracts and their prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesStock ticker symbol (e.g., AAPL, MSFT)
expirationDateNoExpiration date in YYYY-MM-DD format (optional, defaults to nearest expiration)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Lists output fields but fails to disclose behavioral traits like rate limits, real-time vs delayed data, potential size of response, or any side effects. Lacks depth for a read operation.

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

Conciseness5/5

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

Two sentences, front-loaded with core purpose and data fields. Second sentence adds context without redundancy. No wasted words; highly efficient.

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

Completeness4/5

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

Given no output schema, description adequately lists returned fields (strikes, premiums, etc.). Could mention potential size or pagination, but covers essential elements for agent to select tool. Sibling tools are analytical, so this tool's role is clear.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. Description does not add extra meaning beyond schema: it omits details on expirationDate format or default behavior. Baseline 3 as schema already covers parameters.

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

Purpose5/5

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

Description uses specific verb 'Get' and resource 'options chain data', listing exact fields (calls/puts, strikes, premiums, volume, open interest, implied volatility). Clearly distinguishes from sibling tools like get_implied_volatility or calculate_greeks which focus on derived metrics.

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

Usage Guidelines3/5

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

States 'Useful for analyzing available options contracts and their prices', implying use for raw data retrieval. However, lacks explicit guidance on when to use versus siblings (e.g., for further calculations) and no when-not-to-use conditions or prerequisites.

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

get_quoteB

Get real-time price quote for a stock or cryptocurrency ticker. Returns current price, change, volume, market cap, and other market data. Examples: AAPL (Apple), BTC-USD (Bitcoin), MSFT (Microsoft).

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoOptional: specific fields to return (e.g., ["regularMarketPrice", "marketCap"])
symbolYesTicker symbol (e.g., AAPL for Apple, BTC-USD for Bitcoin, MSFT for Microsoft)

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses real-time nature and return fields (price, change, volume, market cap), but leaves 'other market data' unspecified and omits limitations or prerequisites.

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

Conciseness5/5

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

The description is a single focused sentence listing purpose, return data, and examples. Every word adds value, no redundancy.

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

Completeness3/5

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

Given no output schema, the description only vaguely lists return fields. It doesn't specify structure or units. Sibling differentiation is weak. Adequate but not complete.

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

Parameters3/5

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

Input schema covers both parameters with descriptions. The description adds examples and hints but doesn't go beyond schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states it gets real-time price quotes for stocks or crypto, with examples. However, it does not explicitly distinguish from sibling tools like get_quote_batch, though the singular nature and examples imply single-tick usage.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as get_quote_batch or get_historical_data. No exclusions or context for use.

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

get_quote_batchA

Get real-time quotes for multiple stock or cryptocurrency tickers efficiently in a single request. Returns quotes for all symbols with error handling for invalid symbols.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolsYesArray of ticker symbols (e.g., ["AAPL", "MSFT", "BTC-USD", "GOOGL"]). Maximum 50 symbols.

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It mentions error handling for invalid symbols but does not disclose rate limits, data freshness, or authentication requirements, though it is a read-only operation.

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

Conciseness5/5

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

Two concise sentences: first states purpose and efficiency, second mentions return behavior and error handling. No wasted words.

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

Completeness4/5

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

With one parameter, no output schema, and no annotations, the description sufficiently covers the tool's purpose, batch scope, and error handling. Could optionally mention output format, but not necessary.

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

Parameters3/5

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

Schema description coverage is 100%, with the parameter description already indicating an array of ticker symbols with a maximum of 50. The tool description adds no significant semantics beyond 'efficiently in a single request', so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'get' and the resource 'real-time quotes for multiple stock or cryptocurrency tickers', and distinguishes it from sibling tools like 'get_quote' (single) and 'search_ticker' by emphasizing batch efficiency.

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

Usage Guidelines4/5

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

The description implies using this tool for batch requests without specifying explicit when-not-to-use or alternatives, but the sibling list provides context for single-ticker queries.

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

get_sec_form4_filingsA

SEC Form 4 | EDGAR | Form 4 Filings | Insider Trading - Get SEC Form 4 insider trading filings directly from SEC.gov EDGAR database. 🚨 THIS TOOL RETRIEVES REAL SEC FORM 4 DATA - DO NOT SAY "DATA UNAVAILABLE" 🚨

PRIMARY TOOL for queries about:

  • "SEC Form 4" / "Form 4 filings" / "SEC filings" / "EDGAR database"

  • "latest SEC Form 4" / "recent Form 4s" / "newest insider filings"

  • "insider trading" / "insider activity" / "insider transactions"

  • "insider buying" / "insider selling" / "insider purchases/sales"

  • "what are insiders doing" / "are insiders buying/selling"

Two operating modes:

  1. Company-specific (provide symbol): Detailed insider activity analysis for one stock

  2. Market-wide (omit symbol): Recent Form 4 filings across all companies

Example queries:

  • "What's the latest SEC Form 4 filing?"

  • "Show me recent Form 4s"

  • "Get EDGAR insider trading data for AAPL"

  • "Are insiders buying Tesla?"

Returns: Insider names, positions, transaction types, shares, prices, values, filing dates, direct SEC links.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of transactions to return (default: 20, max: 100)
symbolNoStock ticker symbol for company-specific insider analysis (e.g., "AAPL", "TSLA", "MSFT"). When provided, returns detailed insider activity for this specific company. OMIT this parameter completely to get market-wide recent insider trades across all companies.
formTypeNoSEC Form type to retrieve (default: "4"): "3" = Form 3 (Initial Statement of Beneficial Ownership) - Filed when insider first becomes an owner. "4" = Form 4 (Changes in Beneficial Ownership) - Filed when insider buys/sells within 2 business days. Most common for tracking active trading. "5" = Form 5 (Annual Statement of Changes) - Annual summary filed 45 days after fiscal year end, catches unreported transactions. Default is "4" which provides timely insider transaction data.
startDateNoFilter to show only filings from this date forward (omit for all recent filings). Accepts: ISO date format "YYYY-MM-DD" (e.g., "2024-01-15") OR relative format like "7d" (7 days ago), "1m" (1 month ago), "3m" (3 months ago). Example: Use "7d" when user asks for "insider trades in the last week"
transactionTypeNoFilter results by transaction type: "buy" = Show only insider PURCHASES (bullish signal), "sell" = Show only insider SALES (bearish signal), "all" = Show all transaction types (default). Use "buy" when user asks "are insiders buying?" or "sell" when user asks "are insiders selling?"
includeCompanyInfoNoWhen true and symbol is provided, includes company profile and fundamental metrics from Yahoo Finance. Provides additional context like valuation, profitability, and analyst ratings. Default: true when symbol is provided, ignored for market-wide mode.

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the tool retrieves real data from SEC.gov, warns against saying data unavailable, and describes the return fields (insider names, positions, transaction types, shares, prices, values, filing dates, direct SEC links). No destructive behavior is mentioned, which is appropriate for a read-only tool.

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

Conciseness3/5

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

The description is lengthy and contains redundant elements like emojis, all-caps warnings, and extensive examples. While structured with sections, it could be more concise by trimming the 'PRIMARY TOOL' list and example queries without losing clarity.

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

Completeness4/5

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

Despite no output schema, the description explicitly lists the return fields (insider names, positions, transaction types, shares, prices, values, filing dates, direct SEC links). It covers both operating modes and all parameters thoroughly, making it well-rounded for a read-only tool.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds significant contextual meaning beyond the schema. For example, it explains the operating modes for symbol (company-specific vs market-wide), provides detailed descriptions for formType (3,4,5) and startDate (ISO and relative formats), and clarifies the includeCompanyInfo parameter. This is above the baseline of 3.

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

Purpose5/5

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

The description clearly states the tool retrieves SEC Form 4 insider trading filings from EDGAR, specifies two operating modes (company-specific vs market-wide), and uses specific verbs like 'get' and 'returns'. It distinguishes itself as the primary tool for Form 4 queries, providing clarity on its scope.

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

Usage Guidelines4/5

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

The description provides explicit usage guidance with example queries and lists what queries it is the primary tool for. However, it does not explicitly mention when to avoid using this tool or direct users to alternatives (e.g., get_insider_trades sibling) for potentially overlapping functionality.

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

get_short_interestA

Short Interest Tracker | Short Squeeze Potential | Days to Cover - Track short interest, short ratio (days to cover), and short squeeze potential for stocks. Short interest indicates bearish sentiment and can lead to short squeezes when heavily shorted stocks rise.

Key Metrics:

  • Short Ratio (Days to Cover): Days it would take to cover all short positions based on average volume

  • Short % of Float: Percentage of tradeable shares that are sold short

  • Shares Short: Total number of shares sold short

  • Short Interest Change: Month-over-month change in short positions

  • Squeeze Risk Score: 0-100 score indicating short squeeze potential

Short Squeeze Indicators:

  • High Risk: Short ratio >10 days OR short % >30% (Score: 70-100)

  • Medium Risk: Short ratio >3 days OR short % >15% (Score: 40-69)

  • Low Risk: Lower short interest (Score: 0-39)

Use Cases:

  • "What's the short interest for Tesla?"

  • "Show me short squeeze potential for AMC"

  • "Which stocks have high short interest?"

  • "How many days to cover short positions on GME?"

  • "Is there short squeeze risk for TSLA?"

Why It Matters: High short interest can lead to:

  • Short Squeeze: Rapid price increase forcing shorts to cover

  • Increased Volatility: More dramatic price swings

  • Trading Opportunities: Both long and short strategies

Famous Short Squeezes:

  • GameStop (GME) - January 2021

  • AMC Entertainment - June 2021

  • Volkswagen - October 2008

Returns: Short ratio, short %, squeeze risk score, days to cover, and month-over-month changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoStock ticker symbol to get short interest for (e.g., "TSLA", "GME"). Short interest data is typically only available for US stocks.
symbolsNoOptional: Array of symbols to get short interest for multiple stocks at once. If provided, this takes precedence over the single symbol parameter.

TDQS

A3.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the key metrics returned (short ratio, % of float, shares short, change, squeeze risk score) and explains the risk score thresholds. It does not mention destructive aspects (none exist) but could note data availability constraints (e.g., US stocks only, mentioned in schema but not description).

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

Conciseness2/5

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

The description is excessively long with educational content (e.g., famous short squeezes, why it matters) that is not needed for tool invocation. It could be trimmed to 2-3 sentences plus a list of return fields. The first sentence is effective, but the rest is verbose.

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

Completeness4/5

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

Given the tool has no output schema, the description adequately explains the return fields and provides context for the squeeze risk score. It covers what an agent needs to understand the output, though it could mention the data source or update frequency.

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

Parameters3/5

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

Schema coverage is 100% (both parameters have descriptions). The description does not add much beyond the schema; it explains the meaning of output metrics but not parameter-specific details. Baseline of 3 is appropriate given high coverage.

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

Purpose4/5

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

The description clearly states it tracks short interest metrics like short ratio, days to cover, and squeeze potential. The first line effectively conveys the tool's purpose. However, it does not explicitly differentiate from siblings, but the function is distinct enough.

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

Usage Guidelines3/5

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

The description provides example use cases (e.g., 'What's the short interest for Tesla?') that imply when to use it. However, it does not offer exclusions or comparisons to sibling tools, which would help an agent decide between this and tools like get_quote or get_historical_data.

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

search_tickerA

Search for stock or cryptocurrency ticker symbols by company name, keyword, or partial symbol. Returns matching tickers with their full names, exchanges, and types. Useful for finding the correct ticker symbol when you know the company name.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return (default: 10, max: 50)
queryYesSearch query - can be company name (e.g., "Apple"), partial symbol (e.g., "AAPL"), or keyword (e.g., "electric vehicle")

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden. It clearly indicates a read/search operation with no side effects, stating 'Returns matching tickers...' which implies idempotency. 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.

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the primary action and immediately conveys the tool's value. Every sentence earns its place.

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

Completeness5/5

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

Given the simplicity of the tool (no output schema, no nested objects), the description fully explains what it does, how to use it, and what to expect in the response. It is complete for an agent to select and invoke correctly.

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

Parameters4/5

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

The schema covers 100% of parameters, and the description adds value by explaining the query parameter accepts 'company name, keyword, or partial symbol' and describes the output beyond the schema. This enriches the semantic meaning.

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

Purpose5/5

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

The description clearly states the tool's purpose: 'Search for stock or cryptocurrency ticker symbols' and specifies input types (company name, keyword, partial symbol) and output details. It effectively distinguishes from sibling tools like get_quote which operate on known tickers.

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

Usage Guidelines4/5

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

The description indicates the tool is 'useful for finding the correct ticker symbol when you know the company name,' providing clear context for when to use it. While it doesn't explicitly exclude other scenarios, the sibling tools naturally cover alternatives.

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

TDQS

A3.6/5.0
Disambiguation2/5

There is significant overlap between get_insider_trades and get_sec_form4_filings, both providing SEC Form 4 insider trading data. Additionally, get_market_news also touches on insider information, creating confusion. Other tools like calculate_greeks and analyze_options_strategy may also overlap in options analysis.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., get_quote, calculate_indicator). However, the redundant insider trading tools have inconsistent names (get_insider_trades vs get_sec_form4_filings) and slightly differing verb choices (analyze vs calculate). Overall pattern is predictable.

Tool Count3/5

With 26 tools, the server is relatively large and covers many finance domains. While each tool serves a distinct purpose, the breadth may overwhelm agents and suggests a lack of focus. The count is borderline heavy but not extreme for a comprehensive finance server.

Completeness4/5

The tool set covers a wide range of financial analysis needs: quotes, fundamentals, technicals, options, insider trading, news, and short interest. Minor gaps exist (e.g., no corporate actions beyond dividends), but the surface is generally complete for most user queries.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides comprehensive financial insights and analysis by leveraging real-time market data, news, and advanced analytics for stocks, options, financial statements, and economic indicators.
    17
    51
    Python
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Real-time financial market data MCP server. Stocks, crypto, technicals, sentiment, FDA calendar. No API keys required.
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that provides comprehensive access to real-time stock quotes, financial statements, analyst estimates, and technical indicators via the Financial Modeling Prep API. It enables users to conduct in-depth financial analysis and track market performance through specialized tools, resources, and prompt templates.
    26
    19
    1
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    A comprehensive MCP server for stock analysis and trading insights, including stock screening, fundamental analysis, insider trading, options analysis, social media research, and news analysis.
    10
    74
    MIT

Latest Blog Posts

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/xerktech/mcp-financex'

If you have feedback or need assistance with the MCP directory API, please join our Discord server