Finance / MCP server

Market research context your agent can call.

Market Data Analyzer exposes six MCP tools for stock research, a predefined stock screen, portfolio analysis, asset comparison, market context, and cryptocurrency analysis. Data comes from Yahoo Finance and CoinGecko; the package calculates its own indicators and risk metrics.

6 shipped tools 4 free calls Node.js 18+ stdio + optional SSE

Run with npx 60-second demo Founding offer

Shipped scope

What the server does

Inspect and screen stocks

analyze_stock combines an available quote with six months of daily history to report SMA 20/50/200, RSI 14, MACD 12/26/9, support and resistance, cross detection, and a technical signal summary.

screen_stocks filters the package's predefined popular-stock universe by market cap, trailing P/E, sector or industry text, volume, price, and result limit.

Review holdings and assets

analyze_portfolio uses symbols, share counts, and average costs to calculate value, cost basis, position P&L, allocations, sector exposure, an HHI-based diversification score, and rule-based warnings.

compare_assets compares two to five symbols over a supported period with returns, annualized volatility, an approximate Sharpe ratio, max drawdown, correlations, and rankings.

Frame markets and crypto

market_overview summarizes major indices, the 10-year Treasury yield, VIX, sector ETFs, Bitcoin, Ethereum, gold, crude oil, sector breadth, and a code-defined sentiment score.

crypto_analysis reports CoinGecko price and market data, supply, ATH/ATL records, dominance when available, global crypto context, and a clearly labeled fear-and-greed approximation.

Agent use cases

Three real workflows

Workflow 01 / Runs on the free trial

Prepare a ticker research brief

Have the agent call analyze_stock, then organize the returned quote, indicators, support and resistance, and signal counts for review.

{
  "symbol": "AAPL"
}

Workflow 02 / Runs on the free trial

Filter the packaged stock universe

Use screen_stocks to narrow the predefined symbols, with matches sorted by market cap and accompanied by available quote metrics.

{
  "sector": "tech",
  "max_pe": 40,
  "min_market_cap": 500000000000,
  "limit": 10
}

Workflow 03 / Pro-tier tool

Check portfolio concentration

Pass actual positions to analyze_portfolio so the agent can summarize P&L, allocation, sector concentration, diversification, and any rule-based warnings returned by the tool.

{
  "holdings": [
    { "symbol": "AAPL", "shares": 100, "avg_cost": 150.00 },
    { "symbol": "MSFT", "shares": 50, "avg_cost": 380.00 },
    { "symbol": "JPM", "shares": 75, "avg_cost": 195.00 }
  ]
}

Quickstart

Run the published package

Open your client's config file

  • Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json

    Windows: %APPDATA%\Claude\claude_desktop_config.json. In the app: Settings → Developer → Edit Config.

  • Cursor ~/.cursor/mcp.json

    Or .cursor/mcp.json inside a single project.

  • Windsurf ~/.codeium/windsurf/mcp_config.json

    Cascade panel → MCP icon → edit the raw config.

Paste this entry

All three clients accept the same object. If the file already has an mcpServers block, add just the "market-data-analyzer" entry inside it.

mcpServers entry
{
  "mcpServers": {
    "market-data-analyzer": {
      "command": "npx",
      "args": ["-y", "market-data-analyzer"]
    }
  }
}

No env block is needed to start: the first 4 tool calls total across this server's six tools run without a license.

Using Claude Code instead? One command, no file

shell
$ claude mcp add --transport stdio market-data-analyzer -- npx -y market-data-analyzer

Check it registered with claude mcp list. Add a key later with --env LICENSE_KEY=your-key placed before --transport.

Restart the client, then confirm it loaded

  • Claude Desktop: quit and reopen the app, then look for Market Data Analyzer in the tools/plugin menu.
  • Cursor: Settings → Customize → MCP; the server should list its tools.
  • Windsurf: reload Cascade; the server appears under the MCP panel.
  • Claude Code: run claude mcp list and look for ✔ Connected.

Running npx -y market-data-analyzer in a terminal looks frozen — that is correct. It is a stdio server: it waits silently for an MCP client on stdin and never returns a prompt. Press Ctrl+C to exit. Use the config above rather than the bare command; your client starts the process for you.

Add your license key when you buy

A key arrives on screen right after checkout. Add it as an environment variable in the same entry:

mcpServers entry with license
{
  "mcpServers": {
    "market-data-analyzer": {
      "command": "npx",
      "args": ["-y", "market-data-analyzer"],
      "env": {
        "LICENSE_KEY": "paste-your-key-here"
      }
    }
  }
}

Keys are verified offline against a public key compiled into the package — no account, no network check, no usage reporting. Lost the key? Recover it here. More detail on the FAQ.

60-second demo

Three calls that fit inside the free trial

Run these in order from a client with no LICENSE_KEY set. They cover the three shapes of output this server produces: one stock, one crypto asset, one portfolio. Copy each argument object exactly as written. The fourth trial call is left over on purpose — see the retry note below.

analyze_stock — one ticker

arguments.json
{
  "symbol": "AAPL"
}

Expect these categories back. Live values change on every run, so none are quoted here:

  • Price overview with the current price and its change
  • SMA 20 / 50 / 200 and where the price sits relative to each
  • RSI 14 with an overbought or oversold reading
  • MACD 12/26/9 — line, signal, histogram, and a bullish or bearish interpretation
  • Golden-cross and death-cross detection
  • Support and resistance levels, each with its distance from the current price
  • A signal tally ending in a BULLISH, BEARISH, or NEUTRAL consensus

crypto_analysis — one coin

arguments.json
{
  "symbol": "BTC"
}
  • Price with 24h, 7d, and 30d percentage changes
  • 24h volume, market cap, and market-cap rank
  • Circulating and maximum supply
  • All-time high and all-time low with the percentage distance from each
  • Bitcoin dominance, when CoinGecko returns it, plus global crypto market context
  • A fear-and-greed approximation with the factors behind it — computed inside this package, and not the official Fear & Greed Index

analyze_portfolio — a small book

arguments.json
{
  "holdings": [
    { "symbol": "AAPL", "shares": 100, "avg_cost": 150.00 },
    { "symbol": "MSFT", "shares": 50, "avg_cost": 380.00 },
    { "symbol": "JPM", "shares": 75, "avg_cost": 195.00 }
  ]
}
  • Total market value and total cost basis
  • Per-position P&L in dollars and percent
  • Allocation percentage per holding
  • Sector allocation breakdown
  • An HHI-based diversification score
  • Top performers and underperformers
  • Rule-based concentration warnings, when a rule fires

Founding offer

$15 once, for a license valid 365 days.

One payment of $15 buys one license key for Market Data Analyzer, valid for 365 days — 12 months — from the date of purchase, covering all six tools. It is not a subscription: nothing renews, and nothing is charged again.

What you get

A key issued at the Pro / full-access tier, so all six tools are unlocked, including analyze_portfolio, compare_assets, and crypto_analysis. It is verified offline against a public key compiled into the package — no account, no network check, no usage reporting.

Exactly 365 days

The key carries a fixed expiry date measured from your purchase. On that date it stops validating and the package returns to the free trial rules. Because verification is offline, the key also cannot be revoked before then.

What it is not

No automatic renewal. No perpetual or lifetime access. No priority or faster data refresh — every license reads the same public upstream APIs at the same rate. No seat count, no SSO or SIEM, no support SLA.

Why "founding"

This single offer replaces the previous $15/mo Basic and $25/mo Pro monthly plans for this package. The price and the single-offer structure may change for later buyers. That is a statement about what may change, not a deadline: there is no countdown and no limited number of licenses.

Know the boundaries

Scope and limitations

Upstream data is best-effort

Five tools use unofficial Yahoo Finance v7/v8 endpoints with cookie-and-crumb authentication. crypto_analysis uses CoinGecko's free API, documented by the package at 10–30 calls per minute. Network, authentication, rate-limit, or missing-data errors can prevent a result.

A cache TTL is not a freshness promise

Quote, chart, and CoinGecko payloads share an in-memory five-minute cache. Repeated calls may therefore return cached data. The TTL controls when the package refetches; it does not guarantee that an upstream quote is real-time or complete.

Coverage is deliberately bounded

The screener searches a predefined list rather than every listed security. Stock analysis uses a fixed six-month daily chart. Asset comparison accepts two to five symbols and only 1mo, 3mo, 6mo, 1y, 2y, or 5y.

Research context, not financial advice

Technical consensus, market sentiment, diversification warnings, and crypto fear-and-greed output are code-defined calculations or heuristics; the crypto score is not the official Fear & Greed Index. The server has no brokerage or order-execution tool. Verify the source data and treat every output as research context, not financial advice.

Start with your own tickers

Four free calls. The demo uses three.

Add the server to an MCP client without a key, run the three-call demo, then try the tools on symbols you actually care about. The founding offer — $15 once, for a license valid 365 days — is described above; its one-time checkout link is not published yet, so nothing on this page asks you to pay.