Financial analysis tools for AI assistants — technical indicators, options analysis, position sizing, and trade analytics via MCP
Project description
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 |
|---|---|
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 |
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 |
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:
- "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
│ ├── 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
- No API keys needed for basic functionality.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fintools_mcp-0.2.0.tar.gz.
File metadata
- Download URL: fintools_mcp-0.2.0.tar.gz
- Upload date:
- Size: 18.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8652b6a2ead95c22de97b7103a5648296e2da8957c9d44fc9f7a4d376efa1cc
|
|
| MD5 |
ef6df89c6ffba133a248db4aca9586ef
|
|
| BLAKE2b-256 |
dc7a3ca924b4e038dad49f054bfb859d5b3580f367a385eefcdde107a1b91f85
|
File details
Details for the file fintools_mcp-0.2.0-py3-none-any.whl.
File metadata
- Download URL: fintools_mcp-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ceb2c9fd9cb1759f40160b8f0b5665c3ae4b83add807131f22e4134dd9b710
|
|
| MD5 |
8fc5b791e3421f5c4a1488468c7a96cb
|
|
| BLAKE2b-256 |
2b5d7c41caaea32526942c1ab04fa95488595593ae721cda6a2bd3fa04e61e7b
|