Mmcp.market

Denik MCP server

by denik.me·me.denik/denik·v0.1.0

Book appointments, check availability, list services and create payment links for a Denik business.

C58/100grade C
What users say
No reviews yet
Be the first
Safety scan
C58/100

full report

Adoption
New

34 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • add_agenda_block

    Aparta un rato de la agenda para que nadie pueda reservarlo: comida, junta, vacaciones.

  • add_service_image

    Agrega 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_points

    Suma 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_package

    Archiva un paquete: deja de venderse, pero los bonos ya comprados siguen siendo válidos. Requiere aprobación del dueño.

  • archive_servicewrite action

    Archiva un servicio (soft delete). Deja de aparecer en listados y landing.

  • audit_landing_contrast

    Mide 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_points

    Otorga 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 action

    Cancela una cita (borra Meet/Zoom, jobs, marca CANCELLED).

  • consume_package_session

    Descuenta una sesión del bono de un cliente. Requiere aprobación del dueño.

  • create_bookingwrite action

    Agenda 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 action

    Crea una sucursal. Hereda automáticamente todo el catálogo de servicios.

  • create_customerwrite action

    Da de alta un cliente nuevo en la org. Si ya existe uno con ese email, devuelve el existente.

  • create_eventwrite action

    Agenda una cita manual. Requiere serviceId, customerId, start ISO.

  • create_loyalty_levelwrite action

    Crea un nivel del programa (a partir de X puntos, Y% de descuento).

  • create_loyalty_rewardwrite action

    Crea una recompensa canjeable. `type`: discount_percent (value = %), discount_fixed (value = pesos) o free_service.

  • create_packagewrite action

    Crea 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 action

    Genera 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 action

    Crea 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 action

    Elimina 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 action

    Elimina un nivel del programa. Los clientes que estaban en él pasan al inmediato inferior. Requiere aprobación.

  • delete_loyalty_rewardwrite action

    Elimina 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_tools

    Busca entre TODAS las herramientas de Denik, incluidas las que no están en tu lista.

  • find_customerwrite action

    Busca clientes por nombre, email o teléfono. Hasta 20 resultados.

  • get_availability

    Devuelve 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 action

    Devuelve el detalle completo de un cliente por ID (displayName, email, tel, notes).

  • get_customer_appointments

    Historial de citas de un cliente (últimas 50, más recientes primero).

  • get_customer_loyalty

    Puntos, nivel actual e historial de un cliente. Úsalo antes de canjear: si no le alcanza, el canje falla.

  • get_customer_packages

    Bonos 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_points

    Puntos de lealtad acumulados de un cliente (cálculo en vivo sobre citas asistidas).

  • get_event

    Devuelve el detalle de una cita por ID (incluye customer, service, meetingLink).

  • get_landing

    Devuelve las secciones actuales de la landing de la org (id, label, tipo, preview). Útil antes de editar.

  • get_landing_outline

    Devuelve 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_overview

    Resumen 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 action

    Devuelve datos básicos de la org del agente (name, slug, description, email, tel, address, timezone, logo, weekDays, landingPublished).

  • get_org_stats

    Estadísticas de la org en un rango custom (from/to ISO).

  • get_sales

    Cuánto DINERO entró en un rango: total, desglose por servicio, por método de pago y saldos pendientes.

  • get_sales_detail

    Los 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_branches

    En 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_notifications

    Qué 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_url

    Devuelve el link público de booking de un servicio para compartir.

  • get_today_summary

    Resumen del día: total de citas, confirmadas, canceladas, no-shows, ingresos. La tool 'estrella' del grupo.

  • list_branches

    Sucursales del negocio: nombre, dirección, horario, si está activa y cuál es la sede principal.

  • list_customers

    Lista 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_events

    Lista citas del negocio. Útil para '¿qué tengo hoy?', '¿qué hay mañana?'. Acepta rango de fechas ISO y filtros.

  • list_loyalty_levels

    Niveles del programa (nombre, puntos mínimos, % de descuento).

  • list_loyalty_rewards

    Recompensas canjeables: nombre, cuántos puntos cuesta cada una y si está activa.

  • list_packages

    Paquetes (bonos) que vende el negocio: nombre, precio, qué servicios incluye y cuántas sesiones de cada uno.

  • list_services

    Lista 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_booking

    Permite 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_attendance

    Marca si el cliente asistió a la cita (true/false) o limpia (null).

  • redeem_loyalty_reward

    Canjea una recompensa: descuenta los puntos y genera un código para el cliente. Requiere aprobación del dueño.

  • remove_agenda_blockwrite action

    Libera 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 action

    Quita 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_gallery

    Reordena 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_event

    Mueve una cita a un nuevo horario. Si no se pasa `end`, mantiene la duración original.

  • restore_package_sessionwrite action

    Devuelve una sesión al bono (por ejemplo si se canceló la cita que la consumió).

  • run_toolwrite action

    Ejecuta cualquier herramienta de Denik por su nombre, esté o no en tu lista.

  • sell_package

    Registra 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 action

    Envía email de recordatorio manual al cliente de una cita.

  • set_service_branches

    Define 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_balance

    Registra 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_active

    Prende 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_program

    Prende 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_active

    Activa/desactiva un servicio. Si se pasa `isActive` lo fuerza; sin arg hace flip.

  • unarchive_service

    Restaura un servicio archivado.

  • unpublish_landing

    Despublica la landing (la quita del sitio público). Úsalo solo si algo salió mal; los cambios normales preservan el estado.

  • update_branchwrite action

    Edita los datos de una sucursal.

  • update_customerwrite action

    Actualiza 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 action

    Actualiza 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 action

    Edita 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 action

    REESCRIBE 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 action

    Edita un nivel del programa de lealtad.

  • update_loyalty_rewardwrite action

    Edita una recompensa (nombre, costo en puntos, si está activa).

  • update_orgwrite action

    Actualiza información del negocio. Whitelist: name, description, email, tel, address, timezone, logo, weekDays. weekDays usa keys en INGLÉS (monday..sunday).

  • update_packagewrite action

    Edita 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 action

    Actualiza 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 action

    Actualiza 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 action

    Prende o apaga avisos de un servicio. Sólo cambia lo que mandes: lo que omitas se queda como está.

  • update_service_paymentwrite action

    Define en qué momento paga el cliente. Opciones: `on_booking` (paga todo para poder reservar),

  • use_loyalty_code

    Marca 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

1 low
  • 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 listedmaint.no-repo
Overall 58/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.

All Denik alternatives →
  • Orla
    Personal, family and business books over fiat and crypto. Reads and records; it cannot pay.
    A
  • AurasPay Merchant MCP
    Review AurasPay merchant payments and prepare payment links with scoped OAuth and human approval.
    A
  • Churnkey
    Read and manage Churnkey cancel flows, retention metrics, and payment recovery
    A
  • POPCORN MCP
    Signed time and SHA-256 witness receipts for agents, with offline verification and x402 payment.
    B
  • Monapay
    MONA Pay for AI agents: create VietQR, check bank transfers, webhooks & HMAC. Vietnam bank API, VND
    B

More from denik.me