/ Directory / Playground / maverick-mcp
● Community wshobson ⚡ Instant

maverick-mcp

by wshobson · wshobson/maverick-mcp

Personal stock research with 39+ tools — technicals, screening, backtesting, sentiment — powered by Tiingo, yfinance, and FRED.

maverick-mcp by wshobson is a hobbyist's Bloomberg terminal for chat. Technical indicators (RSI, MACD, support/resistance), Maverick/Bear stock screeners, a VectorBT-powered backtester with 15+ strategies, portfolio tracking, and LLM-driven research. Bring-your-own-key for Tiingo (free tier); optional keys unlock web search and more models.

Why use it

Key features

Live Demo

What it looks like in practice

maverick.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "maverick": {
      "command": "uvx",
      "args": [
        "maverick-mcp"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "maverick": {
      "command": "uvx",
      "args": [
        "maverick-mcp"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "maverick": {
      "command": "uvx",
      "args": [
        "maverick-mcp"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "maverick": {
      "command": "uvx",
      "args": [
        "maverick-mcp"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "maverick",
      "command": "uvx",
      "args": [
        "maverick-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "maverick": {
      "command": {
        "path": "uvx",
        "args": [
          "maverick-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add maverick -- uvx maverick-mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use maverick-mcp

Run a technical analysis check on a stock

👤 DIY traders, chart-pattern students ⏱ ~10 min intermediate

When to use: Before taking a position, you want indicators without opening TradingView.

Prerequisites
  • TIINGO_API_KEY — tiingo.com — free tier covers casual use
Flow
  1. Pull full technicals
    Run get_full_technical_analysis on TSLA. RSI, MACD, key moving averages, support/resistance.✓ Copied
    → Tech dashboard
  2. Interpret in plain English
    Is this bullish, bearish, or neutral right now? Be specific about conviction.✓ Copied
    → Opinion with reasoning
  3. Sanity check
    What assumptions could be wrong? Where's the thesis most fragile?✓ Copied
    → Honest self-critique

Outcome: A reasoned technical view you can double-check against your own judgment.

Pitfalls
  • Technicals alone are not a strategy — Cross-check against fundamentals and news before acting
  • Backtest overfitting — Always validate on out-of-sample data
Combine with: yahoo-finance

Screen for candidates using Maverick screens

👤 Traders looking for setups ⏱ ~20 min intermediate

When to use: Weekly or daily screen for fresh ideas.

Flow
  1. Run the screen
    Run get_maverick_stocks — what's passing today?✓ Copied
    → Candidate list
  2. Triage
    For the top 10, get_full_technical_analysis each and rank by setup quality.✓ Copied
    → Ranked list with reasons

Outcome: A short watchlist derived from consistent criteria.

Backtest a strategy idea

👤 Strategy developers wanting quick feedback ⏱ ~25 min advanced

When to use: You have an idea like 'RSI cross above 50 with price above 200DMA' and want to see it on historical data.

Flow
  1. Run a backtest
    run_backtest: RSI-cross-above-50 + price>200DMA, SPY, 2015-2024, 10bps slippage.✓ Copied
    → Return stats + drawdown
  2. Compare to baseline
    compare_strategies: my strategy vs buy-and-hold SPY, same period.✓ Copied
    → Head-to-head

Outcome: Data-grounded view of whether an idea has legs.

Analyze your paper portfolio

👤 Long-term investors ⏱ ~20 min intermediate

When to use: Quarterly review: diversification, correlation, risk.

Flow
  1. Build portfolio
    portfolio_add_position for AAPL, MSFT, JNJ, VTI, GLD at current weights.✓ Copied
    → Portfolio object
  2. Correlation + risk
    portfolio_correlation_analysis and risk_adjusted_analysis.✓ Copied
    → Matrix + stats
  3. Recommendations
    What's overlapping? Where's concentration risk?✓ Copied
    → Diversification advice

Outcome: Actionable rebalancing ideas with justification.

Combinations

Pair with other MCPs for X10 leverage

maverick + yahoo-finance

Pair maverick's technicals with Yahoo's raw fundamentals

Get maverick technical analysis on TSLA, plus Yahoo financial statements, and synthesize a thesis.✓ Copied
maverick + notion

Save research memos to Notion

Run research_comprehensive on AVGO; save the output as a Notion page under Investing / Research.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
fetch_stock_data ticker, start, end, interval? Base data fetch 1 Tiingo call
get_full_technical_analysis ticker: str One-stop technical view multiple calls
get_maverick_stocks (none) Weekly screening free (pre-seeded DB)
run_backtest strategy, ticker, start, end, params Validate a strategy idea CPU-bound
portfolio_add_position ticker, shares, cost_basis Track holdings free
portfolio_correlation_analysis (none) Diversification check CPU
research_comprehensive ticker: str Deep dive; more expensive LLM + web search calls
analyze_market_sentiment ticker or sector Context beyond price web search calls

Cost & Limits

What this costs to run

API quota
Tiingo free tier: 500 req/hr, 50k/mo. Depends on OPENROUTER/Anthropic keys if used for research.
Tokens per call
Simple data: 500-2000. research_comprehensive: 10k+
Monetary
Free tier covers hobbyist use; paid data + LLM keys for heavy research
Tip
Enable Redis caching to avoid repeated Tiingo hits; OpenRouter saves 40-60% on LLM calls vs direct Anthropic.

Security

Permissions, secrets, blast radius

Credential storage: Env vars: TIINGO_API_KEY, OPENROUTER_API_KEY, etc.
Data egress: Calls to Tiingo, Yahoo (via yfinance), FRED, plus whichever LLM/search keys you configure
Never grant: Exposing the HTTP transport to the public internet

Troubleshooting

Common errors and fixes

TIINGO_API_KEY missing

Create a free account at tiingo.com and set the env var.

Verify: echo $TIINGO_API_KEY
Backtest hangs

VectorBT is CPU-bound; long histories on minute bars can take 10+ min. Narrow the date range or use daily bars.

Redis not connecting

Redis is optional; unset REDIS_HOST to fall back to in-memory cache.

Verify: redis-cli ping

Alternatives

maverick-mcp vs others

AlternativeWhen to use it insteadTradeoff
yahoo-finance-mcpYou only need raw data and no technicals/backtestNo screens, no backtest, no portfolio
QuantConnect Lean / ZiplineYou need institution-grade backtestingNo MCP; steeper setup
TradingViewYou want a chart UINot programmatic; not MCP

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills