Token导航 LogoToken导航TokenDH.com
Ejercicio MCP Bot logo
数据服务stdio官方级别未说明来源级核验

Ejercicio MCP Bot

MCP Server

一个基于Agentic AI的销售分析代理,用户通过自然语言输入查询,代理生成SQL查询SQLite数据库并返回表格、图表或导出文件。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
自然语言处理数据分析PythonSQL查询

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Cristian-Casas-bld

提供方

Cristian-Casas-bld

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv .venv

详细介绍

Sales Agent (NL → SQL → Resultados + Gráficos) con MCP + SQLite

Proyecto de ejemplo de Agentic AI para análisis de ventas: el usuario escribe una consulta en lenguaje natural, el agente genera SQL (solo SELECT), consulta una base SQLite y devuelve resultados como tabla, gráfico (PNG) o export (CSV/XLSX).


1) Arquitectura (alto nivel)

Componentes:

  • Agente (LangChain): interpreta la intención del usuario (tabla / gráfico / export), genera SQL y llama herramientas (tools).
  • MCP Server (FastMCP): expone herramientas para:

- get_schema() → inspección de tablas/columnas - run_sql(sql) → ejecuta consultas seguras (solo SELECT) - plot_sql(sql, ...) → genera gráficos y los guarda en outputs/ - export_sql(sql, ...) → exporta resultados a CSV/XLSX en outputs/

  • SQLite DB: base de datos local ventas.db con la tabla ventas.
  • CLI: archivo agent_cli.py para ejecutar el bot desde terminal.

Flujo:

Usuario → Agente → Tools MCP (schema/query/plot/export) → Respuesta (texto + archivos)


2) Estructura de carpetas

Ejemplo de estructura usada:

ejerMCP/
  .env -> de tu propiedad previamente configuradas
  .venv/ -> lo generarás cuando hagas python venv
  requirements.txt
  sales-agent/
    app/
      agent_cli.py
    servers/
      db_server.py
    src/
      ventas.db
    outputs/
      (se generan png/csv/xlsx)

3) Requisitos

  • Python 3.10+ (recomendado)
  • Paquetes instalados desde requirements.txt

4) Instalación

4.1 Crear y activar entorno virtual

Desde la raíz del proyecto (ejerMCP/):

python -m venv .venv
source .venv/bin/activate

Verificación rápida:

which python
python --version

4.2 Para instalar dependencias

pip install -r requirements.txt

4.3 Variables de Entorno

OPENAI_API_KEY=TU_API_KEY
OPENAI_MODEL=gpt-4o-mini

5) Base de datos SQLite (ventas.db)

La tabla principal usada por el agente es:

ventas(id, vendedor, sede, producto, cantidad, precio, fecha)

5.1 Problema encontrado: “file is not a database”

En un punto se presentó el error debido a que ventas.db no era una base SQLite real, sino un archivo de texto que contenía únicamente el DDL CREATE TABLE ....

Cómo se verificó:

El DB válido tiene cabecera: SQLite format 3

Un DB inválido suele aparecer como “ASCII text” al ejecutar file.

Comandos útiles:

file sales-agent/src/ventas.db
sqlite3 sales-agent/src/ventas.db ".tables"
sqlite3 sales-agent/src/ventas.db "SELECT COUNT(*) FROM ventas;"

5.2 Solución aplicada

Paso A — Crear schema.sql

Se creó un archivo sales-agent/src/schema.sql con la definición de la tabla ventas, por ejemplo:

CREATE TABLE IF NOT EXISTS ventas (
  id INTEGER PRIMARY KEY,
  vendedor TEXT NOT NULL,
  sede TEXT NOT NULL,
  producto TEXT NOT NULL,
  cantidad INTEGER NOT NULL,
  precio REAL NOT NULL,
  fecha TEXT NOT NULL
);

Paso B — Crear la base SQLite a partir del schema

Desde la raíz del proyecto:

sqlite3 sales-agent/src/ventas.db < sales-agent/src/schema.sql

Validación:

file sales-agent/src/ventas.db
sqlite3 sales-agent/src/ventas.db ".tables"

Paso C — Poblar datos con seed.py

Se construyó un script sales-agent/src/seed.py para insertar registros de ejemplo en la tabla ventas (seed de datos).

Ejecución:

python sales-agent/src/seed.py

Validación:

sqlite3 sales-agent/src/ventas.db "SELECT COUNT(*) FROM ventas;"

Nota Importante: el servidor MCP apunta a sales-agent/src/ventas.db, por lo tanto ese archivo debe existir y contener la tabla ventas con datos

6) Ejecución del Proyecto

Desde la raíz :

python ./sales-agent/app/agent_cli.py

El bot queda listo para recibir preguntas. Para salir: exit o quit.

7) Ejemplos de consultas

7.1 Consultas tipo tabla

“¿Cuántas ventas hay por sede?”

7.2 Consultas con gráfico (PNG en outputs/)

“Grafica en barras el total vendido por sede”

7.3 Export (CSV/XLSX en outputs/)

“Exporta a CSV el total vendido por sede”

8) Salidas generadas

sales-agent/outputs/plot_*.png

sales-agent/outputs/export_*.csv o export_*.xlsx

9) Notas técnicas y seguridad

El servidor MCP valida que el SQL sea solo SELECT (sin DDL/DML).

Se aplican límites de filas (LIMIT) para evitar respuestas enormes.

El agente puede usar get_schema() para conocer columnas reales y reducir errores.

目录标签

目录标签

自然语言处理数据分析PythonSQL查询本地部署销售分析自动化工具

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP