finwatch-mcp
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., "@finwatch-mcpWhat's my current portfolio allocation?"
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.
π finwatch-mcp
A custom MCP Server for financial portfolio monitoring, risk analysis, and compliance β powered by LangGraph + Claude.
Turn natural language into actionable financial intelligence. Ask your portfolio questions like "What's my risk exposure to tech stocks?" or "Flag any anomalous movements in the last 24h" and get data-driven answers in seconds.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β CLIENT LAYER β
β Claude Desktop β Gradio UI β CLI β Telegram β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β MCP Protocol (JSON-RPC)
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β LANGGRAPH AGENT (Orchestrator) β
β Multi-step reasoning Β· Report generation Β· Triage β
β Claude API Β· StateGraph Β· Human-in-the-loop β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β MCP Tool Calls
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β FINWATCH MCP SERVER β
β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β β get_portfolio β β analyze_risk β β detect_anomaly β β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β βsearch_filingsβ βget_market_kpiβ βcompliance_checkβ β
β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
ββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β DATA LAYER β
β SQLite (prices, KPIs) β ChromaDB (SEC filings, RAG) β
β Alpha Vantage Β· Finnhub Β· FRED Β· SEC EDGAR β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββRelated MCP server: Financial Modeling Prep MCP Server
Features
MCP Server Tools
Tool | Description |
| Real-time portfolio status: holdings, P&L, sector allocation |
| Risk metrics: VaR, Sharpe ratio, Beta, max drawdown |
| Flag unusual price movements, volume spikes, correlation breaks |
| RAG-powered semantic search over SEC filings and earnings reports |
| Macro indicators: interest rates, inflation, sector performance |
| Validate portfolio against exposure limits and concentration rules |
LangGraph Agent
Multi-step reasoning: chains tool calls to answer complex questions
Report generation: automated daily/weekly portfolio summaries
Anomaly triage: investigates detected anomalies with root cause analysis
Human-in-the-loop: asks for confirmation before high-impact actions
Quick Start
Prerequisites
Python 3.11+
uv (recommended) or pip
API keys: Alpha Vantage (free), Finnhub (free), Anthropic (for agent)
Installation
# Clone the repo
git clone https://github.com/geraldo96/finwatch-mcp.git
cd finwatch-mcp
# Install with uv (recommended)
uv sync
# Or with pip
pip install -e ".[dev]"
# Copy environment template
cp .env.example .env
# Edit .env with your API keysRun the MCP Server
# Start the MCP server (Streamable HTTP)
uv run python -m src.mcp_server.server
# The server runs on http://localhost:8080/mcpConnect to Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"finwatch": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}Run the LangGraph Agent (standalone)
# Interactive CLI mode
uv run python -m src.agent.cli
# Example queries:
# > What's my current portfolio allocation?
# > Is my tech exposure within compliance limits?
# > Show me anomalies from the last week and explain themRun with Docker
docker compose up
# MCP server: http://localhost:8080/mcp
# Gradio UI: http://localhost:7860Data Sources
Source | Data | API Key | Rate Limit (free) |
Stock prices, fundamentals | Free | 25 req/day | |
Real-time quotes, news, sentiment | Free | 60 req/min | |
Macro indicators, interest rates | Free | 120 req/min | |
10-K, 10-Q filings | None | 10 req/sec | |
Historical prices (backup) | None | Unofficial |
Project Structure
finwatch-mcp/
βββ src/
β βββ mcp_server/
β β βββ server.py # MCP server entrypoint (Streamable HTTP)
β β βββ tools/
β β β βββ portfolio.py # get_portfolio tool
β β β βββ risk.py # analyze_risk tool
β β β βββ anomaly.py # detect_anomaly tool
β β β βββ filings.py # search_filings tool (RAG)
β β β βββ market_kpi.py # get_market_kpi tool
β β β βββ compliance.py # compliance_check tool
β β βββ config.py # Server configuration
β βββ agent/
β β βββ graph.py # LangGraph StateGraph definition
β β βββ nodes.py # Agent nodes (reason, act, report)
β β βββ state.py # Agent state schema
β β βββ cli.py # Interactive CLI client
β βββ data/
β β βββ ingester.py # Data fetching & sync logic
β β βββ models.py # SQLAlchemy / Pydantic models
β β βββ db.py # Database connection & queries
β βββ rag/
β βββ embeddings.py # BAAI embedding pipeline
β βββ indexer.py # SEC filing indexer
β βββ retriever.py # ChromaDB retrieval
βββ tests/
β βββ test_tools.py # Unit tests for MCP tools
β βββ test_agent.py # Agent integration tests
β βββ test_data.py # Data layer tests
βββ scripts/
β βββ seed_data.py # Seed DB with sample portfolio
β βββ ingest_filings.py # Download & index SEC filings
β βββ demo.py # Full demo walkthrough
βββ docs/
β βββ ARCHITECTURE.md # Detailed architecture docs
β βββ TOOLS.md # MCP tool specifications
βββ docker-compose.yml
βββ Dockerfile
βββ pyproject.toml
βββ .env.example
βββ README.mdDevelopment Roadmap
Week 1 β Foundation
Project scaffold & CI setup
MCP server with
get_portfolioandanalyze_risktoolsSQLite data layer + Alpha Vantage / yfinance ingestion
Sample portfolio seeding script
Week 2 β RAG & Anomaly Detection
ChromaDB setup + SEC EDGAR filing indexer
search_filingstool with BAAI embeddingsdetect_anomalytool (z-score + rolling stats)get_market_kpitool (FRED integration)
Week 3 β Agent & Orchestration
LangGraph StateGraph with Claude API
Multi-step reasoning chains
compliance_checktoolInteractive CLI client
Week 4 β Polish & Deploy
Docker Compose (server + agent + Gradio UI)
Comprehensive tests
Demo video / GIF
Hugging Face Space (optional)
Tech Stack
Layer | Technology |
MCP Server | Python |
Agent | LangGraph, Claude API (Anthropic SDK) |
Structured Data | SQLite + SQLAlchemy |
Vector Store | ChromaDB + BAAI/bge-small-en-v1.5 |
Data Sources | Alpha Vantage, Finnhub, FRED, SEC EDGAR, yfinance |
UI | Gradio (demo), Claude Desktop (production) |
Deploy | Docker Compose |
Testing | pytest, pytest-asyncio |
Contributing
Contributions are welcome! Please read the contributing guidelines first.
License
MIT License β see LICENSE for details.
Built by Geraldo Margjini as a portfolio project demonstrating MCP Server development, LangGraph agent orchestration, and financial data engineering.
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/geraldo96/finwatch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server