MCP server for stock quotes and technical-analysis signals (RSI, MACD, SMA crossovers, portfolio digests) via Yahoo Finance
Project description
Portfolio Signals MCP
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
| Tool | What 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file portfolio_signals_mcp-0.1.1.tar.gz.
File metadata
- Download URL: portfolio_signals_mcp-0.1.1.tar.gz
- Upload date:
- Size: 7.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0f60ec485ab72174e5812f796c6a2f09e66ef8faf18ae91e951bb46b74db816
|
|
| MD5 |
962c0dd2fe231f1761873b3205a64b05
|
|
| BLAKE2b-256 |
c25de6a50401c5bf7ad263fa5d38e47add9e4d99498d3e723a53c222c42a8517
|
File details
Details for the file portfolio_signals_mcp-0.1.1-py3-none-any.whl.
File metadata
- Download URL: portfolio_signals_mcp-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bd5b12f27ea48a04ab3cfb9c5220455ddd6853bab2876c649faa656eefe3bf7
|
|
| MD5 |
1a9ed4ca37eb8011e703e711872560bb
|
|
| BLAKE2b-256 |
22f8ee988e621772f4e41e057391c5dcf851a5c8ef4617cf3661f2459b7d181b
|