Gerent365 MCP Server
Enables AI assistants to manage Gerent365 restaurant and business operations via natural language, including employees, schedules, payroll, tips, time tracking, customers, products, reservations, and reports.
README
Gerent365 MCP Server
Servidor MCP (Model Context Protocol) para Gerent365, el SaaS de gestión de restaurantes y negocios (Puerto Rico). Permite que asistentes de IA como Claude controlen toda tu cuenta de Gerent365 con lenguaje natural: empleados, horarios, nómina, propinas, fichaje (kiosko), clientes, productos, mesas, reservaciones, ausencias, asistencia, reportes y estadísticas.
El servidor se autentica automáticamente en https://app.gerent365.com/api (POST /auth/login) y mantiene la sesión mediante cookies durante toda la ejecución. Para las herramientas de kiosko usa kioskCode + pin.
Requisitos
- Node.js 18 o superior (probado en Node 22).
- Una cuenta de Gerent365 con rol
admin,managerosuperadminpara las operaciones de escritura.
Instalación
# 1. Clona o copia el proyecto y entra en la carpeta
cd gerent365-mcp
# 2. Instala las dependencias
npm install
# 3. Compila el TypeScript a JavaScript (genera dist/)
npm run build
Scripts disponibles:
| Script | Acción |
|---|---|
npm run build |
Compila src/ a dist/ con tsc. |
npm start |
Ejecuta el servidor compilado (node dist/index.js). |
npm run dev |
Compila en modo watch (recompila al guardar). |
Configuración (variables de entorno)
Copia .env.example a .env y completa tus datos. El servidor también lee las variables directamente del entorno (útil al configurarlo en un cliente MCP).
| Variable | Obligatoria | Descripción | Default |
|---|---|---|---|
GERENT365_EMAIL |
Sí* | Email de tu cuenta de Gerent365. | — |
GERENT365_PASSWORD |
Sí* | Contraseña de tu cuenta. | — |
GERENT365_API_URL |
No | URL base de la API. | https://app.gerent365.com/api |
GERENT365_KIOSK_CODE |
No** | Código único de kiosko del negocio. | — |
GERENT365_PIN |
No** | PIN de fichaje del empleado. | — |
GERENT365_MANAGER_CODE |
No | Código de manager (autoriza fichajes tardíos). | — |
* Obligatorias para las herramientas de dashboard (empleados, nómina, horarios, etc.). ** Obligatorias solo para las herramientas de kiosko/fichaje (o se pueden pasar como parámetros en cada llamada).
El servidor hace auto-login al arrancar. Si faltan GERENT365_EMAIL/GERENT365_PASSWORD, arranca igual pero solo funcionarán las herramientas de kiosko (o deberás usar gerent365_login manualmente).
Configuración en Claude Desktop
Edita el archivo de configuración de Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Añade el servidor (usa la ruta absoluta a dist/index.js):
{
"mcpServers": {
"gerent365": {
"command": "node",
"args": ["/ruta/absoluta/a/gerent365-mcp/dist/index.js"],
"env": {
"GERENT365_EMAIL": "admin@tunegocio.com",
"GERENT365_PASSWORD": "tu_contrasena",
"GERENT365_API_URL": "https://app.gerent365.com/api",
"GERENT365_KIOSK_CODE": "KSK-0000",
"GERENT365_PIN": "1234"
}
}
}
}
Guarda el archivo y reinicia Claude Desktop. Verás las herramientas de Gerent365 disponibles (icono de herramientas 🔨).
Configuración en otros clientes MCP
El servidor habla MCP sobre stdio, por lo que funciona con cualquier cliente compatible (Cline, Continue, Zed, LibreChat, etc.). La idea es siempre la misma:
- Comando:
node - Argumentos:
["/ruta/absoluta/a/gerent365-mcp/dist/index.js"] - Variables de entorno: las de la tabla anterior.
Ejemplo genérico (formato tipo mcp.json):
{
"servers": {
"gerent365": {
"type": "stdio",
"command": "node",
"args": ["/ruta/absoluta/a/gerent365-mcp/dist/index.js"],
"env": {
"GERENT365_EMAIL": "admin@tunegocio.com",
"GERENT365_PASSWORD": "tu_contrasena"
}
}
}
}
También puedes probarlo con el MCP Inspector:
npx @modelcontextprotocol/inspector node dist/index.js
Herramientas disponibles (53)
Autenticación y perfil
| Herramienta | Descripción |
|---|---|
gerent365_login |
Inicia sesión (email, password). |
gerent365_logout |
Cierra la sesión. |
gerent365_get_profile |
Perfil del usuario actual + negocio. |
Negocio
| Herramienta | Descripción |
|---|---|
gerent365_get_business |
Ver información del negocio. |
gerent365_update_business |
Actualizar negocio (nombre, email, teléfono, dirección, zona horaria, ajustes). |
Empleados
| Herramienta | Descripción |
|---|---|
gerent365_list_employees |
Listar empleados. |
gerent365_get_employee |
Ver empleado por ID. |
gerent365_create_employee |
Crear empleado. |
gerent365_update_employee |
Actualizar empleado. |
gerent365_delete_employee |
Eliminar empleado. |
gerent365_update_employee_pin |
Cambiar PIN de fichaje. |
Puestos de trabajo
| Herramienta | Descripción |
|---|---|
gerent365_list_job_positions |
Listar puestos. |
gerent365_create_job_position |
Crear puesto (tarifa por hora, color). |
gerent365_update_job_position |
Actualizar puesto. |
gerent365_delete_job_position |
Eliminar puesto. |
Horarios
| Herramienta | Descripción |
|---|---|
gerent365_get_schedule |
Ver horario de una semana. |
gerent365_assign_shift |
Asignar/actualizar turno. |
gerent365_copy_week |
Copiar semana de horarios. |
gerent365_publish_schedule |
Publicar horario de una semana. |
gerent365_get_publish_status |
Ver estado de publicación. |
Nómina
| Herramienta | Descripción |
|---|---|
gerent365_list_payroll |
Listar periodos de nómina. |
gerent365_create_payroll_period |
Crear periodo. |
gerent365_calculate_payroll |
Calcular nómina. |
gerent365_approve_payroll |
Aprobar periodo. |
gerent365_pay_payroll |
Marcar como pagado. |
Propinas
| Herramienta | Descripción |
|---|---|
gerent365_list_tips |
Listar pools de propinas. |
gerent365_create_tip_pool |
Crear pool de propinas. |
gerent365_distribute_tips |
Distribuir propinas. |
Kiosko / Fichaje
| Herramienta | Descripción |
|---|---|
gerent365_kiosko_validate |
Validar empleado (kioskCode + pin). |
gerent365_kiosko_punch |
Registrar fichaje (CHECK_IN/OUT, BREAK). |
gerent365_kiosko_products |
Ver productos desde kiosko. |
Clientes
| Herramienta | Descripción |
|---|---|
gerent365_list_customers |
Listar clientes. |
gerent365_search_customers |
Buscar clientes. |
gerent365_create_customer |
Crear cliente. |
gerent365_update_customer |
Actualizar cliente. |
Productos y categorías
| Herramienta | Descripción |
|---|---|
gerent365_list_products |
Listar productos. |
gerent365_create_product |
Crear producto. |
gerent365_list_product_categories |
Listar categorías. |
gerent365_create_product_category |
Crear categoría. |
Mesas
| Herramienta | Descripción |
|---|---|
gerent365_list_tables |
Listar mesas. |
gerent365_create_table |
Crear mesa. |
Reservaciones
| Herramienta | Descripción |
|---|---|
gerent365_list_reservations |
Listar reservaciones. |
gerent365_create_reservation |
Crear reservación. |
gerent365_update_reservation |
Actualizar reservación. |
Ausencias
| Herramienta | Descripción |
|---|---|
gerent365_list_time_off |
Listar solicitudes de ausencia. |
gerent365_create_time_off |
Crear solicitud de ausencia. |
gerent365_update_time_off |
Aprobar/rechazar solicitud. |
Asistencia
| Herramienta | Descripción |
|---|---|
gerent365_get_attendance |
Ver registros de asistencia. |
gerent365_get_last_punch |
Ver último fichaje de un empleado. |
Reportes, dashboard y notificaciones
| Herramienta | Descripción |
|---|---|
gerent365_report_dashboard |
Reporte del dashboard. |
gerent365_report_sales |
Reporte de ventas. |
gerent365_dashboard_stats |
Estadísticas del dashboard. |
gerent365_get_notifications |
Ver notificaciones. |
Ejemplos de uso en lenguaje natural
Una vez configurado en Claude (o tu cliente MCP), puedes pedir cosas como:
- "Muéstrame todos los empleados de mi restaurante."
- "Crea un empleado llamado María López, mesera, con email maria@bar.com y PIN 4821."
- "¿Cómo va el horario de la semana del 27 de julio? Publícalo cuando esté listo."
- "Asigna a Juan un turno el lunes de 9:00 a 17:00 con descanso de 13:00 a 13:30."
- "Copia el horario de esta semana a la próxima."
- "Crea un periodo de nómina del 1 al 15 de julio incluyendo propinas de tarjeta, calcúlalo y muéstrame el total."
- "Registra un pool de propinas de hoy con $200 en efectivo y $350 en tarjeta, y repártelo entre el equipo por horas trabajadas."
- "Ficha mi entrada en el kiosko." (usa
GERENT365_KIOSK_CODEyGERENT365_PIN). - "Busca al cliente con teléfono 787-555-1234 y márcalo como VIP."
- "Crea una reservación para 4 personas mañana a las 8pm a nombre de Pedro."
- "Dame las estadísticas del dashboard de hoy."
Notas técnicas
- Autenticación en dos mundos: las rutas de dashboard usan sesión por cookie (login automático); las de kiosko usan
kioskCode+pin. - Multi-tenant: el
businessIdse deriva de la sesión; nunca se pasa como parámetro. - Roles: la mayoría de operaciones de escritura requieren rol
admin,managerosuperadmin. - Fechas: usa formato ISO
YYYY-MM-DD(yHH:mmpara horas). Las comparaciones horarias usan la zona horaria del negocio (defaultAmerica/Puerto_Rico). - Overtime: el backend de Gerent365 no calcula horas extra; la nómina es a tiempo simple.
- Los errores de la API se devuelven con un mensaje claro en español, incluyendo el código HTTP.
Estructura del proyecto
gerent365-mcp/
├── src/
│ ├── index.ts # Entry point del servidor MCP
│ ├── auth.ts # Manejo de sesión (login, cookies)
│ ├── client.ts # HTTP client con cookie-jar
│ └── tools/
│ ├── types.ts # Tipos y utilidades compartidas
│ ├── auth.ts # Autenticación y perfil
│ ├── business.ts # Negocio
│ ├── employees.ts # Empleados y puestos
│ ├── schedules.ts # Horarios
│ ├── payroll.ts # Nómina
│ ├── tips.ts # Propinas
│ ├── kiosko.ts # Kiosko / fichaje
│ ├── customers.ts # Clientes
│ ├── products.ts # Productos y categorías
│ ├── tables.ts # Mesas
│ ├── reservations.ts # Reservaciones
│ ├── timeoff.ts # Ausencias
│ ├── attendance.ts # Asistencia
│ ├── reports.ts # Reportes
│ └── dashboard.ts # Estadísticas y notificaciones
├── package.json
├── tsconfig.json
├── README.md
└── .env.example
Licencia
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。