Trading MCP Server
Provides AI-powered news analysis and social sentiment analysis, including market impact assessment and sentiment scoring.
Enables discovery of trending stocks and AI-driven sentiment analysis of retail investor discussions from subreddits.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Trading MCP Serveranalyze AAPL comprehensive stock analysis"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 symbolmetrics(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 comparemetrics(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 symbolweights(object, optional): Custom weights for health factorsprofitability(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 symbollimit(number, default: 10): Maximum transactions to returntransaction_types(array, optional): Filter by transaction typesanalysis_period(number, default: 90): Analysis period in daysmin_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
discover_trending_stocks
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 analyzelimit(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 symbolsubreddits(array, default: ['stocks', 'wallstreetbets', 'investing', 'ValueInvesting']): Subreddits to searchtime_filter(string, default: 'week'): Time period ('hour', 'day', 'week', 'month', 'year')limit(number, default: 25): Maximum posts to retrievesort(string, default: 'hot'): Sort order ('relevance', 'hot', 'top', 'new')max_posts_for_sentiment(number, default: 50): Posts to use for sentiment analysisinclude_comments(boolean, default: false): Include comments from specific postpost_id_for_comments(string, optional): Post ID for comment retrievalcomment_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 symboldays_back(number, default: 7): Days to look back for newsmax_articles(number, default: 10): Maximum articles to analyzeinclude_sentiment(boolean, default: true): Include sentiment analysissector(string, optional): Stock sector for enhanced contextnews_items(array, optional): Specific headlines to analyze
š ļø Installation & Setup
Installation
Clone and install dependencies:
git clone <repository-url>
cd trading-mcp
npm installBuild the project:
npm run buildConfigure 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
Visit OpenAI API
Create an account or sign in
Generate a new API key
Add to your MCP configuration as
OPENAI_API_KEY
Reddit API Credentials
Visit Reddit App Preferences
Click "Create App" or "Create Another App"
Choose "script" as the app type
Use a dummy redirect URI such as
http://localhost:8080Note your
client_idandclient_secretAdd 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 toolsanalyze_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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol | |
| limit | No | Maximum number of transactions to return for display | |
| transaction_types | No | Filter by transaction types (buy, sell, etc.) | |
| analysis_period | No | Analysis period in days for sentiment calculation | |
| min_transaction_value | No | Minimum transaction value to include in sentiment analysis |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol | |
| days_back | No | Number of days to look back for news | |
| max_articles | No | Maximum number of articles to analyze | |
| include_sentiment | No | Include sentiment analysis for each article | |
| sector | No | Stock sector for enhanced context analysis (optional) | |
| news_items | No | Specific news headlines or summaries to analyze for market impact (optional) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol | |
| subreddits | No | Subreddits to search for discussions | |
| time_filter | No | Time period to search within | week |
| limit | No | Maximum number of posts to retrieve | |
| sort | No | Sort order for results | hot |
| max_posts_for_sentiment | No | Maximum number of posts to use for sentiment analysis | |
| include_comments | No | Whether to include comments from a specific post | |
| post_id_for_comments | No | Specific post ID to retrieve comments from (optional) | |
| comment_limit | No | Maximum number of comments to retrieve if include_comments is true |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol | |
| weights | No | Custom weights for different health factors |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tickers | Yes | Array of stock ticker symbols to compare | |
| metrics | No | Valuation metrics to compare |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol to analyze |
TDQS
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.
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.
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.
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.
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.
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.
discover_trending_stocksA
Social momentum detection tool that identifies stocks gaining significant attention and discussion volume across Reddit investing communities. Use this when looking for emerging investment opportunities, detecting viral stock movements, or identifying potential meme stock candidates before they peak. The tool returns ranked lists of trending tickers with mention frequency, sentiment indicators, and community engagement metrics. Perfect for staying ahead of retail investor trends and social media-driven market movements.
| Name | Required | Description | Default |
|---|---|---|---|
| subreddits | No | Subreddits to analyze for trending tickers | |
| limit | No | Maximum number of trending tickers to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses output format (ranked lists, metrics) but lacks details on data freshness, limitations, or potential biases. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose, no fluff. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description explains return values (ranked lists, sentiment, engagement metrics). Covers purpose, usage, and basic parameters completely for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, description adds context like 'Reddit investing communities' for subreddits and 'trending tickers' for limit, but does not significantly extend beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a social momentum detection for Reddit stocks, with specific verbs like 'identifies', 'detecting', and distinguishes from siblings by focusing on trending/meme stocks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: looking for emerging opportunities, viral movements, meme stock candidates. Does not mention alternatives or when not to use, but context of siblings provides some guidance.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol | |
| metrics | No | Specific metrics to retrieve (optional, returns all if not specified) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes | Stock ticker symbol |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | Advanced 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"} | |
| limit | No | Maximum number of results to return |
TDQS
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.
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.
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.
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.
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.
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.
10 tool updates
v1.0.0- First observed
analyze_insider_activity - First observed
analyze_news_and_market_context - First observed
analyze_reddit_sentiment - First observed
calculate_financial_health_score - First observed
compare_stock_valuations - First observed
comprehensive_stock_analysis - First observed
discover_trending_stocks - First observed
get_fundamental_stock_metrics - First observed
get_put_call_ratio - First observed
screen_stocks_advanced_filters
TDQS
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.
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.
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.
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
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
The Octagon MCP server provides specialized AI-powered financial research and analysis by integrating with the Octagon Market Intelligence API. It enables users to analyze public market data (SEC filings, earnings transcripts, financial metrics, and stock data for 8000+ companies), private market data (3M+ companies, 500k+ funding rounds, 2M+ M&A/IPO transactions), and conduct deep research including web scraping capabilities. The server also features autonomous research agents that search hundreds of sources and return fully cited reports in approximately one minute.
MCP server for stocksense-ai documentation, generated by doc2mcp.
7-factor stock scoring MCP server. US/HK/CN, 74 stocks. Free + Premium (USDC/Base). x402 ready.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
Related MCP Servers
- AlicenseBqualityDmaintenanceAn 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.1751PythonMIT
- AlicenseBqualityCmaintenanceAn 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.26191MIT
- AlicenseAqualityCmaintenanceComprehensive MCP server for real-time stock, cryptocurrency, options, and fundamental analysis, including SEC filings and insider trading data.2628MIT
- AlicenseNot gradedqualityCmaintenanceA 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
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/netanelavr/trading-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server