Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Stock Research MCP ServerGenerate a detailed research report for Apple including technical analysis and news sentiment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Stock Research MCP Server (Python)
Production-grade MCP server for stock intelligence with:
Alpha Vantage + Finnhub provider fallback
Deterministic indicators/metrics/scoring
Claude narrative analysis constrained to computed data
Dual MCP transport modes:
stdio(Claude Desktop local) andhttpwith selectable SSE/streamable endpoints (Render)
File Tree
mcp_server/
├── main.py
├── tools/
│ └── stock_tools.py
├── providers/
│ ├── base.py
│ ├── alpha_vantage.py
│ ├── finnhub.py
│ └── router.py
├── scoring/
│ └── engine.py
├── indicators/
│ └── technical.py
├── analysis/
│ ├── metrics.py
│ ├── signal_engine.py
│ └── claude_engine.py
├── schemas/
│ └── models.py
├── config/
│ └── settings.py
└── utils/
├── logging.py
└── http.py
tests/
├── test_indicators.py
├── test_metrics.py
└── test_scoring.pyRequirements
Python 3.11+
API keys:
CLAUDE_API_KEYALPHA_VANTAGE_API_KEYFINNHUB_API_KEY
Setup
python -m venv .venv
. .venv/Scripts/activate
pip install -r requirements.txt
copy .env.example .envRun (Claude Desktop local via stdio)
Set in .env:
TRANSPORT_MODE=stdioRun:
python -m mcp_server.mainRun (Render remote via HTTP)
Set in .env:
TRANSPORT_MODE=http
HTTP_TRANSPORT=sse # or streamable
HOST=0.0.0.0
PORT=8000Run:
python -m mcp_server.mainTools
Existing research/report tools:
stock_research_report(primary)analyze_stockget_priceget_ohlcvget_technicalsget_fundamentalsget_news_sentiment
Trading-style tools:
get_stock_priceget_quoteget_company_profileget_candlesget_stock_newsget_rsiget_macdget_key_financials
Tests
pytest -qRender Deployment
Push repo to GitHub.
Create a Render Web Service.
Build command:
pip install -r requirements.txt
Start command:
python -m mcp_server.main
Environment variables:
TRANSPORT_MODE=httpHTTP_TRANSPORT=sse(orstreamable)HOST=0.0.0.0PORT=8000CLAUDE_API_KEY,ALPHA_VANTAGE_API_KEY,FINNHUB_API_KEY
MCP endpoints:
SSE mode (
HTTP_TRANSPORT=sse):https://<render-service-domain>/ssehttps://<render-service-domain>/messages/(POST)
Streamable mode (
HTTP_TRANSPORT=streamable):https://<render-service-domain>/mcp
Optional health check endpoint:
https://<render-service-domain>/health
Claude Desktop Config (local stdio)
Example MCP server entry:
{
"mcpServers": {
"stock-research": {
"command": "python",
"args": ["-m", "mcp_server.main"],
"env": {
"TRANSPORT_MODE": "stdio",
"CLAUDE_API_KEY": "YOUR_KEY",
"ALPHA_VANTAGE_API_KEY": "YOUR_KEY",
"FINNHUB_API_KEY": "YOUR_KEY"
}
}
}
}Transport Notes
TRANSPORT_MODE=auto(default) auto-selects:httpwhen hosted (PORTorRENDERenv present)stdiolocally
HTTP_TRANSPORT=sseuses:GET /ssePOST /messages/
HTTP_TRANSPORT=streamableuses:POST /mcp
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.