fintools-mcp
The fintools-mcp server provides a comprehensive financial analysis toolkit for AI assistants, covering real-time market data, technical analysis, options trading, risk management, trade performance, and stock screening.
Market Data & Quotes
Stock quotes — Current price, volume, 52-week range, and market cap for any ticker
Option contract quotes — Live price and Greeks for a specific OCC options contract, with optional P&L calculation if an entry price is provided
Technical Analysis
Technical indicators — RSI, MACD, ATR, EMAs (9/21/50/200), Fibonacci retracement levels, and overall trend assessment across multiple timeframes
Trend score — Graduated score from -100 (strong downtrend) to +100 (strong uptrend) based on 5 combined indicators
Support & resistance levels — Key levels from swing highs/lows with touch counts and strength ratings
Compare tickers — Side-by-side technical comparison across multiple symbols simultaneously
Stock Screening
Screen stocks — Filter S&P 500, ETFs, or custom lists by RSI, trend score, EMA position, and relative volume
Find breakouts — Scan for breakout candidates in strong uptrends with bullish EMA stacks and momentum RSI ranges
Options Analysis
Analyze options chain — Full options chain with IV analysis, liquidity filtering (volume, open interest, bid-ask spread), and put/call ratios
Position Sizing & Risk Management
Calculate position size — Share count, position value, and risk/reward ratio based on entry, stop, target, account size, and risk percentage
ATR-based position sizing — Auto-calculate stop and target distances from live ATR, then size the position accordingly
Trade Performance Analytics
Analyze trades — Compute win rate, profit factor, Sharpe ratio, max drawdown, and streaks from a list of trade P&L values
Diagnostics
Data source stats — View cache status and provider request counters for the current MCP session
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., "@fintools-mcpAnalyze the technical setup on NVDA and suggest a position size"
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.
fintools-mcp
Financial analysis tools for AI assistants via MCP (Model Context Protocol).
Give Claude, ChatGPT, Cursor, or any MCP-compatible AI access to real financial analysis — not just stock prices, but the analytical toolkit a trader actually uses.
Tools
Tool | What it does |
| RSI, MACD, ATR, EMAs (9/21/50/200), Fibonacci levels, trend assessment |
| Current price, volume, 52-week range, market cap |
| Trend score from -100 (strong downtrend) to +100 (strong uptrend) with component breakdown |
| Key support/resistance levels with touch counts and strength ratings |
| Screen S&P 500 by RSI, trend score, EMA position, relative volume — find setups fast |
| Show cache status and provider request counters for the current MCP session |
| Options chain with IV analysis, liquidity filtering, put/call ratios |
| Risk-based position sizing with stop loss and profit target |
| ATR-based position sizing — auto-calculates stop and target from volatility |
| Win rate, profit factor, Sharpe ratio, drawdown, streaks from trade P&Ls |
| Side-by-side technical comparison across multiple symbols |
Related MCP server: MCP YFinance Stock Server
How it works

Quick Start
Install
pip install fintools-mcpOr with uv:
uv pip install fintools-mcpAdd to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"fintools": {
"command": "uv",
"args": ["run", "--from", "fintools-mcp", "fintools-mcp"]
}
}
}Or if installed via pip:
{
"mcpServers": {
"fintools": {
"command": "fintools-mcp"
}
}
}Add to Claude Code
claude mcp add fintools -- uv run --from fintools-mcp fintools-mcpExamples
Once configured, you can ask your AI assistant things like:
"Find oversold S&P 500 stocks still above their 200 EMA"
"What's SPY's trend score?"
"Show me support and resistance levels for NVDA"
"What's the technical setup on AAPL right now?"
"Analyze the SPY options chain for next Friday"
"If I want to go long NVDA with a $100k account risking 1.5%, how many shares and where's my stop?"
"Compare AAPL, GOOGL, MSFT, and AMZN — which has the strongest trend?"
"Here are my last 20 trades: [150, -80, 200, ...] — what's my win rate and Sharpe?"
Example Output
Technical Indicators
> "What's the technical setup on SPY?"
SPY @ $573.42
RSI(14): 58.3 — bullish momentum
MACD: 2.14 (histogram +0.38, bullish)
ATR(14): $7.82
EMAs: 9 > 21 > 50 > 200 (fully stacked bullish)
Fibonacci: In golden pocket (0.618-0.65 retracement)
Trend: Bullish (all signals aligned)Position Sizing
> "Size a long position on AAPL at $227, stop $220, target $245"
Shares: 214
Position value: $48,578
Risk: $1,498 (1.5% of $100k)
Reward: $3,852
R:R ratio: 2.57Architecture
fintools-mcp/
├── fintools_mcp/
│ ├── server.py # MCP server — tool definitions
│ ├── data.py # Market data via yfinance/Public with cache + batch fetch helpers
│ ├── data_cache.py # File-backed cache for repeated quote/bar requests
│ ├── indicators/ # Technical indicators (standalone, no deps)
│ │ ├── rsi.py # RSI — Wilder's smoothing
│ │ ├── macd.py # MACD (12, 26, 9)
│ │ ├── atr.py # ATR — Average True Range
│ │ ├── ema.py # EMA — any period
│ │ ├── vwap.py # VWAP — intraday, daily reset
│ │ └── fibonacci.py # Fibonacci retracement + golden pocket
│ └── analysis/
│ ├── position_sizer.py # Risk-based + ATR-based sizing
│ └── trade_stats.py # KPI calculator (60+ metrics)
└── tests/Data Sources
Stock data: Yahoo Finance (free, no API key required)
Options data: Yahoo Finance options chains
Optional daily bars: Public.com via
FINTOOLS_DATA_SOURCE=public+PUBLIC_SECRET_KEYCache: enabled by default at
~/.cache/fintools-mcpNo API keys needed for basic functionality.
Cache controls:
FINTOOLS_CACHE_ENABLED=0 # disable cache
FINTOOLS_CACHE_DIR=/path/to/cache # override cache location
FINTOOLS_DAILY_CACHE_TTL_SECONDS=900 # default daily-bar TTL
FINTOOLS_INTRADAY_CACHE_TTL_SECONDS=60 # default intraday-bar TTL
FINTOOLS_QUOTE_CACHE_TTL_SECONDS=15 # default quote TTLFor live options marks and execution-quality chains, use the SRE/Public.com MCP instead of yfinance-backed option tools.
Development
git clone https://github.com/slimbiggins007/fintools-mcp.git
cd fintools-mcp
uv sync
uv run python -m fintools_mcp # starts the MCP serverRun tests:
uv run pytestLicense
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/slimbiggins007/fintools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server