@yoryoboy/bi-mcp 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -427
- package/dist/.tsbuildinfo +1 -1
- package/dist/mcp-use.json +2 -2
- package/dist/src/config/profile-store.js +4 -2
- package/dist/src/config/profile-store.js.map +2 -2
- package/dist/src/services/search-console/search-console-utils.js +275 -0
- package/dist/src/services/search-console/search-console-utils.js.map +7 -0
- package/dist/src/tools/config/list-profiles.js +1 -1
- package/dist/src/tools/config/list-profiles.js.map +2 -2
- package/dist/src/tools/search-console/country-breakdown.js +1 -1
- package/dist/src/tools/search-console/country-breakdown.js.map +1 -1
- package/dist/src/tools/search-console/device-breakdown.js +1 -1
- package/dist/src/tools/search-console/device-breakdown.js.map +1 -1
- package/dist/src/tools/search-console/high-impression-low-click-queries.js +1 -1
- package/dist/src/tools/search-console/high-impression-low-click-queries.js.map +1 -1
- package/dist/src/tools/search-console/list-accessible-sites.js +1 -1
- package/dist/src/tools/search-console/list-accessible-sites.js.map +1 -1
- package/dist/src/tools/search-console/low-ctr-opportunities.js +1 -1
- package/dist/src/tools/search-console/low-ctr-opportunities.js.map +1 -1
- package/dist/src/tools/search-console/page-performance.js +1 -1
- package/dist/src/tools/search-console/page-performance.js.map +1 -1
- package/dist/src/tools/search-console/product-demand-low-capture-queries.js +1 -1
- package/dist/src/tools/search-console/product-demand-low-capture-queries.js.map +1 -1
- package/dist/src/tools/search-console/query-page-matrix.js +1 -1
- package/dist/src/tools/search-console/query-page-matrix.js.map +1 -1
- package/dist/src/tools/search-console/query-performance.js +1 -1
- package/dist/src/tools/search-console/query-performance.js.map +1 -1
- package/dist/src/tools/search-console/quick-win-opportunities.js +1 -1
- package/dist/src/tools/search-console/quick-win-opportunities.js.map +1 -1
- package/dist/src/tools/search-console/rising-non-brand-queries.js +1 -1
- package/dist/src/tools/search-console/rising-non-brand-queries.js.map +1 -1
- package/dist/src/tools/search-console/search-performance.js +1 -1
- package/dist/src/tools/search-console/search-performance.js.map +1 -1
- package/dist/src/tools/search-console/site-context.js +1 -1
- package/dist/src/tools/search-console/site-context.js.map +1 -1
- package/dist/src/tools/search-console/visibility-declines.js +1 -1
- package/dist/src/tools/search-console/visibility-declines.js.map +1 -1
- package/dist/src/tools/vtex/profile-resolution.js +2 -2
- package/dist/src/tools/vtex/profile-resolution.js.map +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,244 +1,38 @@
|
|
|
1
1
|
# bi-mcp
|
|
2
2
|
|
|
3
|
-
MCP
|
|
3
|
+
`bi-mcp` es un servidor MCP de business intelligence para ecommerce en Argentina.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Permite consultar datos reales de operacion, marketing y adquisicion desde un asistente compatible con MCP, usando lenguaje natural. La idea es que Julian, su equipo o un cliente puedan preguntar por ventas, canales, performance, SEO, anuncios, inventario o riesgos de negocio sin tener que entrar manualmente a cada plataforma.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Que podes consultar
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Hoy el MCP cubre estas areas:
|
|
10
10
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
- [Instalación y ejecución](#instalación-y-ejecución)
|
|
18
|
-
- [Estructura del repositorio](#estructura-del-repositorio)
|
|
19
|
-
- [Flujo de trabajo para desarrollo](#flujo-de-trabajo-para-desarrollo)
|
|
20
|
-
- [Documentación clave](#documentación-clave)
|
|
21
|
-
- [Estado del roadmap](#estado-del-roadmap)
|
|
22
|
-
- [Licencia](#licencia)
|
|
11
|
+
- **VTEX:** pedidos, stock, inventario por deposito, precios, ofertas y operaciones comerciales.
|
|
12
|
+
- **Google Analytics 4:** revenue medido, trafico, canales, engagement y salud de medicion ecommerce.
|
|
13
|
+
- **Search Console:** queries, paginas, CTR, oportunidades SEO y alertas de visibilidad.
|
|
14
|
+
- **Google Ads:** performance de cuenta y campanas, riesgos, break-even y salud de escalabilidad.
|
|
15
|
+
- **Meta Ads:** discovery de cuentas publicitarias, performance de campanas y ads, series temporales y placements.
|
|
16
|
+
- **Config / Benchmarks Argentina:** referencias locales para IIBB, cuotas, pasarelas, logistica y calendario comercial.
|
|
23
17
|
|
|
24
|
-
|
|
18
|
+
La documentacion completa de capacidades esta en [docs/CAPACIDADES_MCP.md](/home/yoryo/apps/bi-mcp/docs/CAPACIDADES_MCP.md).
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
## Como se usa
|
|
27
21
|
|
|
28
|
-
|
|
29
|
-
Verificación de salud de la base del MCP y listado de perfiles disponibles.
|
|
22
|
+
Una vez conectado el servidor a tu cliente MCP, podes hacer preguntas como:
|
|
30
23
|
|
|
31
|
-
-
|
|
32
|
-
|
|
24
|
+
- "Como vienen las ventas de esta semana?"
|
|
25
|
+
- "Que canales traen mas revenue?"
|
|
26
|
+
- "Que campanas de Google Ads estan cerca del break-even?"
|
|
27
|
+
- "Que queries SEO tienen muchas impresiones y bajo CTR?"
|
|
28
|
+
- "Hay problemas de stock en productos importantes?"
|
|
29
|
+
- "Que placements de Meta concentran el gasto?"
|
|
33
30
|
|
|
34
|
-
|
|
35
|
-
Tráfico, revenue medido en GA4, mix de canales, engagement y salud de medición.
|
|
31
|
+
No hace falta memorizar nombres tecnicos de herramientas. Las tools existen por detras para que el asistente pueda buscar, cruzar y resumir la informacion.
|
|
36
32
|
|
|
37
|
-
|
|
38
|
-
Performance SEO, queries, páginas, oportunidades de CTR y alertas de visibilidad.
|
|
33
|
+
## Conexion rapida
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
Performance de cuenta, campañas, series temporales, riesgos, break-even y salud de escalabilidad.
|
|
42
|
-
|
|
43
|
-
- `Meta Ads`
|
|
44
|
-
Discovery de businesses y cuentas publicitarias, overview de cuenta, performance de campañas y ads, series temporales y mix de placements.
|
|
45
|
-
|
|
46
|
-
- `Config / Benchmarks AR`
|
|
47
|
-
Benchmarks argentinos de IIBB, cuotas, pasarelas, logística y calendario comercial.
|
|
48
|
-
|
|
49
|
-
Además, el repo incluye un prompt de reporte de ventas y la base arquitectónica para sumar módulos de `finance` y `diagnostics`.
|
|
50
|
-
|
|
51
|
-
Para una explicación orientada a usuario final sobre capacidades, alcance y herramientas disponibles, ver [docs/CAPACIDADES_MCP.md](/home/yoryo/apps/bi-mcp/docs/CAPACIDADES_MCP.md).
|
|
52
|
-
|
|
53
|
-
## Estado actual
|
|
54
|
-
|
|
55
|
-
Estado real del repo al día de hoy:
|
|
56
|
-
|
|
57
|
-
- `VTEX`: implementado
|
|
58
|
-
- `Analytics (GA4)`: implementado
|
|
59
|
-
- `Search Console`: implementado
|
|
60
|
-
- `Google Ads`: implementado
|
|
61
|
-
- `Meta Ads`: implementado
|
|
62
|
-
- `Benchmarks Argentina`: implementado
|
|
63
|
-
- `Finance`: pendiente
|
|
64
|
-
- `Diagnostics`: pendiente
|
|
65
|
-
|
|
66
|
-
En términos de superficie funcional actual:
|
|
67
|
-
|
|
68
|
-
- `2` tools de Config / Infra
|
|
69
|
-
- `10` tools de VTEX
|
|
70
|
-
- `11` tools de Google Ads
|
|
71
|
-
- `8` tools de Meta Ads
|
|
72
|
-
- `14` tools de Search Console
|
|
73
|
-
- `11` tools de GA4
|
|
74
|
-
- `1` tool/config de benchmarks
|
|
75
|
-
- `1` prompt de reporte
|
|
76
|
-
|
|
77
|
-
Cualquier cambio nuevo debe respetar la estructura y reglas definidas en [AGENTS.md](/home/yoryo/apps/bi-mcp/AGENTS.md).
|
|
78
|
-
|
|
79
|
-
## Arquitectura del proyecto
|
|
80
|
-
|
|
81
|
-
La decisión principal de arquitectura es simple:
|
|
82
|
-
|
|
83
|
-
- `Un solo servidor MCP`
|
|
84
|
-
- `Múltiples módulos internos en src/`
|
|
85
|
-
- `Handlers delgados`
|
|
86
|
-
- `Servicios externos agrupados por proveedor`
|
|
87
|
-
- `Cálculo y agregación en código`
|
|
88
|
-
- `LLM consumiendo JSONs livianos ya procesados`
|
|
89
|
-
|
|
90
|
-
El servidor está registrado en [index.ts](/home/yoryo/apps/bi-mcp/index.ts) y usa `mcp-use` como framework principal.
|
|
91
|
-
|
|
92
|
-
La estructura actual se organiza así:
|
|
93
|
-
|
|
94
|
-
- `src/tools/`
|
|
95
|
-
Tools MCP agrupadas por proveedor o dominio.
|
|
96
|
-
|
|
97
|
-
- `src/services/`
|
|
98
|
-
Clientes y wrappers para APIs externas.
|
|
99
|
-
|
|
100
|
-
- `src/config/`
|
|
101
|
-
Configuración de infraestructura y benchmarks.
|
|
102
|
-
|
|
103
|
-
- `src/utils/`
|
|
104
|
-
Utilidades compartidas para paginación, dinero, currency safety y limpieza de payloads.
|
|
105
|
-
|
|
106
|
-
- `src/prompts/`
|
|
107
|
-
Prompts del servidor.
|
|
108
|
-
|
|
109
|
-
La visión del proyecto es seguir creciendo como monolito modular, no fragmentarlo en múltiples MCPs.
|
|
110
|
-
|
|
111
|
-
## Principios no negociables
|
|
112
|
-
|
|
113
|
-
Estas reglas gobiernan cualquier cambio en el repo:
|
|
114
|
-
|
|
115
|
-
- `Code computes, LLM analyzes`
|
|
116
|
-
El servidor agrega, resume y calcula. No se deben enviar payloads crudos masivos al modelo.
|
|
117
|
-
|
|
118
|
-
- `Token efficiency`
|
|
119
|
-
Se eliminan `null`, arrays vacíos y campos irrelevantes antes de responder.
|
|
120
|
-
|
|
121
|
-
- `Pagination awareness`
|
|
122
|
-
Si una respuesta es parcial o paginada, eso debe quedar explicitado.
|
|
123
|
-
|
|
124
|
-
- `Multi-currency safety`
|
|
125
|
-
No se mezclan monedas en un mismo agregado.
|
|
126
|
-
|
|
127
|
-
- `Decimal correction`
|
|
128
|
-
VTEX devuelve montos en centavos. Hay que corregirlos antes de exponerlos.
|
|
129
|
-
|
|
130
|
-
- `Argentina-first`
|
|
131
|
-
Benchmarks, supuestos y lógica de referencia deben seguir el contexto argentino.
|
|
132
|
-
|
|
133
|
-
- `mcp-use only`
|
|
134
|
-
El servidor usa primitivas de `mcp-use`. No se debe migrar al SDK de MCP directo.
|
|
135
|
-
|
|
136
|
-
- `pnpm only`
|
|
137
|
-
Este repositorio usa `pnpm` como package manager oficial.
|
|
138
|
-
|
|
139
|
-
## Requisitos
|
|
140
|
-
|
|
141
|
-
Antes de levantar el proyecto, necesitás como mínimo:
|
|
142
|
-
|
|
143
|
-
- `Node.js` reciente con soporte ESM
|
|
144
|
-
- `pnpm`
|
|
145
|
-
- credenciales de las integraciones que quieras usar
|
|
146
|
-
|
|
147
|
-
Dependiendo del módulo que quieras probar, el entorno puede requerir:
|
|
148
|
-
|
|
149
|
-
- credenciales de VTEX
|
|
150
|
-
- OAuth de Google para GA4 y Search Console
|
|
151
|
-
- credenciales de Google Ads
|
|
152
|
-
- credenciales de Meta Marketing API
|
|
153
|
-
|
|
154
|
-
## Configuración
|
|
155
|
-
|
|
156
|
-
La configuración de infraestructura se lee desde `.env`.
|
|
157
|
-
|
|
158
|
-
Variables relevantes hoy:
|
|
159
|
-
|
|
160
|
-
- `GOOGLE_OAUTH_CLIENT_ID`
|
|
161
|
-
- `GOOGLE_OAUTH_CLIENT_SECRET`
|
|
162
|
-
- `GOOGLE_OAUTH_REFRESH_TOKEN`
|
|
163
|
-
- `GA4_PROPERTY_ID`
|
|
164
|
-
- `GOOGLE_ADS_DEVELOPER_TOKEN`
|
|
165
|
-
- `GOOGLE_ADS_LOGIN_CUSTOMER_ID`
|
|
166
|
-
- `META_APP_ID`
|
|
167
|
-
- `META_APP_SECRET`
|
|
168
|
-
- `META_ACCESS_TOKEN`
|
|
169
|
-
- `META_API_VERSION`
|
|
170
|
-
- `MCP_TRANSPORT`
|
|
171
|
-
- `PORT`
|
|
172
|
-
- `MCP_URL`
|
|
173
|
-
- `DATABASE_URL`
|
|
174
|
-
- `DB_ENCRYPTION_KEY`
|
|
175
|
-
|
|
176
|
-
Importante:
|
|
177
|
-
|
|
178
|
-
- las credenciales VTEX por cliente ya no deben vivir en `.env`
|
|
179
|
-
- `.env` ahora guarda solo infraestructura, secretos globales del servidor y la key de cifrado para persistencia VTEX
|
|
180
|
-
- las credenciales VTEX por perfil se cargan por scripts administrativos hacia Postgres
|
|
181
|
-
- las tools VTEX no usan fallback silencioso a `default`
|
|
182
|
-
- si falta `profileId` o es inválido, responden con una selección guiada de perfiles activos
|
|
183
|
-
|
|
184
|
-
Reglas importantes:
|
|
185
|
-
|
|
186
|
-
- `.env` es solo para infraestructura y credenciales
|
|
187
|
-
- la configuración de negocio no debe vivir hardcodeada en `.env`
|
|
188
|
-
- no commitear `.env`, `credentials.json` ni `token.json`
|
|
189
|
-
|
|
190
|
-
La separación esperada es:
|
|
191
|
-
|
|
192
|
-
- `infraestructura y credenciales` en `.env`
|
|
193
|
-
- `configuración del negocio` en `business-data` cuando ese módulo esté completo
|
|
194
|
-
|
|
195
|
-
## Instalación y ejecución
|
|
196
|
-
|
|
197
|
-
Instalación:
|
|
198
|
-
|
|
199
|
-
```bash
|
|
200
|
-
pnpm install
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Desarrollo:
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
pnpm run dev
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
Base local y migraciones:
|
|
210
|
-
|
|
211
|
-
```bash
|
|
212
|
-
docker compose up -d
|
|
213
|
-
pnpm run db:test
|
|
214
|
-
pnpm run db:migrate
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
Hard delete administrativo de perfil:
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
pnpm run admin:profile-delete -- --profile-id <id> --confirm-delete <id>
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
Build:
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
pnpm run build
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
Ejecución del build:
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
pnpm run start
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
Deploy:
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
pnpm run deploy
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
Uso vía `npx` después de publicar el paquete:
|
|
35
|
+
Despues de publicar o instalar el paquete, una configuracion tipica por `npx` usa transporte `stdio`:
|
|
242
36
|
|
|
243
37
|
```json
|
|
244
38
|
{
|
|
@@ -266,211 +60,28 @@ Uso vía `npx` después de publicar el paquete:
|
|
|
266
60
|
}
|
|
267
61
|
```
|
|
268
62
|
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
- en configuración por `command`, el transporte correcto es `stdio`, por eso hay que pasar `MCP_TRANSPORT=stdio`
|
|
272
|
-
- si el servidor va a usar persistencia de secretos en DB, además necesita `DATABASE_URL` y `DB_ENCRYPTION_KEY`
|
|
273
|
-
|
|
274
|
-
Flujo típico de publicación:
|
|
275
|
-
|
|
276
|
-
```bash
|
|
277
|
-
pnpm version patch
|
|
278
|
-
pnpm publish --access public
|
|
279
|
-
```
|
|
63
|
+
Si no vas a usar una integracion, sus credenciales pueden no ser necesarias para ese flujo. VTEX usa perfiles y conexiones persistidas en Postgres; sus credenciales por cliente no se configuran directo en `.env`.
|
|
280
64
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
```text
|
|
284
|
-
http://localhost:3000/inspector
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
## Scripts operativos de base y perfiles
|
|
288
|
-
|
|
289
|
-
Estos scripts viven en `scripts/` y usan Postgres como store de perfiles e integraciones VTEX.
|
|
290
|
-
|
|
291
|
-
### `test-db-connection.ts`
|
|
292
|
-
|
|
293
|
-
- propósito: probar que `DATABASE_URL` responde
|
|
294
|
-
- muta datos: no
|
|
295
|
-
- requiere Postgres levantado: sí
|
|
296
|
-
- comando:
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
pnpm run db:test
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
### `run-migrations.ts`
|
|
303
|
-
|
|
304
|
-
- propósito: aplicar migraciones SQL pendientes desde `db/migrations/`
|
|
305
|
-
- muta datos: sí, cambia estructura de DB
|
|
306
|
-
- requiere Postgres levantado: sí
|
|
307
|
-
- comando:
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
pnpm run db:migrate
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
### `admin-profile-upsert.ts`
|
|
314
|
-
|
|
315
|
-
- propósito: crear o actualizar un perfil
|
|
316
|
-
- muta datos: sí
|
|
317
|
-
- requiere Postgres levantado: sí
|
|
318
|
-
- comando:
|
|
319
|
-
|
|
320
|
-
```bash
|
|
321
|
-
pnpm run admin:profile-upsert -- --profile-id default --name "Default"
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
### `admin-profile-list.ts`
|
|
325
|
-
|
|
326
|
-
- propósito: listar perfiles cargados
|
|
327
|
-
- muta datos: no
|
|
328
|
-
- requiere Postgres levantado: sí
|
|
329
|
-
- comando:
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
pnpm run admin:profile-list
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
### `admin-vtex-upsert.ts`
|
|
336
|
-
|
|
337
|
-
- propósito: crear o actualizar la conexión VTEX de un perfil y validarla
|
|
338
|
-
- muta datos: sí
|
|
339
|
-
- requiere Postgres levantado: sí
|
|
340
|
-
- comando:
|
|
341
|
-
|
|
342
|
-
```bash
|
|
343
|
-
pnpm run admin:vtex-upsert -- \
|
|
344
|
-
--profile-id default \
|
|
345
|
-
--account-name miaccount \
|
|
346
|
-
--api-key xxx \
|
|
347
|
-
--api-token yyy
|
|
348
|
-
```
|
|
65
|
+
## Variables principales
|
|
349
66
|
|
|
350
|
-
|
|
67
|
+
El servidor lee infraestructura y secretos desde variables de entorno:
|
|
351
68
|
|
|
352
|
-
-
|
|
353
|
-
-
|
|
354
|
-
-
|
|
355
|
-
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
pnpm run admin:vtex-validate -- --profile-id default
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
### `admin-vtex-list.ts`
|
|
362
|
-
|
|
363
|
-
- propósito: listar conexiones VTEX registradas
|
|
364
|
-
- muta datos: no
|
|
365
|
-
- requiere Postgres levantado: sí
|
|
366
|
-
- comando:
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
pnpm run admin:vtex-list
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
## Estructura del repositorio
|
|
373
|
-
|
|
374
|
-
Resumen de las rutas más importantes:
|
|
375
|
-
|
|
376
|
-
```text
|
|
377
|
-
bi-mcp/
|
|
378
|
-
├── AGENTS.md
|
|
379
|
-
├── README.md
|
|
380
|
-
├── db/
|
|
381
|
-
├── docs/
|
|
382
|
-
├── index.ts
|
|
383
|
-
├── scripts/
|
|
384
|
-
├── src/
|
|
385
|
-
│ ├── db/
|
|
386
|
-
│ ├── config/
|
|
387
|
-
│ ├── services/
|
|
388
|
-
│ │ ├── analytics/
|
|
389
|
-
│ │ ├── google-ads/
|
|
390
|
-
│ │ ├── search-console/
|
|
391
|
-
│ │ └── vtex/
|
|
392
|
-
│ ├── tools/
|
|
393
|
-
│ │ ├── config/
|
|
394
|
-
│ │ ├── analytics/
|
|
395
|
-
│ │ ├── google-ads/
|
|
396
|
-
│ │ ├── search-console/
|
|
397
|
-
│ │ └── vtex/
|
|
398
|
-
│ ├── prompts/
|
|
399
|
-
│ └── utils/
|
|
400
|
-
├── package.json
|
|
401
|
-
└── pnpm-lock.yaml
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
Puntos de entrada y referencia:
|
|
405
|
-
|
|
406
|
-
- [index.ts](/home/yoryo/apps/bi-mcp/index.ts)
|
|
407
|
-
Registro del servidor, tools y prompts.
|
|
408
|
-
|
|
409
|
-
- [src/tools/index.ts](/home/yoryo/apps/bi-mcp/src/tools/index.ts)
|
|
410
|
-
Barrel raíz de tools por módulo.
|
|
411
|
-
|
|
412
|
-
- [src/config/benchmarks.ts](/home/yoryo/apps/bi-mcp/src/config/benchmarks.ts)
|
|
413
|
-
Benchmarks argentinos expuestos por el servidor.
|
|
414
|
-
|
|
415
|
-
- [db/AGENTS.md](/home/yoryo/apps/bi-mcp/db/AGENTS.md)
|
|
416
|
-
Reglas de la capa de persistencia y de las migraciones SQL.
|
|
417
|
-
|
|
418
|
-
## Flujo de trabajo para desarrollo
|
|
419
|
-
|
|
420
|
-
Si vas a tocar código en este repo, la referencia obligatoria es [AGENTS.md](/home/yoryo/apps/bi-mcp/AGENTS.md).
|
|
421
|
-
|
|
422
|
-
Resumen operativo:
|
|
423
|
-
|
|
424
|
-
- leer `AGENTS.md` antes de programar
|
|
425
|
-
- no inventar fórmulas financieras
|
|
426
|
-
- no reimplementar módulos que ya existen
|
|
427
|
-
- no poner lógica de negocio en `index.ts`
|
|
428
|
-
- agrupar `tools/` y `services/` por proveedor o dominio
|
|
429
|
-
- usar schemas Zod en el mismo archivo que el handler
|
|
430
|
-
- registrar las tools en `index.ts`
|
|
431
|
-
- usar naming consistente por prefijo de módulo
|
|
432
|
-
|
|
433
|
-
Convenciones principales:
|
|
434
|
-
|
|
435
|
-
- archivos en `kebab-case`
|
|
436
|
-
- tools MCP en `snake_case` con prefijo
|
|
437
|
-
- `schema + handler` en el mismo archivo
|
|
438
|
-
- utilidades compartidas en `src/utils/`
|
|
439
|
-
|
|
440
|
-
## Documentación clave
|
|
441
|
-
|
|
442
|
-
El repo ya tiene documentación que define tanto el alcance funcional como las reglas de implementación:
|
|
443
|
-
|
|
444
|
-
- [AGENTS.md](/home/yoryo/apps/bi-mcp/AGENTS.md)
|
|
445
|
-
Guía maestra del proyecto, arquitectura, reglas y roadmap.
|
|
446
|
-
|
|
447
|
-
- [docs/CAPACIDADES_MCP.md](/home/yoryo/apps/bi-mcp/docs/CAPACIDADES_MCP.md)
|
|
448
|
-
Documento orientado a usuario sobre qué cubre el MCP.
|
|
449
|
-
|
|
450
|
-
- [docs/Ecommerce Growth & Profit OS – Argentina Edition (V3.md](/home/yoryo/apps/bi-mcp/docs/Ecommerce%20Growth%20%26%20Profit%20OS%20%E2%80%93%20Argentina%20Edition%20%28V3.md)
|
|
451
|
-
Fuente de verdad para fórmulas financieras, benchmarks y outputs esperados.
|
|
452
|
-
|
|
453
|
-
- [docs/vtex-key-endpoints.md](/home/yoryo/apps/bi-mcp/docs/vtex-key-endpoints.md)
|
|
454
|
-
Endpoints VTEX y contratos de referencia.
|
|
455
|
-
|
|
456
|
-
- [docs/logica-procesamiento-mcp-vtex.md](/home/yoryo/apps/bi-mcp/docs/logica-procesamiento-mcp-vtex.md)
|
|
457
|
-
Criterios de transformación de respuestas VTEX.
|
|
458
|
-
|
|
459
|
-
- [docs/flujos-bi-vtex.md](/home/yoryo/apps/bi-mcp/docs/flujos-bi-vtex.md)
|
|
460
|
-
Qué combinaciones de tools ayudan a responder distintos análisis de negocio.
|
|
461
|
-
|
|
462
|
-
## Estado del roadmap
|
|
463
|
-
|
|
464
|
-
La dirección definida del producto es:
|
|
69
|
+
- `MCP_TRANSPORT`, `PORT`, `MCP_URL`
|
|
70
|
+
- `DATABASE_URL`, `DB_ENCRYPTION_KEY`
|
|
71
|
+
- `GOOGLE_OAUTH_CLIENT_ID`, `GOOGLE_OAUTH_CLIENT_SECRET`, `GOOGLE_OAUTH_REFRESH_TOKEN`
|
|
72
|
+
- `GA4_PROPERTY_ID`
|
|
73
|
+
- `GOOGLE_ADS_DEVELOPER_TOKEN`, `GOOGLE_ADS_LOGIN_CUSTOMER_ID`
|
|
74
|
+
- `META_APP_ID`, `META_APP_SECRET`, `META_ACCESS_TOKEN`, `META_API_VERSION`
|
|
465
75
|
|
|
466
|
-
|
|
467
|
-
CM1, CM2, CM3, CCC, LTV/CAC y lógica financiera basada en benchmarks locales.
|
|
76
|
+
La configuracion de negocio no deberia vivir en `.env`.
|
|
468
77
|
|
|
469
|
-
|
|
470
|
-
Kill Switch, score de escalabilidad y outputs ejecutivos.
|
|
78
|
+
## Documentacion util
|
|
471
79
|
|
|
472
|
-
|
|
473
|
-
|
|
80
|
+
- [Capacidades del MCP](/home/yoryo/apps/bi-mcp/docs/CAPACIDADES_MCP.md): que puede responder cada modulo.
|
|
81
|
+
- [Fuentes de datos](/home/yoryo/apps/bi-mcp/docs/FUENTES_DE_DATOS.md): de donde salen los datos y que limitaciones tienen.
|
|
82
|
+
- [Glosario financiero](/home/yoryo/apps/bi-mcp/docs/GLOSARIO_FINANCIERO.md): terminos de negocio y finanzas usados por el sistema.
|
|
83
|
+
- [Estado del proyecto](/home/yoryo/apps/bi-mcp/docs/PROJECT_STATUS.md): modulos implementados, pendientes y roadmap.
|
|
84
|
+
- [Guia para agentes](/home/yoryo/apps/bi-mcp/AGENTS.md): reglas para modificar el repo.
|
|
474
85
|
|
|
475
86
|
## Licencia
|
|
476
87
|
|