io.github.KhizarShabir1/portfolio-signals
Real-time stock quotes and technical signals: RSI, MACD, SMA crossovers via Yahoo Finance.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http portfolio-signals 'https://portfolio-signals-mcp.fly.dev/mcp'
{
"mcpServers": {
"portfolio-signals": {
"type": "http",
"url": "https://portfolio-signals-mcp.fly.dev/mcp"
}
}
}
portfolio-signals-mcpclaude mcp add portfolio-signals -- uvx portfolio-signals-mcp==0.1.1
{
"mcpServers": {
"portfolio-signals": {
"command": "uvx",
"args": [
"portfolio-signals-mcp==0.1.1"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
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
Frequently asked questions
What is io.github.KhizarShabir1/portfolio-signals?
Real-time stock quotes and technical signals: RSI, MACD, SMA crossovers via Yahoo Finance.
How do I install io.github.KhizarShabir1/portfolio-signals?
It runs as a remote server. In Claude Code: claude mcp add --transport http portfolio-signals 'https://portfolio-signals-mcp.fly.dev/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.KhizarShabir1/portfolio-signals need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.KhizarShabir1/portfolio-signals open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.KhizarShabir1/portfolio-signals?
It is published by KhizarShabir1. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.