Sales Analytics MCP Server
Sales Analytics MCP Server
Ein benutzerdefinierter Model Context Protocol (MCP)-Server, der Claude Desktop direkten, sicheren Zugriff auf eine Live-Vertriebsdatenbank ermöglicht – und damit ein Python-Analytics-Backend in ein wiederverwendbares Werkzeug verwandelt, das jeder MCP-kompatible KI-Assistent nutzen kann, ohne eine einzige Integration pro Anwendung zu schreiben.
Was ist MCP und warum einen Server dafür bauen?
Model Context Protocol ist ein offener Standard (entwickelt von Anthropic), der es KI-Assistenten ermöglicht, sich über eine gemeinsame Schnittstelle mit externen Tools und Datenquellen zu verbinden – anstatt dass jeder Assistent für jedes Tool eine individuell gebaute Integration benötigt. Einen MCP-Server zu schreiben bedeutet, die Verbindung einmal pro Datenquelle aufzubauen – und jeder MCP-kompatible Client (Claude Desktop, Claude Code oder andere MCP-fähige Anwendungen) kann ihn sofort nutzen, ohne pro Anwendung Nacharbeit.
Dieses Projekt stellt eine echte PostgreSQL-Vertriebsdatenbank (dieselbe, die auch in ai-analytics-agent verwendet wird) als eine Reihe von MCP-Tools bereit, sodass Claude sie abfragen, ihr Schema inspizieren und Anomalieerkennung durchführen kann – direkt innerhalb eines normalen Gesprächs.
Related MCP server: pg-mcp
Architektur
graph LR
A[Claude Desktop] -->|MCP protocol| B[Sales Analytics<br/>MCP Server]
B --> C[get_database_schema]
B --> D[run_sql_query]
B --> E[find_sales_anomalies]
C --> F[(Supabase / PostgreSQL)]
D --> F
E --> FVerfügbare Tools
Tool | Beschreibung |
| Gibt verfügbare Tabellen und Spalten zurück, damit Claude weiß, welche Daten vor einer Abfrage vorhanden sind |
| Führt eine schreibgeschützte SQL-Abfrage aus und gibt die Ergebnisse zurück. Blockiert jede Abfrage, die kein |
| Führt eine robuste Median/MAD-basierte Anomalieerkennung über die tägliche Verkaufshistorie durch und gibt gekennzeichnete Daten mit ihrer statistischen Abweichung zurück |
Tech-Stack
Ebene | Tool |
Protokoll | Model Context Protocol (MCP) Python SDK |
Client | Claude Desktop |
Datenbank | PostgreSQL (Supabase) |
Abfrageebene | SQLAlchemy |
Anomalieerkennung | Pandas (Median + MAD, gleitendes Fenster) |
Geheimnisse | python-dotenv |
Entwicklungshinweise
Einen breaking SDK-Wechsel mitten in der Entwicklung abgefangen: Das MCP-Python-SDK veröffentlichte eine Major-Version (2.0.0), die nur
FastMCPinMCPServerumbenannte und dessen Importpfad verschob – genau in der Phase, in der dieses Projekt gebaut wurde. Der Server wurde auf die neue API aktualisiert, statt eine ältere Version zu pinnen, daher spiegelt der Code die aktuellen SDK-Oberfläche wider.Claude wählt seine eigene Tool-Strategie: Als gebeten wurde, Anomalien zu finden, bevor
find_sales_anomaliesexistierte, nutzte Claude eigenständigrun_sql_queryzur Untersuchung – prüfte auf doppelte Zeilen, negative Beträge und Aufschlüsselungen pro Kategorie auf eigene Initiative und gelangte so zur selben Grundursache, die das dedizierte Tool später bestätigte. Dies ist eine nützliche Veranschaulichung, wie ein LLM-Client tatsächlich zwischen einem allgemeinen und einem spezialisierten Tool wählt, statt immer das "offensichtliche" dedizierte zu bevorzugen.Dasselbe Sicherheitsmodell wie beim Text-to-SQL-Agenten:
run_sql_queryverwendet dieselben read-only-Schutzmechanismen wie das Python-basierte Text-to-SQL-Projekt – ein gutes Beispiel, warum sich das einmalige, sorgfältige Bauen der Sicherheitslogik lohnt, wenn sie in einem zweiten, unabhängigen Tool wiederverwendet wird.
Einrichtung
Abhängigkeiten installieren:
pip install -r requirements.txt
Eine
.env-Datei mit folgendem Inhalt anlegen: DATABASE_URL=your_postgresql_connection_stringDen Server zur Konfigurationsdatei von Claude Desktop hinzufügen (
claude_desktop_config.json):
{
"mcpServers": {
"sales-analytics": {
"command": "python",
"args": ["/full/path/to/server.py"]
}
}
}Claude Desktop vollständig neu starten (beenden Sie es über Task Manager / Aktivitätsmanager, nicht nur Fenster schließen)
Einen neuen Chat starten und Claude etwas wie folgt fragen:
"Welche Tabellen sind verfügbar und gibt es Verkaufsanomalien, die ich kennen sollte?"
Beispielinteraktion

This server cannot be deployed
Maintenance
Related MCP Connectors
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query your Postgres from ChatGPT or Claude without exposing the database or handing over credentials. Run npx boltschema connect next to your database and it dials out over HTTPS — no inbound firewall rule, no open port, works with localhost and VPC-private databases. Read-only is enforced by a SQL guard, a Postgres READ ONLY transaction, and a scoped role generated for you.
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
Related MCP Servers
- FlicenseDqualityDmaintenanceA secure Model Context Protocol server that allows Claude to execute read-only SQL queries against a PostgreSQL database, enabling natural language interaction with database data.1-
- FlicenseNot gradedqualityDmaintenanceEnables natural language querying of PostgreSQL databases through the Model Context Protocol. It translates user questions into validated SQL, executes read-only queries safely, and returns results to MCP-compatible clients like Claude Desktop.-
- FlicenseNot gradedqualityCmaintenanceProvides read-only access to a sales database, letting LLMs answer analytics questions like revenue by region or top customers via MCP tools.-
- AlicenseNot gradedqualityCmaintenanceEnables read-only, SELECT-only querying of any Postgres database through MCP-compatible clients like Claude, with schema introspection and guarded SQL execution.MIT