Skip to content

A Model Context Protocol (MCP) server for stock traders

Notifications You must be signed in to change notification settings

wshobson/mcp-trader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCP Trader Server

A Model Context Protocol (MCP) server for stock traders.

Features

Tools

The server provides one tool (more to come):

  • analyze-stock: Performs technical analysis on a given stock symbol
    • Required argument: symbol (string, e.g. "NVDA")
    • Returns comprehensive technical analysis including:
      • Moving average trends (20, 50, 200 SMA)
      • Momentum indicators (RSI, MACD)
      • Volatility metrics (ATR, ADRP)
      • Volume analysis

Setup

Prerequisites

Environment Variables

Create a .env file:

TIINGO_API_KEY=your_api_key_here

Installation

uv venv --python 3.11
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync

Configuration

Claude Desktop App

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

On Windows: %APPDATA%/Claude/claude_desktop_config.json

Development Configuration:

{
  "mcpServers": {
    "stock-analyzer": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/mcp-trader",
        "run",
        "mcp-trader"
      ]
      "env": {
        "TIINGO_API_KEY": "your_api_key_here"
      }
    }
  }
}

Development

Build and Run

uv build
uv run mcp-trader

Debugging

Use the MCP Inspector for debugging:

npx @modelcontextprotocol/inspector uv --directory /path/to/mcp-trader run mcp-trader

Example Usage

In Claude Desktop:

Analyze the technical setup for NVDA

The server will return a technical analysis summary including trend status, momentum indicators, and key metrics.

NVDA Technical Analysis

Dependencies

See pyproject.toml for full dependency list:

- aiohttp >=3.11.11
- mcp >=1.2.0
- pandas >=2.2.3
- pandas-ta >=0.3.14b0
- python-dotenv >=1.0.1

Further Reading

Learn more about this project through these detailed blog posts: