fintools-mcp
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Financial analysis tools for AI assistants via MCP — technical indicators, options analysis, position sizing, and trade statistics
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.
This repository is Fintools Core: the free, open-source MCP foundation. See VISION.md for the public product direction and guardrails.
Tools
| Tool | What it does |
|---|---|
get_technical_indicators |
RSI, MACD, ATR, EMAs (9/21/50/200), Fibonacci levels, trend assessment |
get_stock_quote |
Current price, volume, 52-week range, market cap |
get_trend_score |
Trend score from -100 (strong downtrend) to +100 (strong uptrend) with component breakdown |
get_support_resistance |
Key support/resistance levels with touch counts and strength ratings |
screen_stocks |
Screen S&P 500 by RSI, trend score, EMA position, relative volume — find setups fast |
get_data_source_stats |
Show cache status and provider request counters for the current MCP session |
analyze_options_chain |
Options chain with IV analysis, liquidity filtering, put/call ratios |
calculate_position_size |
Risk-based position sizing with stop loss and profit target |
calculate_atr_position |
ATR-based position sizing — auto-calculates stop and target from volatility |
analyze_trades |
Win rate, profit factor, Sharpe ratio, drawdown, streaks from trade P&Ls |
compare_tickers |
Side-by-side technical comparison across multiple symbols |
How it works

Quick Start
Install
pip install fintools-mcp
Or with uv:
uv pip install fintools-mcp
Add 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-mcp
Examples
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.57
Architecture
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_KEY - Cache: enabled by default at
~/.cache/fintools-mcp - No 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 TTL
For live options marks and execution-quality chains, use your broker's own data
or MCP integration 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 server
Run tests:
uv run pytest
License
MIT
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi