Local Stock Analyst MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
npm install
npm run build
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add local-stock-analyst-7006 -- node "<FULL_PATH_TO_MCPLOCALSTOCKRENDERLIVE>/dist/index.js"

Replace <FULL_PATH_TO_MCPLOCALSTOCKRENDERLIVE>/dist/index.js with the actual folder you prepared in step 1.

README.md

Local TypeScript MCP server for Claude Desktop that exposes stock-analysis tools

Local Stock Analyst MCP (stdio)

Local TypeScript MCP server for Claude Desktop that exposes stock-analysis tools using:

  • Finnhub as the primary provider
  • Alpha Vantage as fallback
  • local indicator calculation fallback for RSI and MACD

The server supports:

  • stdio mode for local Claude Desktop integration (default)
  • HTTP mode for cloud hosting (for example, Render)

Tools

  • get_stock_price
  • get_quote
  • get_company_profile
  • get_candles
  • get_stock_news
  • get_rsi
  • get_macd
  • get_key_financials

Each tool validates input with zod, formats output consistently, and includes an informational disclaimer.

Requirements

  • Node.js 20.x (recommended for Render stability)
  • npm
  • API key for at least one provider:
    • Finnhub: FINNHUB_API_KEY
    • Alpha Vantage: ALPHAVANTAGE_API_KEY

Setup

  1. Install dependencies:
npm install
  1. Create env file from template:
copy .env.example .env
  1. Add your API keys to .env.

Build and Run

Build:

npm run build

Start locally (stdio MCP mode):

npm start

Start in HTTP mode (Render-style):

set MCP_TRANSPORT=http
set PORT=3000
npm start

HTTP endpoints:

  • MCP endpoint: /mcp
  • health check: /healthz

Claude Desktop (Windows) Configuration

Open your Claude Desktop config file:

  • %APPDATA%\Claude\claude_desktop_config.json

Add/update:

{
  "mcpServers": {
    "local-stock-analyst": {
      "command": "node",
      "args": ["D:/mcpserverdemo/mcplocalstock/build/index.js"],
      "env": {
        "FINNHUB_API_KEY": "YOUR_FINNHUB_KEY",
        "ALPHAVANTAGE_API_KEY": "YOUR_ALPHA_VANTAGE_KEY"
      }
    }
  }
}

Notes:

  • Use absolute paths in args.
  • Forward slashes are safe on Windows JSON paths.
  • Restart Claude Desktop after saving config.

Deploy on Render

Use a Web Service deployment.

  1. Push this project to GitHub.
  2. In Render, create a new Web Service from your repo.
  3. Configure:
    • Build Command: npm install && npm run build
    • Start Command: npm start
  4. Add environment variables:
    • MCP_TRANSPORT=http
    • FINNHUB_API_KEY=... (optional but recommended)
    • ALPHAVANTAGE_API_KEY=... (optional fallback)
    • PORT is auto-provided by Render.
  5. Deploy.

After deploy, verify:

  • https://<your-service>.onrender.com/healthz returns {"status":"ok"}
  • MCP server endpoint is https://<your-service>.onrender.com/mcp

Quick Test Prompts in Claude

  • "Call get_stock_price for MSFT."
  • "Call get_candles for MSFT, interval D, from 1704067200, to 1735689600, limit 5."
  • "Call get_rsi for MSFT, interval D, from 1704067200, to 1735689600."

Troubleshooting

  • No tools visible in Claude
    • Check JSON validity of claude_desktop_config.json.
    • Confirm build/index.js exists (npm run build).
    • Fully restart Claude Desktop.
  • Auth errors
    • Verify API keys in config env or local .env.
  • Rate-limit errors
    • Retry later, reduce call frequency, or use higher-tier keys.
    • The server automatically attempts Alpha Vantage fallback after Finnhub failures.

Logs

  • Claude Desktop logs are usually in %APPDATA%\Claude\logs.
  • Server startup/errors are written to stderr by the MCP process.

Tools (8)

get_stock_priceRetrieves the current stock price for a given symbol.
get_quoteGets a detailed stock quote for a given symbol.
get_company_profileRetrieves company profile information.
get_candlesFetches historical candle data for a stock.
get_stock_newsRetrieves recent news for a specific stock.
get_rsiCalculates the Relative Strength Index (RSI) for a stock.
get_macdCalculates the Moving Average Convergence Divergence (MACD) for a stock.
get_key_financialsRetrieves key financial metrics for a company.

Environment Variables

FINNHUB_API_KEYAPI key for Finnhub data provider
ALPHAVANTAGE_API_KEYAPI key for Alpha Vantage data provider
MCP_TRANSPORTTransport mode (stdio or http)
PORTPort for HTTP mode

Configuration

claude_desktop_config.json
{
  "mcpServers": {
    "local-stock-analyst": {
      "command": "node",
      "args": ["/path/to/build/index.js"],
      "env": {
        "FINNHUB_API_KEY": "YOUR_FINNHUB_KEY",
        "ALPHAVANTAGE_API_KEY": "YOUR_ALPHA_VANTAGE_KEY"
      }
    }
  }
}

Try it

Call get_stock_price for MSFT.
Call get_candles for MSFT, interval D, from 1704067200, to 1735689600, limit 5.
Call get_rsi for MSFT, interval D, from 1704067200, to 1735689600.
Get the company profile for AAPL and summarize their main business activities.
Fetch the latest stock news for NVDA.

Frequently Asked Questions

What are the key features of Local Stock Analyst?

Real-time stock price and quote retrieval. Historical candle data fetching. Technical indicator calculations including RSI and MACD. Multi-provider support with Finnhub and Alpha Vantage fallback. Supports both stdio and HTTP transport modes.

What can I use Local Stock Analyst for?

Analyzing historical stock performance using technical indicators. Retrieving real-time market data for financial research. Monitoring company news and profiles directly within Claude. Building automated financial reporting workflows.

How do I install Local Stock Analyst?

Install Local Stock Analyst by running: npm install && npm run build

What MCP clients work with Local Stock Analyst?

Local Stock Analyst works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Local Stock Analyst docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare