@denik.me/mcp 0.2.0 → 0.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.
Files changed (2) hide show
  1. package/dist/index.js +34 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -163,6 +163,40 @@ const tools = [
163
163
  },
164
164
  handler: async (args) => denikPost("events", { intent: "send_reminder", eventId: args.eventId }),
165
165
  },
166
+ // ==================== Landing (Phase 3) ====================
167
+ {
168
+ name: "get_landing",
169
+ description: "Devuelve las secciones actuales de la landing de la org (id, label, tipo, preview). Útil antes de editar.",
170
+ inputSchema: {
171
+ type: "object",
172
+ properties: {
173
+ includeHtml: {
174
+ type: "boolean",
175
+ description: "true para devolver HTML completo (muy verboso). Default false.",
176
+ },
177
+ },
178
+ },
179
+ handler: async (args) => denikGet("landing", { intent: "get", includeHtml: args.includeHtml }),
180
+ },
181
+ {
182
+ name: "update_landing_section",
183
+ description: "Modifica una sección de la landing con una instrucción en lenguaje natural (ej: 'hazla más formal', 'añade testimonios', 'aplica descuento NAVIDAD2026 en el CTA'). Preserva el estado de publicación actual: si la landing ya estaba live, los cambios quedan live; si era borrador, sigue como borrador.",
184
+ inputSchema: {
185
+ type: "object",
186
+ required: ["sectionId", "instruction"],
187
+ properties: {
188
+ sectionId: { type: "string" },
189
+ instruction: { type: "string" },
190
+ },
191
+ },
192
+ handler: async (args) => denikPost("landing", { intent: "update_section", ...args }),
193
+ },
194
+ {
195
+ name: "unpublish_landing",
196
+ description: "Despublica la landing (la quita del sitio público). Úsalo solo si algo salió mal; los cambios normales preservan el estado.",
197
+ inputSchema: { type: "object", properties: {} },
198
+ handler: async () => denikPost("landing", { intent: "unpublish" }),
199
+ },
166
200
  {
167
201
  name: "get_org_stats",
168
202
  description: "Estadísticas de la org en un rango custom (from/to ISO).",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@denik.me/mcp",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "Denik Agenda MCP stdio server — tools para operar una org desde un agente (p.ej. bot de WhatsApp).",
5
5
  "type": "module",
6
6
  "bin": {