Skip to main content
Glama
netanelavr

Trading MCP Server

by netanelavr

Trading MCP Server

A comprehensive Model Context Protocol (MCP) server for stock analysis and trading insights. This server provides advanced stock screening, fundamental analysis, insider trading data, social media sentiment, and news analysis capabilities.

šŸŽ¬ Demo

https://github.com/user-attachments/assets/71995014-7cbb-48fa-80fb-f1f6d22fc91c

See the Trading MCP Server in action - from stock screening to comprehensive analysis

Related MCP server: Financial Modeling Prep (FMP) MCP Server

šŸ“‹ MCP Configuration

Add this to your MCP configuration file (typically ~/.cursor/mcp.json or your IDE's MCP settings):

{
  "mcpServers": {
    "trading-mcp": {
      "command": "node",
      "args": ["/path/to/trading-mcp/dist/server.js"],
      "env": {
        "OPENAI_API_KEY": "sk-your-openai-api-key-here",
        "REDDIT_CLIENT_ID": "your-reddit-client-id",
        "REDDIT_CLIENT_SECRET": "your-reddit-client-secret",
        "REDDIT_USERNAME": "your-reddit-username",
        "REDDIT_PASSWORD": "your-reddit-password"
      }
    }
  }
}

šŸš€ Features

  • šŸ“Š Stock Screening: Technical pattern recognition and advanced multi-criteria filtering

  • šŸ“ˆ Fundamental Analysis: Comprehensive metrics, valuation comparison, and AI health scoring

  • šŸ¢ Insider Trading: Real-time insider activity tracking and sentiment analysis

  • šŸ“Š Options Analysis: Put/call ratio data and options market sentiment analysis

  • šŸ’­ Social Media Research: Reddit integration with AI-powered sentiment analysis

  • šŸ“° News Analysis: AI-curated news with market impact assessment

  • šŸŽÆ Comprehensive Analysis: All-in-one stock analysis combining multiple data sources

šŸ“š Available Tools

Note:

  • OpenAI API key is required for news analysis and social sentiment analysis

  • Reddit credentials are required for social media research features

Stock Screening Tools

screen_stocks_advanced_filters

Advanced stock screening using Finviz filters with support for technical patterns, fundamental criteria, and multi-parameter filtering. Returns stocks matching specific criteria with key metrics.

Parameters:

  • filters (object): Finviz format filters. Use "f" for basic filters, "o" for ordering. Example: {"f": "cap_large,fa_pe_profitable,ta_pattern_channeldown", "o": "marketcap"}

  • limit (number, default: 50): Maximum results to return

Fundamental Analysis Tools

get_fundamental_stock_metrics

Retrieves comprehensive financial metrics including P/E ratios, PEG, ROE, debt ratios, growth rates, and profitability margins.

Parameters:

  • ticker (string, required): Stock ticker symbol

  • metrics (array, optional): Specific metrics to retrieve (returns all if not specified)

compare_stock_valuations

Compares valuation metrics across multiple stocks to identify relative value opportunities. Perfect for peer analysis and sector comparisons.

Parameters:

  • tickers (array, required): Stock ticker symbols to compare

  • metrics (array, default: ['pe', 'forwardPE', 'peg', 'priceToBook']): Valuation metrics to compare

calculate_financial_health_score

Calculates a comprehensive financial health score (0-100) based on profitability, liquidity, leverage, efficiency, and growth metrics with customizable weightings.

Parameters:

  • ticker (string, required): Stock ticker symbol

  • weights (object, optional): Custom weights for health factors

    • profitability (default: 0.3), liquidity (default: 0.2), leverage (default: 0.2), efficiency (default: 0.15), growth (default: 0.15)

Insider Trading Tools

analyze_insider_activity

Monitors insider transactions and analyzes sentiment patterns. Returns transaction history with sentiment analysis and confidence scores.

Parameters:

  • ticker (string, required): Stock ticker symbol

  • limit (number, default: 10): Maximum transactions to return

  • transaction_types (array, optional): Filter by transaction types

  • analysis_period (number, default: 90): Analysis period in days

  • min_transaction_value (number, default: 10000): Minimum transaction value threshold

Options Analysis Tools

get_put_call_ratio

Retrieves put/call ratio data from Barchart to assess options market sentiment. Returns ratios by expiration with sentiment analysis.

Parameters:

  • ticker (string, required): Stock ticker symbol

Comprehensive Analysis Tools

comprehensive_stock_analysis

All-in-one stock analysis combining fundamental metrics, financial health scoring, insider analysis, options sentiment, news analysis, and social sentiment when configured.

Parameters:

  • ticker (string, required): Stock ticker symbol to analyze

Social Media Research Tools

Requires Reddit API configuration

Identifies stocks gaining attention across Reddit investing communities. Returns trending tickers with mention frequency and engagement metrics.

Parameters:

  • subreddits (array, default: ['wallstreetbets', 'stocks']): Subreddits to analyze

  • limit (number, default: 20): Maximum trending tickers to return

analyze_reddit_sentiment

Requires both Reddit and OpenAI APIs

Searches Reddit discussions and uses AI to analyze retail investor sentiment. Returns posts with sentiment analysis and confidence scores.

Parameters:

  • ticker (string, required): Stock ticker symbol

  • subreddits (array, default: ['stocks', 'wallstreetbets', 'investing', 'ValueInvesting']): Subreddits to search

  • time_filter (string, default: 'week'): Time period ('hour', 'day', 'week', 'month', 'year')

  • limit (number, default: 25): Maximum posts to retrieve

  • sort (string, default: 'hot'): Sort order ('relevance', 'hot', 'top', 'new')

  • max_posts_for_sentiment (number, default: 50): Posts to use for sentiment analysis

  • include_comments (boolean, default: false): Include comments from specific post

  • post_id_for_comments (string, optional): Post ID for comment retrieval

  • comment_limit (number, default: 100): Maximum comments if including comments

News Analysis Tools

Requires OpenAI API configuration

analyze_news_and_market_context

Combines news sentiment analysis, market impact assessment, and sector context analysis. Returns analyzed articles with sentiment scores and market predictions.

Parameters:

  • ticker (string, required): Stock ticker symbol

  • days_back (number, default: 7): Days to look back for news

  • max_articles (number, default: 10): Maximum articles to analyze

  • include_sentiment (boolean, default: true): Include sentiment analysis

  • sector (string, optional): Stock sector for enhanced context

  • news_items (array, optional): Specific headlines to analyze

šŸ› ļø Installation & Setup

Installation

  1. Clone and install dependencies:

git clone <repository-url>
cd trading-mcp
npm install
  1. Build the project:

npm run build
  1. Configure in your MCP client: Add the MCP configuration shown above to your MCP client settings with your API credentials.

šŸ”§ Configuration

Required APIs

  • OpenAI: Required for news analysis and social sentiment analysis

  • Reddit: Required for social media research features

Getting API Keys

OpenAI API Key

  1. Visit OpenAI API

  2. Create an account or sign in

  3. Generate a new API key

  4. Add to your MCP configuration as OPENAI_API_KEY

Reddit API Credentials

  1. Visit Reddit App Preferences

  2. Click "Create App" or "Create Another App"

  3. Choose "script" as the app type

  4. Use a dummy redirect URI such as http://localhost:8080

  5. Note your client_id and client_secret

  6. Add your Reddit credentials to your MCP configuration

šŸ—ļø Architecture

trading-mcp/
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ server.ts          # Main MCP server
│   ā”œā”€ā”€ config.ts          # Configuration management
│   ā”œā”€ā”€ types/             # TypeScript interfaces
│   │   └── index.ts
│   ā”œā”€ā”€ adapters/          # External API adapters
│   │   ā”œā”€ā”€ finviz.ts      # Finviz web scraping
│   │   ā”œā”€ā”€ barchart.ts    # Barchart options data scraping
│   │   ā”œā”€ā”€ reddit.ts      # Reddit API integration
│   │   └── openai.ts      # OpenAI API integration
│   └── tools/             # Tool implementations
│       ā”œā”€ā”€ screening.ts   # Stock screening tools
│       ā”œā”€ā”€ fundamentals.ts # Fundamental analysis
│       ā”œā”€ā”€ insider.ts     # Insider trading analysis
│       ā”œā”€ā”€ options.ts     # Options analysis tools
│       ā”œā”€ā”€ social.ts      # Social media research
│       ā”œā”€ā”€ news.ts        # News analysis
│       └── comprehensive.ts # Comprehensive analysis
ā”œā”€ā”€ dist/                  # Compiled JavaScript
ā”œā”€ā”€ package.json
ā”œā”€ā”€ tsconfig.json
└── README.md

šŸ› Known Issues

  • Finviz web scraping may occasionally fail due to rate limiting or site changes

  • Barchart web scraping may occasionally fail due to site changes or rate limiting

  • Reddit API has rate limits that may affect high-volume usage

  • OpenAI API usage incurs costs based on tokens consumed

šŸ“Š Example Usage

Once configured, you can use the tools through your MCP-enabled client:

# Screen for stocks with specific technical patterns
Use screen_stocks_advanced_filters with filters: {"f": "ta_pattern_channeldown,cap_large,geo_usa"}

# Get comprehensive fundamental analysis
Use get_fundamental_stock_metrics for "AAPL" to see detailed financial data

# Compare multiple stocks
Use compare_stock_valuations for ["AAPL", "MSFT", "GOOGL"] to compare valuations

# Calculate financial health score
Use calculate_financial_health_score for "TSLA" to get AI-powered health assessment

# Analyze insider activity
Use analyze_insider_activity for "NVDA" to see insider trading patterns and sentiment

# Get options market sentiment
Use get_put_call_ratio for "SPY" to see put/call ratios and options sentiment

# Comprehensive analysis (all-in-one)
Use comprehensive_stock_analysis for "AMZN" to get complete multi-dimensional analysis

# Analyze social sentiment (requires Reddit + OpenAI)
Use analyze_reddit_sentiment for "GME" to see Reddit community sentiment

# Get trending stocks (requires Reddit)
Use discover_trending_stocks to find stocks gaining social media momentum

# Analyze news and market context (requires OpenAI)
Use analyze_news_and_market_context for "META" to get news analysis and market context

āš ļø Disclaimer

This software is for educational and research purposes only. It is not intended as financial advice. Always do your own research and consider consulting with a qualified financial advisor before making investment decisions.

The data provided by this server comes from third-party sources and may not always be accurate or up-to-date. Users should verify information independently before making any trading decisions.

Stock trading and investing involves risk, including the potential loss of principal. Past performance does not guarantee future results.


For questions or support, please open an issue on GitHub.

Available Tools

10 tools
analyze_insider_activityA

Comprehensive insider trading analysis tool that monitors recent transactions and analyzes sentiment patterns. Retrieves buy/sell activity by executives, directors, and major shareholders, then evaluates trading patterns to determine overall insider confidence (bullish, bearish, neutral). Returns detailed transaction history with sentiment analysis, confidence scores, and key insights about insider motivation. Essential for identifying stocks with strong insider support or potential red flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
limitNoMaximum number of transactions to return for display
transaction_typesNoFilter by transaction types (buy, sell, etc.)
analysis_periodNoAnalysis period in days for sentiment calculation
min_transaction_valueNoMinimum transaction value to include in sentiment analysis

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses returns (transaction history, sentiment, confidence scores) but lacks details on data freshness, sources, or rate limits. The behavioral info is adequate but not exhaustive.

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 four sentences, each serving a distinct purpose: scope, functionality, output, and usage. No redundancy or fluff, making it concise 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?

Despite no output schema, the description outlines return values (transaction history, sentiment, confidence scores). It does not cover pagination or error handling, but given the tool's complexity, it provides sufficient context for effective use.

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 descriptions for all 5 parameters. The description adds general context (e.g., 'buy/sell activity') but does not enhance parameter semantics beyond the schema, 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 specifies the tool's purpose: comprehensive insider trading analysis including transaction monitoring and sentiment evaluation. It distinguishes itself from sibling tools (e.g., news, Reddit sentiment) by focusing specifically on insider activity, making selection unambiguous.

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 states the tool is 'essential for identifying stocks with strong insider support or potential red flags,' providing clear context for use. However, it does not explicitly exclude scenarios or mention alternatives, so it receives a 4 rather than 5.

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

analyze_news_and_market_contextA

Comprehensive news and market analysis tool that combines recent news sentiment analysis, market impact assessment, and broader sector context analysis. Use this when researching current events affecting a stock, evaluating news-driven price movements, or understanding how individual stocks fit into current market trends. Returns analyzed articles with sentiment scores, impact predictions, sector performance analysis, and macroeconomic context. Essential for making informed investment decisions based on current market conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
days_backNoNumber of days to look back for news
max_articlesNoMaximum number of articles to analyze
include_sentimentNoInclude sentiment analysis for each article
sectorNoStock sector for enhanced context analysis (optional)
news_itemsNoSpecific news headlines or summaries to analyze for market impact (optional)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations exist, so the description bears full burden. It describes outputs ('Returns analyzed articles with sentiment scores...') but does not disclose behavioral traits like rate limits, authentication needs, or potential side effects. It implies a read-only analysis tool, but lacks explicit safety or constraint details.

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 (4 sentences) with front-loaded purpose, followed by usage context and outputs. The final sentence ('Essential for making informed investment decisions...') is somewhat generic but does not significantly detract. The structure is logical and economical.

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's complexity (6 params, no output schema, no annotations), the description adequately covers purpose, usage, and return value. It does not explain side effects or prerequisites, but for an analysis tool, these are less critical. The description is largely sufficient for an agent to understand when and how 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?

The input schema has 100% description coverage, so parameters are well-documented in the schema. The description adds no additional parameter-level meaning beyond stating that 'sector' is optional and 'news_items' is optional. Baseline 3 is appropriate as the schema already handles parameter semantics.

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 is a 'Comprehensive news and market analysis tool' combining sentiment, market impact, and sector context. It uses specific verbs and resources ('analyze news and market context') and distinguishes itself from sibling tools like 'analyze_reddit_sentiment' or 'get_fundamental_stock_metrics' by focusing on current events and market trends.

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 explicitly lists when to use: 'when researching current events affecting a stock, evaluating news-driven price movements, or understanding how individual stocks fit into current market trends.' It does not provide explicit when-not-to-use instructions or alternatives, but the context is clear and sufficient for most agents.

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

analyze_reddit_sentimentA

Comprehensive Reddit sentiment analysis tool that searches for stock discussions across multiple investing subreddits and uses AI to analyze retail investor sentiment. Combines Reddit post search, optional comment extraction, and advanced sentiment classification to gauge community opinion and engagement. Use this when assessing retail investor sentiment, detecting sentiment shifts, or validating investment decisions against community consensus. Returns posts, sentiment analysis with confidence scores, key themes, and community engagement metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
subredditsNoSubreddits to search for discussions
time_filterNoTime period to search withinweek
limitNoMaximum number of posts to retrieve
sortNoSort order for resultshot
max_posts_for_sentimentNoMaximum number of posts to use for sentiment analysis
include_commentsNoWhether to include comments from a specific post
post_id_for_commentsNoSpecific post ID to retrieve comments from (optional)
comment_limitNoMaximum number of comments to retrieve if include_comments is true

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description bears full responsibility. It discloses the tool searches multiple subreddits, optionally extracts comments, and performs AI sentiment classification with confidence scores, key themes, and engagement metrics. It doesn't mention rate limits or auth needs, but these are less critical for a read-only analysis 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 three sentences long, front-loading the core purpose and use case. It is efficient but could be trimmed slightly for maximal conciseness. Each sentence adds value, earning a score of 4.

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 9 parameters (1 required), no output schema, and no annotations, the description covers the workflow: search, optional comment extraction, sentiment analysis, and returns (posts, sentiment with confidence, themes, engagement). It provides sufficient context for an agent to understand tool capabilities and output.

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%, baseline is 3. The description adds high-level context (e.g., 'combines Reddit post search, optional comment extraction, and advanced sentiment classification') but does not provide parameter-specific details beyond what the schema already documents. This meets the baseline.

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 identifies the tool as a 'comprehensive Reddit sentiment analysis tool' that searches stock discussions across multiple investing subreddits and uses AI to analyze sentiment. It differentiates from sibling tools (e.g., fundamental analysis, insider activity) by focusing specifically on social sentiment.

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 explicitly states when to use the tool: 'Use this when assessing retail investor sentiment, detecting sentiment shifts, or validating investment decisions against community consensus.' It lacks explicit when-not-to-use guidance, but usage context is clear given siblings cover different domains.

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

calculate_financial_health_scoreA

Financial health analysis tool that calculates a comprehensive score based on profitability, liquidity, leverage, efficiency, and growth metrics. Use this when evaluating the overall financial strength of a company for investment decisions, risk assessment, or portfolio screening. Returns a weighted health score (0-100) with detailed breakdowns of each category, component analysis, and actionable insights. Allows custom weighting of different financial factors to match your investment strategy.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
weightsNoCustom weights for different health factors

TDQS

A3.8/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. It mentions output structure (breakdowns, insights) but does not disclose behavioral traits such as data source, side effects, rate limits, or read-only status. Minimal transparency beyond basic functionality.

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, each adding value. Purpose is front-loaded. No redundant or irrelevant information. Efficiently communicates the tool's function, use case, and output.

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?

Explains input (ticker, custom weights), processing (profitability, liquidity, etc.), and output (0-100 score with breakdowns). Without an output schema, the description adequately covers the return structure. Could mention limitations or data freshness, but overall complete for a moderate-complexity 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?

Schema coverage is 100%, so baseline is 3. Description adds context for the weights parameter ('custom weighting to match your investment strategy'), but does not provide additional semantic details beyond what the schema includes. Adequate but not exceptional.

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 calculates a comprehensive financial health score based on multiple metrics, and specifies the return value (0-100 weighted score). It distinguishes from sibling tools by focusing on overall financial strength rather than specific aspects like insider activity or sentiment.

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?

Explicitly states when to use: 'Use this when evaluating the overall financial strength of a company for investment decisions, risk assessment, or portfolio screening.' Missing explicit 'when not to use' or alternative suggestions, but context is clear.

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

compare_stock_valuationsA

Relative valuation analysis tool that compares key valuation metrics across multiple stocks to identify undervalued or overvalued opportunities. Use this when performing peer analysis, sector comparisons, or evaluating multiple investment candidates side-by-side. The tool returns a comparative analysis with P/E, PEG, Price-to-Book ratios and highlights relative value opportunities. Essential for making informed investment decisions based on relative attractiveness.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickersYesArray of stock ticker symbols to compare
metricsNoValuation metrics to compare

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 full burden. It states the tool returns 'a comparative analysis with P/E, PEG, Price-to-Book ratios and highlights relative value opportunities,' but lacks details on side effects, prerequisites, rate limits, or data freshness. The description is positive and promotional, missing behavioral traits like data recency 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?

The description is three sentences with no wasted words. The first sentence states purpose, the second provides usage context, and the third describes output. It is front-loaded and 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 2 parameters, no output schema, and no annotations, the description covers purpose, usage context, and key output highlights. It does not mention error cases, maximum tickers, or data source, but for a simple comparative tool, it provides essential information for selection and invocation.

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% for both parameters, so the baseline is 3. The description adds some context by explaining the output (which metrics are returned), but it does not elaborate on parameter meanings or usage constraints beyond what the schema provides. The value added is marginal.

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 is a 'relative valuation analysis tool' that compares key metrics across multiple stocks, specifying the verb (compare) and resource (stock valuations). It distinguishes itself from siblings like 'get_fundamental_stock_metrics' by focusing on relative comparison for peer analysis or sector comparisons.

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 contexts: 'when performing peer analysis, sector comparisons, or evaluating multiple investment candidates side-by-side.' It does not mention when not to use the tool or alternative tools, but the given guidance is clear and sufficient.

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

comprehensive_stock_analysisA

Ultimate comprehensive stock analysis tool that combines multiple analyses in parallel to provide a complete investment evaluation. Executes fundamental metrics, financial health scoring, insider trading analysis, put/call ratio analysis, and when configured, news analysis and Reddit sentiment analysis. Use this when you need a complete overview of a stock across all analysis dimensions for investment decision-making. Returns a formatted report with all analysis results, key insights, and investment summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol to analyze

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 full burden. It mentions parallel execution of analyses and conditional inclusion of news/Reddit sentiment, but lacks details on behaviors such as rate limits, data freshness, or latency. The description is adequate but not exhaustive.

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

Conciseness4/5

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

The description is a single paragraph that front-loads the purpose and lists included analyses. It is concise with no wasted words, though a more structured format (e.g., bullet points) could improve readability.

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's complexity and lack of output schema, the description adequately explains that it returns a formatted report with analysis results and insights. It covers key behaviors, though it omits potential limitations like API costs or timeouts.

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 only parameter, 'ticker', is described in the input schema as 'Stock ticker symbol to analyze'. The tool description does not add additional meaning beyond this, and schema coverage is 100%, so the description adds no extra value for the parameter.

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 as combining multiple analyses (fundamental metrics, financial health, insider trading, put/call ratio, and optional news/Reddit sentiment) to provide a complete investment evaluation. It distinguishes itself from sibling tools that focus on individual analyses.

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 explicitly advises using this tool 'when you need a complete overview of a stock across all analysis dimensions for investment decision-making.' This provides clear usage context, though it does not explicitly contrast with sibling tools by stating when not to use it.

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

get_fundamental_stock_metricsA

Comprehensive fundamental analysis tool that retrieves detailed financial metrics including P/E ratios, PEG, ROE, debt ratios, growth rates, and profitability margins. Use this when conducting deep fundamental analysis of individual stocks for investment decisions or valuation assessments. The tool returns complete financial data with key ratios, growth metrics, and profitability indicators. Supports selective metric retrieval for targeted analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol
metricsNoSpecific metrics to retrieve (optional, returns all if not specified)

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It describes a read-only, comprehensive analysis, but lacks details like data source, freshness, 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.

Conciseness3/5

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

Four sentences with some redundancy (first and third sentences repeat similar content). Could be more concise while retaining key points.

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?

No output schema, so description must explain returns. Lists example metrics but doesn't detail output structure or how to handle partial results. Adequate but not thorough.

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%. Description adds examples and emphasizes selective retrieval, but doesn't substantially extend schema 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?

Clearly states it retrieves fundamental stock metrics with specific examples (P/E, PEG, ROE, etc.). Distinct from sibling tools like sentiment or insider analysis.

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?

Explicitly says 'use when conducting deep fundamental analysis for investment decisions'. Provides context but no explicit when-not or alternatives.

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

get_put_call_ratioA

Options market analysis tool that retrieves put/call ratio data from Barchart to assess market sentiment and options flow. Use this when analyzing options market sentiment, detecting potential market reversals, or understanding institutional hedging activity. The tool returns comprehensive put/call ratios for different expiration dates, volume and open interest data, and AI-powered sentiment analysis. Higher put/call ratios typically indicate bearish sentiment, while lower ratios suggest bullish sentiment. Essential for options traders and investors looking to gauge market sentiment.

ParametersJSON Schema
NameRequiredDescriptionDefault
tickerYesStock ticker symbol

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It details what the tool returns (ratios for different expirations, volume, open interest, AI sentiment) and how to interpret high/low ratios. It does not mention any limitations, data update frequency, or authentication needs, but adequately discloses behavior for a read-only data retrieval tool.

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

Conciseness5/5

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

The description is three sentences, each serving a purpose: core function, usage scenarios, and output description plus interpretation. It is front-loaded and concise with no extraneous 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 the tool has one parameter and no output schema, the description adequately covers purpose, usage, output details, and interpretation. It could mention data source reliability or freshness, but overall it is complete enough for an agent to understand 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% with one parameter 'ticker' described as 'Stock ticker symbol'. The description adds context about the data retrieved but does not extend the parameter's meaning beyond the schema. Baseline 3 is appropriate.

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

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 put/call ratio data from Barchart to assess market sentiment and options flow, distinguishing it from sibling tools that focus on different analysis areas like insider activity, reddit sentiment, or financial health.

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 explicitly states when to use the tool (analyzing options market sentiment, detecting reversals, understanding hedging) but does not mention when not to use it or compare it to related sibling tools like analyze_reddit_sentiment or analyze_news_and_market_context.

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

screen_stocks_advanced_filtersA

Comprehensive stock screening using Finviz filters that supports technical patterns, fundamental criteria, and multi-parameter filtering. Use this when you need to find stocks matching specific investment criteria like channel down patterns, profitable companies, or large-cap stocks. The tool returns a ranked list of stocks with key metrics including market cap, P/E ratios, and current prices. Supports complex filter combinations for advanced screening strategies using Finviz format parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNoAdvanced filter parameters using Finviz format. Use "f" for basic filters including technical patterns (comma-separated), "o" for ordering. Technical patterns should use ta_pattern_* format (e.g., ta_pattern_channeldown). Example: {"f": "cap_large,fa_pe_profitable,geo_usa,ta_pattern_channeldown", "o": "marketcap"}
limitNoMaximum number of results to return

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided; description carries full burden. It states the tool returns a ranked list with key metrics, but does not disclose read-only nature, auth requirements, rate limits, or error handling. For a screening tool, this is partially transparent.

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 clear purpose, usage, and output. It is slightly verbose but each sentence contributes. Front-loads the main function.

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 tool complexity and no output schema, description covers purpose, usage, and return content. It lacks explanation of potential errors or edge cases, but is fairly complete for a screening 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%, baseline 3. Description adds significant value by explaining Finviz format ('ta_pattern_*', 'cap_large'), the 'f' and 'o' structure, and providing examples. This goes beyond the schema's basic 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 the verb ('screen') and resource ('stocks using Finviz filters'), and lists supported criteria (technical patterns, fundamental criteria, multi-parameter). It distinguishes from sibling tools like discover_trending_stocks and get_fundamental_stock_metrics by focusing on advanced Finviz-based screening.

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 scenarios ('when you need to find stocks matching specific investment criteria like channel down patterns, profitable companies, or large-cap stocks'). It does not list when not to use, but the examples and context imply appropriate use cases relative to siblings.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 10 tool updatesv1.0.0
    • First observedanalyze_insider_activity
    • First observedanalyze_news_and_market_context
    • First observedanalyze_reddit_sentiment
    • First observedcalculate_financial_health_score
    • First observedcompare_stock_valuations
    • First observedcomprehensive_stock_analysis
    • First observeddiscover_trending_stocks
    • First observedget_fundamental_stock_metrics
    • First observedget_put_call_ratio
    • First observedscreen_stocks_advanced_filters

TDQS

A4/5.0
Disambiguation4/5

Each tool targets a specific analysis domain (insider, news, Reddit, fundamentals, etc.), but there is slight overlap between analyze_reddit_sentiment and discover_trending_stocks (both use Reddit), and comprehensive_stock_analysis duplicates the functionality of many individual tools. Nonetheless, the descriptions clearly differentiate their purposes.

Naming Consistency4/5

All tools use snake_case with action verbs (analyze, calculate, compare, discover, get, screen). There is one outlier (comprehensive_stock_analysis) that uses a phrase rather than verb_noun, but the pattern is mostly consistent.

Tool Count5/5

10 tools is well-scoped for a trading analysis server. Each tool provides a distinct function without being overwhelming, and the count aligns with typical MCP server sizes for this domain.

Completeness4/5

The tool set covers fundamental analysis, valuation, sentiment (news, Reddit, options), insider activity, screening, and trending detection. Missing technical analysis and risk metrics, but overall it's a robust coverage for a stock analysis server.

Maintenance

ActivityInactive
ResponsivenessSyncing

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
  • 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
    C
    maintenance
    Comprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.
    26
    28
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A free MCP server for stock research combining Finviz screening and SEC EDGAR filings, offering 24 tools for fundamental analysis, insider trades, and financial data without paid subscriptions.
    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/netanelavr/trading-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server