Financial Intelligence MCP Server
by BharathiD9
README.md
# π¦ Financial Intelligence MCP Server
A **production-grade Model Context Protocol (MCP) server** that exposes financial ML tools to any MCP-compatible AI client (Claude Desktop, Cursor, etc.).
Built entirely with **free, open-source tools** β no paid APIs required.
---
## ποΈ Architecture
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP-Compatible Client β
β (Claude Desktop / Cursor / Any LLM) β
βββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββ
β MCP Protocol (stdio)
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β financial-mcp-server β
β server.py β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Tool Router β β
β ββββ¬βββββββββββββ¬βββββββββββββ¬ββββββββββββ¬ββββββββββββββββββ β
β β β β β β β
β βΌ βΌ βΌ βΌ βΌ β
β βββββββββ βββββββββββ ββββββββββ ββββββββββ βββββββββββ β
β β RAG β βAnomaly β βContractβ βVendor β β Drift β β
β βSearch β βDetect. β βSummary β β Graph β βMonitor β β
β βββββ¬ββββ ββββββ¬βββββ βββββ¬βββββ βββββ¬βββββ ββββββ¬βββββ β
βββββββΌββββββββββββΌββββββββββββΌββββββββββββΌβββββββββββββΌββββββββββ
β β β β β
βΌ βΌ βΌ βΌ βΌ
FAISS + sklearn Ollama Neo4j / Evidently
sentence- IsolationF. (local LLM) NetworkX AI / KS
transformers (free) (free) (free) Test (free)
```
---
## π οΈ Tools
| Tool | Description | Free Stack Used |
|------|-------------|-----------------|
| `search_financial_docs` | RAG over financial PDFs/docs | FAISS + sentence-transformers + Ollama |
| `analyze_expense_pattern` | Anomaly detection on transactions | scikit-learn IsolationForest |
| `summarize_contract` | Extract key clauses from contracts | Ollama Mistral + regex fallback |
| `get_vendor_relationships` | Query vendor knowledge graph | Neo4j Community + NetworkX fallback |
| `monitor_model_drift` | Detect data/feature drift in models | Evidently AI + scipy KS test fallback |
---
## πΈ 100% Free Stack
| Component | Tool | Cost |
|-----------|------|------|
| LLM | Ollama + Mistral 7B (local) | **FREE** |
| Embeddings | sentence-transformers all-MiniLM-L6-v2 | **FREE** |
| Vector Store | FAISS (Meta) | **FREE** |
| Anomaly Detection | scikit-learn IsolationForest | **FREE** |
| Graph Database | Neo4j Community Edition | **FREE** |
| Drift Monitoring | Evidently AI open-source | **FREE** |
| MCP Framework | Anthropic MCP Python SDK | **FREE** |
---
## π Quick Start
### 1. Clone & Install
```bash
git clone https://github.com/YOUR_USERNAME/financial-mcp-server.git
cd financial-mcp-server
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
```
### 2. Start Ollama (free local LLM)
```bash
# Install Ollama from https://ollama.com (free)
ollama serve
ollama pull mistral # ~4GB download, one time
```
### 3. Add Your Documents (optional)
```bash
# Drop any .txt, .md, or .pdf files into:
data/sample_docs/
# Index them (auto-happens on first run, or manually):
python -c "from tools.rag_search import _load_or_build_index; _load_or_build_index()"
```
### 4. Run the MCP Server
```bash
python server.py
```
### 5. Connect to Claude Desktop
Edit your Claude Desktop config file:
- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"financial-intelligence": {
"command": "python",
"args": ["/absolute/path/to/financial-mcp-server/server.py"],
"env": {
"PYTHONPATH": "/absolute/path/to/financial-mcp-server"
}
}
}
}
```
Restart Claude Desktop. You'll see the π§ tools icon appear.
---
## π³ Docker Setup (with Neo4j)
```bash
# Start Neo4j Community Edition + MCP server
docker-compose up -d
# Check logs
docker-compose logs -f mcp-server
```
Neo4j browser available at: http://localhost:7474
---
## π§ͺ Run Tests
```bash
pip install pytest
pytest tests/ -v
```
---
## π¬ Example Claude Desktop Conversations
Once connected, ask Claude:
> *"Search my financial documents for information about payment terms with TechVendor Solutions"*
> *"Analyze these transactions for anomalies: [paste JSON list]"*
> *"Summarize this contract and flag any risky clauses: [paste contract text]"*
> *"What vendors are related to TechVendor Solutions and what's their risk level?"*
> *"Check if the fraud_detector model has drifted and whether it needs retraining"*
---
## π Project Structure
```
financial-mcp-server/
βββ server.py # MCP server β tool registry & routing
βββ tools/
β βββ rag_search.py # search_financial_docs
β βββ anomaly_detection.py # analyze_expense_pattern
β βββ contract_summary.py # summarize_contract
β βββ vendor_graph.py # get_vendor_relationships
β βββ drift_monitor.py # monitor_model_drift
βββ data/
β βββ sample_docs/ # Drop your financial docs here
βββ tests/
β βββ test_tools.py # pytest test suite
βββ .github/workflows/
β βββ ci.yml # GitHub Actions CI
βββ Dockerfile
βββ docker-compose.yml # Includes Neo4j Community Edition
βββ requirements.txt
βββ claude_desktop_config.json # Copy into Claude Desktop config
```
---
## π Related Projects
- [Financial-RAG-Pipeline](https://github.com/BharathiDonku7/Financial-Rag-Pipeline) β Standalone RAG system (precursor to this project)
---
## π License
MIT License β free to use, modify, and distribute.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues