Denik MCP server
me.denik/denik·v0.1.2Book appointments, check availability, list services and create payment links for a Denik business.
299 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, 30 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_serviceArchiva 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 (Mercado Pago o Clip, la pasarela que tenga el negocio) 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
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_customerBusca 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_customerDevuelve 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 del BORRADOR de la landing (id, label, tipo, preview). Útil antes de editar. La página pública sólo cambia cuando el dueño publica.
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_orgDevuelve 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_sessionDevuelve 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. Edita el BORRADOR: la página pública no cambia hasta que el dueño publique.
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.10 · 2026-10-14 · same rubric, same numbers if you re-run it
- Code scan19 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
How Denik compares
Against every graded Finance MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 58/100
- higher than 16% of 1,761 Finance servers
- Tools
- 80
- the typical Finance server has 8
- Tools that change things
- 38%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 299
- more than 84% of 421 Finance servers with a package
What its tools let an agent do: 40 read · 11 create · 19 change · 8 delete · 1 send or post · 1 run or deploy
Release history: 2 versions in the registry since 2026-09-19, latest 2026-10-07, typically one every 18 days.
Install Denik in Claude Code, Cursor or VS Code
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, Cursor, VS Code or Claude Desktop 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.2.
- What can I use instead of Denik?
- Servers from other publishers that do the same job: Yolfi Payments MCP server, Fortrip MCP server and Clip MCP server.
- How does Denik compare with other Finance MCP servers?
- safety score 58/100 (higher than 16% of 1,761 Finance servers); tools 80 (the typical Finance server has 8); tools that change things 38% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Denik
Same job from other publishers: the closest match first, then the best rated.
- Yolfi Payments MCPLet AI agents add Yolfi crypto checkout, paylinks, webhooks, and status checks.not reviewedEstablishedA
- FortripSearch hotels worldwide, compare live room rates, and create booking payment links.not reviewedGrowingA
- ClipMCP server for Clip (PayClip) — Mexico's leading acquirer: payment links, card charges, refundsnot reviewedGrowingB
- Pulsefeed X402Verify x402 payment endpoints before an AI agent pays: scam scan, on-chain checks, trust scores.not reviewedGrowingA
- three.ws Agent PaymentsGoverned x402 payment sessions: pay any endpoint with budget, allowlist & per-tx caps, no key.not reviewedEstablishedB