Sales Analytics MCP Server
Sales Analytics MCP Server
Un servidor Model Context Protocol (MCP) personalizado que ofrece a Claude Desktop acceso directo y seguro a una base de datos de ventas en directo, convirtiendo un backend de análisis de Python en una herramienta reutilizable que cualquier asistente de IA compatible con MCP puede usar, sin escribir una sola integración por aplicación.
Qué es MCP y por qué crear un servidor para ello
Model Context Protocol es un estándar abierto (creado por Anthropic) que permite a los asistentes de IA conectarse a herramientas externas y fuentes de datos a través de una interfaz común, en lugar de que cada asistente necesite una integración personalizada para cada herramienta. Escribir un servidor MCP significa construir la conexión una sola vez, por fuente de datos, y cualquier cliente compatible con MCP (Claude Desktop, Claude Code u otras aplicaciones compatibles con MCP) puede usarlo de inmediato, sin necesidad de rehacer nada por aplicación.
Este proyecto expone una base de datos de ventas real de PostgreSQL (la misma utilizada en ai-analytics-agent) como un conjunto de herramientas MCP, de modo que Claude puede consultarla, inspeccionar su esquema y ejecutar detección de anomalías, directamente dentro de una conversación normal.
Related MCP server: pg-mcp
Arquitectura
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 --> FHerramientas expuestas
Tool | Description |
| Devuelve las tablas y columnas disponibles, para que Claude sepa qué datos existen antes de consultar |
| Ejecuta una consulta SQL de solo lectura y devuelve los resultados. Bloquea cualquier consulta que no sea |
| Ejecuta una pasada de detección de anomalías basada en mediana/MAD sobre el historial de ventas diario y devuelve las fechas marcadas con su desviación estadística |
Stack tecnológico
Capa | Herramienta |
Protocolo | Model Context Protocol (MCP) Python SDK |
Cliente | Claude Desktop |
Base de datos | PostgreSQL (Supabase) |
Capa de consultas | SQLAlchemy |
Detección de anomalías | Pandas (median + MAD, rolling window) |
Secretos | python-dotenv |
Notas de ingeniería
Detecté un cambio disruptivo del SDK a mitad del desarrollo: el SDK de Python de MCP lanzó una versión mayor (2.0.0) que renombró
FastMCPaMCPServery movió su ruta de importación, justo cuando se estaba construyendo este proyecto. El servidor se actualizó a la nueva API en lugar de fijar una versión anterior, por lo que el código refleja la superficie actual del SDK.Claude elige su propia estrategia de herramientas: cuando se le pidió encontrar anomalías antes de que existiera
find_sales_anomalies, Claude usórun_sql_queryde forma independiente para investigar, comprobando filas duplicadas, importes negativos y desgloses por categoría por iniciativa propia, llegando a la misma causa raíz que la herramienta dedicada confirmó más tarde. Es una ilustración útil de cómo un cliente LLM elige realmente entre una herramienta de propósito general y una especializada, en lugar de preferir siempre la función dedicada "obvia".El mismo modelo de seguridad que el agente Text-to-SQL:
run_sql_queryreutiliza el mismo enfoque de protección de solo lectura que el proyecto Text-to-SQL basado en Python, un buen ejemplo de por qué construir esa lógica de seguridad una sola vez, con cuidado, da sus frutos cuando se reutiliza en una segunda herramienta independiente.
Configuración
Instala las dependencias: pip install -r requirements.txt
Crea un archivo
.envcon: DATABASE_URL=your_postgresql_connection_stringAñade el servidor al archivo de configuración de Claude Desktop (
claude_desktop_config.json):
{
"mcpServers": {
"sales-analytics": {
"command": "python",
"args": ["/full/path/to/server.py"]
}
}
}Reinicia Claude Desktop por completo (sal de la aplicación mediante el Administrador de tareas / Monitor de actividad, no solo cerrando la ventana)
Inicia un nuevo chat y pregúntale a Claude algo como:
"¿Qué tablas hay disponibles y hay alguna anomalía de ventas que deba conocer?"
Ejemplo de interacción

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