Denik MCP server
Book appointments, check availability, list services and create payment links for a Denik business.
34 downloads/wk
Reviews
Write oneNobody has reviewed Denik yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Denik tools (80, 35 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_agenda_blockAparta un rato de la agenda para que nadie pueda reservarlo: comida, junta, vacaciones.
add_service_imageAgrega una imagen a la galería de un servicio desde una URL https (por ejemplo una ilustración que acabas de generar). Denik la descarga y la guarda como propia, así que sigue viva aunque el link original caduque. Con `first: true` queda de portada.
adjust_loyalty_pointsSuma o RESTA puntos manualmente (positivo suma, negativo resta). Requiere un motivo, que queda en el historial del cliente. Requiere aprobación del dueño.
archive_packageArchiva un paquete: deja de venderse, pero los bonos ya comprados siguen siendo válidos. Requiere aprobación del dueño.
archive_servicewrite actionArchiva un servicio (soft delete). Deja de aparecer en listados y landing.
audit_landing_contrastMide el contraste real (WCAG) de todos los textos de la landing y devuelve los que no se leen, con el `dataId` para arreglarlos y la clase de color sugerida. Úsalo cuando el usuario diga que algo 'no se ve', 'está en negro sobre negro' o 'no se lee' — y también DESPUÉS de editar, para comprobar tu propio trabajo. Nota: los elementos sobre una imagen o gradiente no se pueden medir sin ver la página
award_loyalty_pointsOtorga los puntos de una cita al cliente. Por defecto usa los puntos que el dueño configuró en el servicio — no inventes la cifra salvo que te la digan. Es idempotente por cita: llamarlo dos veces no duplica.
cancel_eventwrite actionCancela una cita (borra Meet/Zoom, jobs, marca CANCELLED).
consume_package_sessionDescuenta una sesión del bono de un cliente. Requiere aprobación del dueño.
create_bookingwrite actionAgenda una cita para el visitante. Servicio gratuito → crea reserva tentativa y envía email de confirmación al cliente (status: 'pending_confirmation'). Servicio de pago → NO agenda, devuelve `checkoutUrl` para que el visitante pague en la landing (status: 'paid_service'). Si el slot ya está ocupado devuelve error 'slot already taken'.
create_branchwrite actionCrea una sucursal. Hereda automáticamente todo el catálogo de servicios.
create_customerwrite actionDa de alta un cliente nuevo en la org. Si ya existe uno con ese email, devuelve el existente.
create_eventwrite actionAgenda una cita manual. Requiere serviceId, customerId, start ISO.
create_loyalty_levelwrite actionCrea un nivel del programa (a partir de X puntos, Y% de descuento).
create_loyalty_rewardwrite actionCrea una recompensa canjeable. `type`: discount_percent (value = %), discount_fixed (value = pesos) o free_service.
create_packagewrite actionCrea un paquete (bono) para vender. `items` es la lista de servicios incluidos con su cantidad de sesiones. La respuesta trae los items EFECTIVAMENTE guardados y `requestedItems` con cuántos se pidieron: si no coinciden, algún servicio no era de este negocio o estaba archivado — dilo en vez de dar por hecho que se guardaron todos.
create_payment_linkwrite actionGenera el LINK DE PAGO real (MercadoPago) para un servicio de pago en un horario concreto, y devuelve `checkoutUrl` para mandárselo al visitante en el chat. Úsalo en vez de create_booking cuando el servicio cobra en línea: create_booking sólo devuelve el link de la landing y obliga al visitante a repetir ahí la elección de fecha. Devuelve `amount` (lo que se cobra ahora: total o anticipo) y `balan
create_servicewrite actionCrea un servicio nuevo. Solo `name` es requerido; el resto usa defaults sensatos (MXN, 30min, INPLACE, videoProvider auto, isActive false). Genera slug único automáticamente.
delete_branchwrite actionElimina una sucursal definitivamente. La sede principal no se puede eliminar. Antes de proponerlo, considera apagarla con toggle_branch_active: casi siempre es lo que el dueño quiere. Requiere aprobación.
delete_loyalty_levelwrite actionElimina un nivel del programa. Los clientes que estaban en él pasan al inmediato inferior. Requiere aprobación.
delete_loyalty_rewardwrite actionElimina una recompensa. Si ya tiene canjes no se puede eliminar: en ese caso desactívala con update_loyalty_reward (isActive: false). Requiere aprobación.
discover_toolsBusca entre TODAS las herramientas de Denik, incluidas las que no están en tu lista.
find_customerwrite actionBusca clientes por nombre, email o teléfono. Hasta 20 resultados.
get_availabilityDevuelve los slots libres (formato 'HH:MM' en la zona horaria del negocio) para un servicio en una fecha dada. Filtra slots ocupados y pasados. Úsalo para proponer horarios concretos al visitante.
get_customerwrite actionDevuelve el detalle completo de un cliente por ID (displayName, email, tel, notes).
get_customer_appointmentsHistorial de citas de un cliente (últimas 50, más recientes primero).
get_customer_loyaltyPuntos, nivel actual e historial de un cliente. Úsalo antes de canjear: si no le alcanza, el canje falla.
get_customer_packagesBonos que compró un cliente, con el saldo de sesiones que le queda de cada servicio y cuándo vencen. Úsalo antes de descontar una sesión.
get_customer_pointsPuntos de lealtad acumulados de un cliente (cálculo en vivo sobre citas asistidas).
get_eventDevuelve el detalle de una cita por ID (incluye customer, service, meetingLink).
get_landingDevuelve las secciones actuales de la landing de la org (id, label, tipo, preview). Útil antes de editar.
get_landing_outlineDevuelve el ÁRBOL de elementos de una sección: cada uno con su `dataId`, tag, clases de color/tipografía y su texto. Es el mapa que necesitas para editar con `update_landing_node`. PÍDELO SIEMPRE antes de un ajuste puntual, y vuelve a pedirlo si una edición falla con 'not_found' o 'section_changed'.
get_loyalty_overviewResumen del programa de lealtad: si está activo, cuántos puntos circulan y cuántos canjes hay. Empieza por aquí antes de operar puntos — si `loyaltyEnabled` es false, dar puntos no hace nada.
get_orgwrite actionDevuelve datos básicos de la org del agente (name, slug, description, email, tel, address, timezone, logo, weekDays, landingPublished).
get_org_statsEstadísticas de la org en un rango custom (from/to ISO).
get_salesCuánto DINERO entró en un rango: total, desglose por servicio, por método de pago y saldos pendientes.
get_sales_detailLos cobros uno por uno de un rango (quién, cuánto, cómo pagó, qué día). Para cuando el dueño pregunta de dónde salió un total.
get_service_branchesEn qué sucursales se ofrece un servicio, con los precios especiales por sede (null = hereda el precio del servicio). Léelo SIEMPRE antes de set_service_branches, que reemplaza la lista completa.
get_service_notificationsQué avisos manda un servicio y por qué canal: comprobante al agendar, petición de confirmación, recordatorio, cancelación y encuesta, cada uno por correo y/o WhatsApp.
get_service_public_urlDevuelve el link público de booking de un servicio para compartir.
get_today_summaryResumen del día: total de citas, confirmadas, canceladas, no-shows, ingresos. La tool 'estrella' del grupo.
list_branchesSucursales del negocio: nombre, dirección, horario, si está activa y cuál es la sede principal.
list_customersLista los clientes de la org paginado (primeros 20 por default, orden alfabético). Útil para dar overview cuando el usuario pregunta '¿qué clientes tengo?' sin especificar. Retorna {total, hasMore, customers}.
list_eventsLista citas del negocio. Útil para '¿qué tengo hoy?', '¿qué hay mañana?'. Acepta rango de fechas ISO y filtros.
list_loyalty_levelsNiveles del programa (nombre, puntos mínimos, % de descuento).
list_loyalty_rewardsRecompensas canjeables: nombre, cuántos puntos cuesta cada una y si está activa.
list_packagesPaquetes (bonos) que vende el negocio: nombre, precio, qué servicios incluye y cuántas sesiones de cada uno.
list_servicesLista los servicios activos del negocio: nombre, slug, descripción, precio, duración en minutos, modalidad y `bookingUrl` (link público para reservar). Úsalo para entender qué ofrece el negocio y para compartir links cuando el visitante prefiera completar la reserva en la página.
manage_own_bookingPermite al visitante gestionar SUS PROPIAS citas (reagendar o cancelar). Pide su email y este tool le ENVÍA POR CORREO el enlace de gestión de cada cita próxima. NO devuelve los enlaces en el chat ni revela si el correo tiene citas (respuesta genérica) — la verificación de propiedad es el correo mismo. Úsalo cuando el visitante quiera cambiar o cancelar una cita; dile que revise su correo.
mark_attendanceMarca si el cliente asistió a la cita (true/false) o limpia (null).
redeem_loyalty_rewardCanjea una recompensa: descuenta los puntos y genera un código para el cliente. Requiere aprobación del dueño.
remove_agenda_blockwrite actionLibera un bloqueo de agenda. Sólo alcanza bloqueos: un id de cita no hace nada aquí (las citas se cancelan con cancel_event).
remove_service_imagewrite actionQuita una imagen de la galería del servicio por su `key` (ej. 'services/abc123/169...-foto.jpg'). No borra el archivo físico de Tigris.
reorder_service_galleryReordena la galería. Debe contener exactamente las mismas keys que la galería actual (solo reorden, no agrega ni quita). El índice [0] es la imagen principal.
reschedule_eventMueve una cita a un nuevo horario. Si no se pasa `end`, mantiene la duración original.
restore_package_sessionwrite actionDevuelve una sesión al bono (por ejemplo si se canceló la cita que la consumió).
run_toolwrite actionEjecuta cualquier herramienta de Denik por su nombre, esté o no en tu lista.
sell_packageRegistra la VENTA de un bono cobrado en el establecimiento (efectivo, transferencia o terminal). No cobra nada: sólo deja constancia de que ya se pagó y acredita las sesiones al cliente. El monto por defecto es el de catálogo; indica `amountPaid` sólo si se cobró distinto. Requiere aprobación del dueño. Si ya se registró hoy esa misma venta, se bloquea — vuelve a intentarlo con `allowDuplicate` só
send_appointment_reminderwrite actionEnvía email de recordatorio manual al cliente de una cita.
set_service_branchesDefine en qué sucursales se ofrece un servicio. REEMPLAZA la lista completa: las sedes que no incluyas dejarán de ofrecerlo. Lee get_service_branches primero. Requiere aprobación del dueño.
settle_event_balanceRegistra el cobro del SALDO pendiente de una cita que se reservó con anticipo. Sólo métodos de mostrador (cash|transfer|card): no genera un link de pago. El monto que falta ya está en la cita (`balanceDue` de get_event), no se especifica aquí. Entra al corte de caja del día de HOY, no al día de la reserva. Requiere aprobación del dueño.
toggle_branch_activePrende o apaga una sucursal (alterna el estado actual). Apagada deja de aparecer en la página de reservas. La sede principal no se puede apagar. Requiere aprobación del dueño.
toggle_loyalty_programPrende o apaga el programa de lealtad completo. Apagarlo esconde los puntos que los clientes ya acumularon (no los borra) y requiere aprobación del dueño.
toggle_service_activeActiva/desactiva un servicio. Si se pasa `isActive` lo fuerza; sin arg hace flip.
unarchive_serviceRestaura un servicio archivado.
unpublish_landingDespublica la landing (la quita del sitio público). Úsalo solo si algo salió mal; los cambios normales preservan el estado.
update_branchwrite actionEdita los datos de una sucursal.
update_customerwrite actionActualiza datos de un cliente existente. Pasa solo los campos a cambiar. Si se cambia el email y colisiona con otro cliente de la org devuelve 409.
update_eventwrite actionActualiza campos seguros de una cita (notas, pagado, método de pago, título, status). Para cambiar horario usa reschedule_event; para cancelar usa cancel_event.
update_landing_nodewrite actionEdita UN elemento concreto de la landing (un título, un párrafo, un botón) dejando TODO lo demás intacto. Ésta es la forma correcta de hacer cualquier ajuste puntual: color, texto, tamaño, espaciado. Flujo: `get_landing_outline` para obtener el `dataId` → `update_landing_node` → LEE la respuesta. La respuesta trae `remainingIssues` (problemas de contraste que quedan) y `autoFixed`; repórtale al us
update_landing_sectionwrite actionREESCRIBE UNA SECCIÓN COMPLETA con una instrucción en lenguaje natural (ej: 'añade testimonios', 'hazla más formal'). ⚠️ Regenera toda la sección, así que puede revertir ajustes que hiciste antes. Para cambiar un color, un texto o un espaciado usa `update_landing_node`, que sólo toca ese elemento. Preserva el estado de publicación actual.
update_loyalty_levelwrite actionEdita un nivel del programa de lealtad.
update_loyalty_rewardwrite actionEdita una recompensa (nombre, costo en puntos, si está activa).
update_orgwrite actionActualiza información del negocio. Whitelist: name, description, email, tel, address, timezone, logo, weekDays. weekDays usa keys en INGLÉS (monday..sunday).
update_packagewrite actionEdita un paquete. Tocar el precio o los servicios incluidos requiere aprobación del dueño (cambia lo que se le cobra a quien lo compre). También DESARCHIVA: manda `archived: false`. Cambiar la vigencia aquí sólo afecta a las compras futuras — para mover la de un bono ya vendido usa extend_package_expiry.
update_servicewrite actionActualiza campos de un servicio existente. Pasa solo los campos a cambiar. Cambiar el nombre NO regenera el slug: para cambiar la dirección web hay que mandar `slug` explícito, y eso requiere aprobación del dueño porque rompe los links ya compartidos.
update_service_hourswrite actionActualiza horarios (weekDays) de un servicio. Keys en INGLÉS: monday..sunday. Cada día es un arreglo de RANGOS, y cada rango es una TUPLA ["HH:MM","HH:MM"] en 24 horas (no un objeto). Un día ausente o en null = cerrado. Opcionalmente `duration` en minutos.
update_service_notificationswrite actionPrende o apaga avisos de un servicio. Sólo cambia lo que mandes: lo que omitas se queda como está.
update_service_paymentwrite actionDefine en qué momento paga el cliente. Opciones: `on_booking` (paga todo para poder reservar),
use_loyalty_codeMarca un código de canje como usado (cuando el cliente lo presenta en el mostrador). Requiere aprobación del dueño.
Public scan report
scanner v0.1.5 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan17 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenanceno repository listed3/15
- Maintainer identityverified namespace with website, no repo4/10
Findings (1)
- lowNo source repository listed
maint.no-repo
Install directly
Runs npx -y @denik.me/mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add denik -- npx -y @denik.me/mcp
Denik: common questions
- Is Denik MCP server safe?
- With care: it is graded C, so read the findings first (58/100). Read the Denik safety report
- How do I install Denik?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does Denik need an API key?
- Yes. The registry entry asks for
DENIK_API_KEY. - Is Denik maintained?
- The latest release is v0.1.0.
- What can I use instead of Denik?
- Servers from other publishers that do the same job: Orla MCP server, AurasPay Merchant MCP server and Churnkey MCP server. Compare all Denik alternatives.
Alternatives to Denik
Same job from other publishers: the closest match first, then the best rated.
- OrlaPersonal, family and business books over fiat and crypto. Reads and records; it cannot pay.not reviewedGrowingA
AurasPay Merchant MCPReview AurasPay merchant payments and prepare payment links with scoped OAuth and human approval.not reviewedGrowingA
ChurnkeyRead and manage Churnkey cancel flows, retention metrics, and payment recoverynot reviewedGrowingA
POPCORN MCPSigned time and SHA-256 witness receipts for agents, with offline verification and x402 payment.not reviewedGrowingB- MonapayMONA Pay for AI agents: create VietQR, check bank transfers, webhooks & HMAC. Vietnam bank API, VNDnot reviewedGrowingB