MomentumSAFE
⚡ Give your AI agent a Bloomberg terminal. MCP server for stock screening, OHLCV data, technical analysis, chart generation, and financial news.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
⚡ momentum-mcp
Give your AI agent a Bloomberg terminal.
A Model Context Protocol server for quantitative trading analysis.
Tools • Quickstart • Connect Your Client • Tech Stack • License
This toolkit shares its lineage with Vesper, a LangGraph trading agent for Webull — its mcp_server/ is a separate, credential-heavier superset (adds a live-account owner mode and, eventually, an order path). This repo stays the standalone version: point any MCP host at it, no broker anywhere near it. It's also part of the mphinance AI trading stack — if you want packaged Claude/Gemini Skills (screeners, regime detection, backtesting playbooks) that can call these tools instead of a paid API, see alpha-skills; if you want to act on what these tools tell you, see awesome-broker-mcp for which broker an AI can actually trade through.Changelog
**September
44f1e4e632caOBSERVED · 2026-10-09Exposed tools (73)
66 read · 7 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
analyze_breadth | read | Get a comprehensive market breadth health score (0-100). |
analyze_options_setup | read | VoPRTM engine: composite realized vol (4 estimators), VRP ratio, |
analyze_pair | read | Analyze a pair of stocks for statistical arbitrage. |
analyze_recent_gap | read | Score the most recent overnight gap reaction (0-100) for a specific ticker. |
analyze_scenario | read | Generate bull/base/bear scenarios for a ticker based on a catalyst (e.g. |
analyze_technicals | read | Compute 24 technical indicators: EMA 8/21/34/55/89, SMA 50/100/200, |
analyze_uptrend_participation | read | Measure market participation in structural uptrends. |
backtest_strategy | read | Backtest a trading strategy on historical data. 6 presets: |
calculate_position_size | read | Calculate risk-based position size using Fixed Fractional, ATR, or Kelly methods. |
detect_bubble_risk | read | Assess current market euphoria and bubble risk (0-15 score). |
detect_ftd | read | Detect Follow-Through Days (FTDs) on major indices to confirm market bottoms. |
detect_macro_regime | read | Detect the current structural market regime (Growth, Inflation, Deflation, or Goldilocks). |
detect_market_top | read | Detect market topping signals using distribution days and leadership trends. |
detect_themes | read | Identify trending market themes by clustering thematic ETF performance. |
etf_briefing | read | Pre-market institutional briefing: top ETF buys and sells, multi-provider |
etf_divergences | read | Cross-fund divergences: where different institutional funds traded the SAME |
etf_fund_detail | read | One ETF |
etf_global_stats | read | Coverage stats: funds tracked, unique underlyings, options contracts, |
etf_holdings_changes | read | Raw institutional position changes, filterable by provider ( |
etf_income_fund_detail | read | One income fund |
etf_income_overview | read | Option-income funds by structure: covered-call, synthetic, leap-proxy, swap. |
etf_institutional_flow | read | Aggregate accumulation/distribution: all active-equity funds blended into |
etf_institutional_trend | read | Per-ticker institutional accumulation/distribution trend across day, week |
etf_layering_patterns | read | Layering: 3+ independent stock-pickers opening the SAME new position within |
etf_list_funds | read | All 71 tracked funds with holdings counts and top positions. |
etf_list_tickers | read | The most widely-held underlyings across all tracked funds (~2,270 total). |
etf_options_listings | read | CBOE daily diff: newly optionable stocks and new weekly listings. |
etf_sector_flow | read | Sector-level institutional inflows and outflows from fund holdings. |
etf_signal_performance | read | Historical backtest performance of TickerTrace conviction signals. |
etf_signals | read | Conviction-scored institutional buy/sell signals from daily ETF holdings |
etf_stock_activity | read | Everything institutional for one stock: which funds hold it, how weights |
extract_article_text | read | Extract the full-text body of a news article. Strips ads and nav. |
fetch_ticker_news | read | Fetch recent financial news headlines for a stock from RSS feeds. |
find_best_to_buy | read | Auto-find the best directional option to BUY. Reads technicals |
find_best_to_sell | read | Auto-find the best puts and calls to SELL. Scans 7-45 DTE across |
generate_alpha_card | read | Generate a shareable Alpha Card — a branded HTML analysis card. |
generate_chart | read | Generate a candlestick chart with EMA overlays (8/21/34/55/89). |
get_alpha_signals | read | Get recent alpha signals detected by the background signal factory. |
get_earnings_calendar | read | Weekly earnings calendar — who reports this week. |
get_earnings_flow | read | Pre-earnings options flow — institutional positioning ahead of earnings. |
get_exposure_recommendation | read | Get a market exposure recommendation (0-100% capital deployment). |
get_fundamentals | read | Get fundamental data: P/E, EPS, revenue growth, profit margin, |
get_gex_overview | read | Gamma Exposure (GEX) for SPY/QQQ/IWM. Positive = pinning/calm. |
get_historical_data | read | Fetch OHLCV historical price data for a stock. |
get_learned_patterns | read | Get auto-extracted patterns from past backtests with win rates. |
get_market_environment | read | Get a cross-asset market environment report. |
get_market_pulse | read | AI-generated market sentiment with options flow score (-7 to +7). |
get_market_stats | write | Market-wide put/call ratios and sentiment indicators. |
get_momentum_pulse | read | Calculate real-time momentum scores (0-100) for each ticker. |
get_politician_trades | read | Congressional stock trading disclosures. |
get_put_call_ratios | write | Put/call ratios for SPY, QQQ, IWM (or any ticker). |
get_sec_filings | read | SEC EDGAR filing index straight from the primary source: the |
get_sec_financials | read | Multi-period financials from SEC XBRL, including the accrual gap |
get_sector_flow | read | Sector-by-sector options flow with bullish/bearish sentiment. |
get_shares_outstanding | read | Cover-page share count straight from the 10-Q/10-K filing, not an |
get_signals | read | Breakout and continuation signals with technical indicator data. |
get_stakes_held | read | AS-FILER 13D/13G: stakes this company holds in OTHER public companies |
get_track_record | read | Get the full conviction journal track record with win/loss stats. |
get_tv_analysis | read | Get TradingView 26-indicator technical consensus for a ticker. |
get_unusual_activity | read | Unusual options flow feed — institutional trades, premium, conviction. |
list_strategies | read | List all saved custom strategies. |
log_conviction | read | Log a trade conviction to the journal. Direction: bullish/bearish/neutral. |
model_price_distribution | read | Compute statistical price targets using historical volatility. |
run_custom_screen | write | Build a custom stock screen with dynamic filter conditions. |
run_stock_screen | write | Run a stock screen using TradingView |
save_strategy | write | Save a custom strategy to disk for re-use. |
screen_canslim | read | Screen for growth stocks matching CANSLIM criteria. |
screen_pead | write | Screen for Post-Earnings Announcement Drift (PEAD) setups. |
screen_vcp | read | Screen for stocks forming a Volatility Contraction Pattern (VCP). |
search_knowledge | read | Search Sam |
sweep_setups | read | Opportunity Board: scan multiple tickers for best options trades. |
sweep_strategy | write | Run a strategy across multiple tickers (max 20). Ranks by Sharpe/return. |
walk_forward_test | read | Walk-forward validation: splits data into n folds, detects overfitting. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (6)
content_hash = hashlib.md5(
return hashlib.md5(raw.encode()).hexdigest()
chunk_id = hashlib.md5(f"{source}:{section}:{text[:100]}".encode()).hexdigest()chunk_id = hashlib.md5(
chunk_id = hashlib.md5(f"tech:{ticker}:{date_str}:{source}".encode()).hexdigest()fastmcp, tradingview-screener, yfinance, pandas, pandas-ta, numba, mplfinance, matplotlib
Gates applied: no_behavioural_pass.
44f1e4e632cafull audit observations/trust-audit/mcp-server/mphinance__momentum.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-09 | 44f1e4e632ca | SAFE | B | 89 | first audit |
Questions
What is the Momentum MCP server?
⚡ Give your AI agent a Bloomberg terminal. MCP server for stock screening, OHLCV data, technical analysis, chart generation, and financial news.
What tools does Momentum expose?
73 in total: 66 read-only, 7 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Momentum safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Momentum need?
It reads GEMINI_API_KEY, OPENROUTER_API_KEY and TRADERDADDY_PASSWORD from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How current is this page?
The grade is for one exact copy of the source (44f1e4e632ca), read on 2026-10-09. The repository is watched and re-audited when it changes.