The README includes detailed Docker deployment instructions, allowing the MCP server to be containerized and run in a Docker environment with specified environment variables and ports.
The server uses .env files for configuration, specifically to store the Tiingo API key required for accessing market data.
NumPy is listed as a core dependency for the server's technical analysis capabilities.
Pandas is used for data manipulation and analysis within the server's technical analysis modules.
The server is built on Python 3.11+ and requires Python for execution.
The server uses YAML for Smithery configuration, defining required parameters and integration with Claude Desktop.
MCP Trader Server
A Model Context Protocol (MCP) server for stock traders.
Features
Tools
The server provides the following tools for stock analysis and trading:
analyze-stock: Performs technical analysis on a given stock symbol
Required argument:
symbol
(string, e.g. "NVDA")Returns comprehensive technical analysis including:
Moving average trends (20, 50, 200 SMA)
Momentum indicators (RSI, MACD)
Volatility metrics (ATR, ADRP)
Volume analysis
relative-strength: Calculates a stock's relative strength compared to a benchmark
Required argument:
symbol
(string, e.g. "AAPL")Optional argument:
benchmark
(string, default: "SPY")Returns relative strength metrics across multiple timeframes (21, 63, 126, 252 days)
Includes performance comparison between the stock and benchmark
volume-profile: Analyzes volume distribution by price
Required argument:
symbol
(string, e.g. "MSFT")Optional argument:
lookback_days
(integer, default: 60)Returns volume profile analysis including:
Point of Control (POC) - price level with highest volume
Value Area (70% of volume range)
Top volume price levels
detect-patterns: Identifies chart patterns in price data
Required argument:
symbol
(string, e.g. "AMZN")Returns detected chart patterns with confidence levels and price targets
position-size: Calculates optimal position size based on risk parameters
Required arguments:
symbol
(string, e.g. "TSLA")stop_price
(number)risk_amount
(number)account_size
(number)
Optional argument:
price
(number, default: current price)Returns recommended position size, dollar risk, and potential profit targets
suggest-stops: Suggests stop loss levels based on technical analysis
Required argument:
symbol
(string, e.g. "META")Returns multiple stop loss suggestions based on:
ATR-based stops (1x, 2x, 3x ATR)
Percentage-based stops (2%, 5%, 8%)
Technical levels (moving averages, recent swing lows)
Technical Analysis Capabilities
The server leverages several specialized analysis modules:
TechnicalAnalysis: Core technical indicators and trend analysis
Moving averages (SMA 20, 50, 200)
Momentum indicators (RSI, MACD)
Volatility metrics (ATR, Average Daily Range Percentage)
Volume analysis (20-day average volume)
RelativeStrength: Comparative performance analysis
Multi-timeframe relative strength scoring (21, 63, 126, 252 days)
Performance comparison against benchmark indices
Outperformance/underperformance classification
VolumeProfile: Advanced volume analysis
Price level volume distribution
Point of Control (POC) identification
Value Area calculation (70% of volume)
PatternRecognition: Chart pattern detection
Support/resistance levels
Common chart patterns (head and shoulders, double tops/bottoms, etc.)
Confidence scoring for detected patterns
RiskAnalysis: Position sizing and risk management
Risk-based position sizing
Multiple stop loss strategies
R-multiple profit target calculation
Data Sources
The server uses the Tiingo API for market data:
Historical daily OHLCV data
Adjusted prices for accurate backtesting
Up to 1 year of historical data by default
Setup
Prerequisites
Python 3.11+
Environment Variables
Create a .env
file:
Installing via Smithery
To install Trader for Claude Desktop automatically via Smithery:
This will:
Install the MCP Trader server
Configure it with your Tiingo API key
Set up the Claude Desktop integration
Smithery Configuration
The server includes a smithery.yaml
configuration file that defines:
Required configuration parameters (Tiingo API key)
Command function to start the MCP server
Integration with Claude Desktop
You can customize the Smithery configuration by editing the smithery.yaml
file.
Installation
Docker Deployment
The project includes a Dockerfile for containerized deployment:
To run the container in HTTP server mode:
Configuration
Claude Desktop App
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development Configuration:
Development
Build and Run
HTTP Server Mode
The server can also run as a standalone HTTP server for testing or integration with other applications:
This starts an HTTP server on http://localhost:8000 with the following endpoints:
GET /list-tools: Returns a list of available tools and their schemas
POST /call-tool: Executes a tool with the provided arguments
Request body format:
{ "name": "analyze-stock", "arguments": { "symbol": "AAPL" } }Returns an array of content items (text, images, etc.)
Debugging
Use the MCP Inspector for debugging:
Example Usage
In Claude Desktop:
The server will return a technical analysis summary including trend status, momentum indicators, and key metrics.
Dependencies
See pyproject.toml for full dependency list:
Contributing
Contributions to MCP Trader are welcome! Here are some ways you can contribute:
Add new tools: Implement additional technical analysis tools or trading strategies
Improve existing tools: Enhance the accuracy or performance of current tools
Add data sources: Integrate additional market data providers
Documentation: Improve the documentation or add examples
Bug fixes: Fix issues or improve error handling
Development Workflow
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature
)Commit your changes (
git commit -m 'Add some amazing feature'
)Push to the branch (
git push origin feature/amazing-feature
)Open a Pull Request
Future Plans
The MCP Trader project has several planned enhancements:
Portfolio Analysis: Tools for analyzing and optimizing portfolios
Backtesting: Capabilities to test trading strategies on historical data
Sentiment Analysis: Integration with news and social media sentiment data
Options Analysis: Tools for analyzing options strategies and pricing
Real-time Data: Support for real-time market data feeds
Custom Strategies: Framework for implementing and testing custom trading strategies
Alerts: Notification system for price and technical indicator alerts
Further Reading
Learn more about this project through these detailed blog posts:
Building a Stock Analysis Server with MCP, Part 1 - Initial setup, architecture, and core technical analysis features
Building a Stock Analysis Server with MCP, Part 2 - Relative Strength, Volume, Pattern Recognition, Risk analysis
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
The MCP Trader Server conducts comprehensive technical analysis on stocks, offering insights into trends, momentum indicators, volatility metrics, and volume analysis to support stock trading decisions.
- Features
- Setup
- Configuration
- Development
- Example Usage
- Dependencies
- Contributing
- Future Plans
- Further Reading
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityMCP server that provides AI assistants access to stock market data including financial statements, stock prices, and market news through a Model Context Protocol interface.Last updated -11526MIT License
- AsecurityFlicenseAqualityAn MCP server that enables AI models like Claude to interact with the Trading Simulator API for checking balances, viewing prices, and executing trades with automatic chain detection.Last updated -15
- -securityAlicense-qualityAn MCP server providing a range of cryptocurrency technical analysis indicators and strategies.Last updated -080MIT License
- AsecurityFlicenseAqualityAn MCP server that analyzes stock trading volume to identify significant price levels (volume walls), supporting features like order book data fetching, trade analysis, and volume distribution tracking.Last updated -305