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
Metadata
Release files for portfolio-signals-mcp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| portfolio_signals_mcp-0.1.1.tar.gz | 7.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| portfolio_signals_mcp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 kB
Release files / portfolio_signals_mcp-0.1.1.tar.gz
| Download URL | portfolio_signals_mcp-0.1.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c0f60ec485ab72174e5812f796c6a2f09e66ef8faf18ae91e951bb46b74db816
|
|
BLAKE2b-256 checksum How to use checksums |
c25de6a50401c5bf7ad263fa5d38e47add9e4d99498d3e723a53c222c42a8517
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Release files / portfolio_signals_mcp-0.1.1-py3-none-any.whl
| Download URL | portfolio_signals_mcp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 7.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0bd5b12f27ea48a04ab3cfb9c5220455ddd6853bab2876c649faa656eefe3bf7
|
|
BLAKE2b-256 checksum How to use checksums |
22f8ee988e621772f4e41e057391c5dcf851a5c8ef4617cf3661f2459b7d181b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.4
|
Security for portfolio-signals-mcp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.