Stock Research MCP Server
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.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sauravmehto/mcpserverstock'
If you have feedback or need assistance with the MCP directory API, please join our Discord server