Skip to main content
Glama
Sauravmehto

Local Stock Analyst MCP

by Sauravmehto

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.

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to authenticate as an admin.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sauravmehto/mcplocalstockrenderlive'

If you have feedback or need assistance with the MCP directory API, please join our Discord server