financial-fraud-detection-mcp
README.md
# Financial Fraud Detection — MCP Demo
An AI-powered financial fraud detection system built with **Model Context Protocol (MCP)** and **Claude Opus 4.8**. Features a dark-themed Gradio dashboard where Claude autonomously calls fraud detection tools via MCP.
## Screenshots
| | |
|---|---|
|  |  |
| *Dashboard — MCP server connected, tools & prompts discovered* | *Full fraud risk report — HIGH risk, 7 accounts flagged* |
|  |  |
| *Executive summary with rule-based + statistical findings* | *Structuring / smurfing accounts (A1003, A1009)* |
|  |  |
| *Velocity abuse — Account A1007, 6 transactions in 3 minutes* | *Plain-English summary for non-technical executives* |
|  |  |
| *Account A1003 deep dive — structuring legal analysis* | *Auto-generated compliance escalation email* |
|  | |
| *Claude honestly explaining what its tools can and can't determine* | |
## What It Does
- Analyzes 30 simulated transactions across 11 accounts
- Detects fraud using two complementary methods:
- **Rule-based pattern matching** — velocity abuse, duplicate charges, structuring (smurfing)
- **Statistical anomaly detection** — IQR method to surface unusual transaction amounts
- Generates plain-English risk reports suitable for compliance officers
- Exports the full chat session as a formatted PDF
## MCP Architecture
```
Gradio UI (app.py)
│
└── MCP Client (stdio)
│
└── MCP Server (server.py)
├── Tools (4)
│ ├── analyze_transactions
│ ├── detect_fraud_patterns
│ ├── flag_anomalies
│ └── generate_risk_report
├── Resources (1)
│ └── transactions://sample
└── Prompts (2)
├── fraud_analysis
└── stakeholder_report
```
Claude receives a user question, autonomously decides which tools to call, executes them via MCP, and synthesizes the results into a final answer — no hardcoded logic in the UI layer.
## Fraud Scenarios in Sample Data
| Pattern | Accounts | Description |
|---|---|---|
| Velocity Abuse | A1007 | 6 transactions in under 3 minutes ($480 total) |
| Duplicate Charges | A1004, A1006 | Identical amount + merchant within 60 seconds |
| Structuring / Smurfing | A1003, A1009 | Multiple transactions just under $10,000 (31 U.S.C. § 5324) |
| Statistical Anomalies | A1005, A1011 | Amounts exceeding IQR upper bound of ~$17,365 |
## Tech Stack
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk) — `FastMCP` server + `stdio_client`
- [Anthropic Python SDK](https://github.com/anthropics/anthropic-sdk-python) — Claude Opus 4.8 agentic loop
- [Gradio](https://gradio.app) — dark dashboard UI
- [pandas](https://pandas.pydata.org) — transaction analysis and IQR statistics
- [fpdf2](https://py-fpdf2.readthedocs.io) — PDF export
## Setup
```bash
# Clone the repo
git clone https://github.com/archana-gurimitkala/financial-fraud-detection-mcp.git
cd financial-fraud-detection-mcp
# Install dependencies
pip install -r requirements.txt
# Set your Anthropic API key (the app reads it from the environment)
export ANTHROPIC_API_KEY=your_key_here
# Run the Gradio dashboard
python app.py
```
Open `http://localhost:7860` in your browser.
To use the terminal client instead:
```bash
python client.py
```
## Sample Questions to Try
- *"Give me a full fraud risk report"*
- *"Which accounts show structuring patterns?"*
- *"Are there any duplicate transactions?"*
- *"Which account has the highest velocity abuse?"*
- *"Summarize the findings for a non-technical executive"*
## Sample PDF Output
A full exported chat session is included as [`sample_output.pdf`](sample_output.pdf) — 8 pages covering the complete fraud analysis, structuring deep dive, velocity abuse breakdown, executive summary, and compliance escalation email.
## Course Context
Built to demonstrate concepts from Anthropic's **Introduction to MCP** course:
- MCP server with Tools, Resources, and Prompts primitives
- stdio transport
- Agentic tool-use loop (Claude decides when and what to call)
- Multi-turn conversation with tool results fed back into context
---
*Built by Archana Gurimitkala · Powered by Claude Opus 4.8 + MCP*
This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues