Back to Directory/Developer Tools

io.github.KhizarShabir1/portfolio-signals

Real-time stock quotes and technical signals: RSI, MACD, SMA crossovers via Yahoo Finance.

Developer ToolsPythonv0.1.2

Portfolio Signals MCP

PyPI Python License: MIT

An MCP server that gives any AI coding agent (Claude Code, Cursor, Claude Desktop, etc.) real-time stock quotes and computed technical-analysis signals — RSI, MACD crossovers, golden/death crosses, and whole-portfolio weekly digests. Indicators are calculated in code, not by the LLM, so the numbers are right.

Data source: Yahoo Finance via yfinance — free, no API key required.

mcp-name: io.github.KhizarShabir1/portfolio-signals

Tools

ToolWhat it does
get_quote(ticker)Price, day change, volume, 52-week range
get_technical_signals(ticker)RSI(14) with overbought/oversold zone, MACD(12,26,9) vs signal line, SMA 50/200 golden/death cross
compare_tickers(tickers, period)Ranked total returns over 1mo–5y
weekly_digest(tickers)Whole-portfolio report: 1w/1mo returns, RSI, MACD position, tickers outside RSI 30–70

Design principle: tools return measurements and standard threshold classifications (RSI 70/30 zones, golden/death cross, MACD vs signal line) — never directional opinions or narrative summaries. Interpretation is the agent's job; determinism is the server's.

Quick start

No install needed if you have uv:

uvx portfolio-signals-mcp

Claude Code

claude mcp add portfolio-signals -- uvx portfolio-signals-mcp

Then ask Claude things like:

  • "What's the RSI and MACD on NVDA right now?"
  • "Compare AAPL, MSFT and VOO over 6 months."
  • "Give me a weekly digest for my portfolio: AAPL, NVDA, VOO, TSLA."

Cursor

Settings → Tools & MCP → Add a Custom MCP Server:

{
  "mcpServers": {
    "portfolio-signals": {
      "command": "uvx",
      "args": ["portfolio-signals-mcp"]
    }
  }
}

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "portfolio-signals": {
      "command": "uvx",
      "args": ["portfolio-signals-mcp"]
    }
  }
}

Remote (HTTP)

No local install — connects directly to the hosted instance:

claude mcp add --transport http portfolio-signals https://portfolio-signals-mcp.fly.dev/mcp

From source

git clone https://github.com/KhizarShabir1/portfolio-signals-mcp
cd portfolio-signals-mcp
pip install -e .
portfolio-signals-mcp           # stdio
portfolio-signals-mcp --http    # streamable HTTP on :8000 (PORT env to change)

Disclaimer

Informational only — not financial advice. Market data comes from Yahoo Finance and is subject to Yahoo's terms of use.

License

MIT © Khizar Shabir

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx portfolio-signals-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-khizarshabir1-portfolio-signals": {
      "command": "uvx",
      "args": [
        "portfolio-signals-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

portfolio-signals-mcppypi

Compatible MCP Clients

io.github.KhizarShabir1/portfolio-signals works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More