Skip to main content
Glama

Mcp-Wacta — opera la suite WaCta con cualquier IA

Servidor MCP (Model Context Protocol) que permite a Claude, Codex, Cursor o cualquier cliente MCP leer y cambiar la configuración de la suite WaCta de WordPress, gestionar el Registro Único de CTAs y consultar la analítica de WhatsApp — en remoto y con credenciales revocables.

  • Cero dependencias: un solo archivo (server.mjs), Node ≥ 18, sin npm install.

  • Instalable en un comando: npx -y mcp-wacta desde npm, plugin de Claude Code (servidor + skill juntos) o paquete de un clic para Claude Desktop.

  • Protocolo estándar: transporte stdio de MCP (JSON-RPC 2.0) con tolerancia a clientes que piden prompts/resources.

  • Seguridad de serie: Application Passwords de WordPress, manage_options en cada endpoint, y cada escritura pasa por los mismos sanitizadores que el panel de la suite.

  • Skill incluida: skills/wacta/SKILL.md con las recetas y reglas para que el agente lo use bien desde el primer minuto.

┌──────────┐   stdio (MCP)   ┌────────────┐   HTTPS + App Password   ┌───────────────────┐
│ IA/agente│ ◄─────────────► │ mcp-wacta  │ ◄──────────────────────► │ WordPress + WaCta  │
│ (Claude, │                 │ (npx/plugin│      /wp-json/…/admin/*  │ core·Studio·waux·CRM│
│  Codex…) │                 │  /desktop) │                          └───────────────────┘
└──────────┘                 └────────────┘

Requisitos

  1. WordPress con la suite WaCta ≥ 0.8 (el core expone wacta/v1/admin/*).

  2. Application Password de un usuario administrador: wp-admin → Usuarios → Perfil → Contraseñas de aplicación. Requiere HTTPS (en local sin SSL: define( 'WP_ENVIRONMENT_TYPE', 'local' ); en wp-config.php).

  3. Node.js ≥ 18 en la máquina del cliente MCP.

Related MCP server: wp-mcp-control-server

Credenciales (3 variables, iguales en todos los clientes)

Variable

Ejemplo

WACTA_SITE_URL

https://misitio.com

WACTA_USER

admin

WACTA_APP_PASSWORD

xxxx xxxx xxxx xxxx xxxx xxxx

Instalación

Claude Desktop — un clic

Descarga mcp-wacta.mcpb desde Releases, ábrelo con doble clic e introduce los 3 datos cuando Claude Desktop los pida — la contraseña se guarda en el llavero del sistema, nunca en un archivo.

Claude Code — plugin (servidor + skill juntos)

/plugin marketplace add Kanzando/Mcp-Wacta
/plugin install wacta@kanzando

Exporta las 3 variables de entorno en tu sistema y listo: el plugin instala el servidor y la skill de una vez. Alternativa sin plugin:

claude mcp add wacta -e WACTA_SITE_URL=https://misitio.com -e WACTA_USER=admin -e "WACTA_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx" -- npx -y mcp-wacta

Codex CLI

En ~/.codex/config.toml:

[mcp_servers.wacta]
command = "npx"
args = ["-y", "mcp-wacta"]

[mcp_servers.wacta.env]
WACTA_SITE_URL = "https://misitio.com"
WACTA_USER = "admin"
WACTA_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"

Cursor / VS Code / Windsurf / Gemini CLI / genérico

El bloque universal es siempre el mismo — command: "npx", args: ["-y", "mcp-wacta"] y las 3 variables en env. Guía por cliente: docs/clients.md · plantillas copiables: examples/.

¿Sin acceso a npm? Clona el repo y usa node /ruta/a/Mcp-Wacta/server.mjs como comando — todo lo demás es idéntico.

Herramientas

Herramienta

Qué hace

wacta_status

Versión del core, complementos activos, CTAs registrados y tope del plan.

wacta_get_settings

Configuración completa de core / studio / analytics / crm.

wacta_update_settings

Cambia ajustes (semántica PATCH) con los sanitizadores del panel.

wacta_list_ctas

CTAs del Registro Único con su tope.

wacta_save_cta

Crea/actualiza un CTA por slug (adopción por selector, mensaje, captura…).

wacta_delete_cta

Elimina un CTA por slug.

wacta_analytics_dashboard

Panel de Analytics en JSON — con cta_totals (CTAs globales) y source_conversion (qué fuente convierte).

wacta_analytics_ctas

Inventario de CTAs observados con contadores por página.

wacta_studio_numbers

Catálogo de números de WhatsApp de CTA Studio.

Referencia completa con argumentos y ejemplos: docs/tools.md.

La skill (la otra mitad de la lógica MCP + skill)

El MCP da las herramientas; la skill enseña al agente a usarlas bien: leer antes de escribir (wacta_status primero), cambios PATCH mínimos, verificación contra la respuesta saneada, confirmación humana para interruptores con impacto público y el slug como identidad intocable — más las recetas de los casos comunes.

  • Claude Code: el plugin la instala automáticamente; también funciona sola al trabajar dentro de este repo, o cópiala a ~/.claude/skills/wacta/ para tenerla en cualquier proyecto.

  • Codex y agentes que leen AGENTS.md: AGENTS.md contiene la misma doctrina en su convención.

  • Claude Desktop: el .mcpb incluye la carpeta skills/ para consulta, y las descripciones de las herramientas ya llevan lo esencial.

Ejemplos de peticiones a la IA

  • «Activa el widget de WaCta con el número 5215512345678 y el mensaje "Hola, quiero información".»

  • «Crea un CTA promo-navidad que adopte los botones .btn-wa con captura activada.»

  • «¿Qué campaña generó más leads este mes?»

  • «Apaga el modo gobernado de botones externos de Studio.»

Desarrollo

node test/smoke.mjs                      # handshake MCP + inventario, sin credenciales
npx -y @anthropic-ai/mcpb pack           # construir el paquete de Claude Desktop (.mcpb)

Solución de problemas (401, contraseñas de aplicación en local, rest_no_route): docs/troubleshooting.md.

Seguridad

  • Nada es público: cada endpoint exige manage_options; sin credenciales la API responde 401.

  • El Application Password se revoca desde el perfil sin cambiar la contraseña real.

  • Los ajustes con secretos (tokens de Meta del CRM, licencia MaxMind) no están expuestos por estas rutas.

  • Este repo y el paquete npm no almacenan credenciales jamás; en Claude Desktop van al llavero del sistema.

Licencia

MIT © KanZansio.Digital

Available Tools

9 tools
wacta_analytics_ctasA

Inventario completo de CTAs observados por Analytics (catálogo con contadores agregados por página).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility. It discloses that the output is a catalog with counters aggregated per page, indicating a read-only query. However, it does not specify return format or the exact metrics counted, which would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the purpose and includes essential detail without extraneous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool without an output schema, the description adequately conveys what will be returned. A minor gap is the lack of explicit statement about which metrics the counters represent, but overall it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters, the baseline is 4. The description adds value by clarifying that the tool returns an inventory with per-page aggregated counters, which is sufficient for a parameterless tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a complete inventory of CTAs observed by Analytics, with aggregated counters per page. It distinguishes itself from siblings like wacta_list_ctas by focusing on Analytics-observed CTAs, but it lacks an explicit verb such as 'list' or 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance or mention of alternatives. The wording implies it is the right tool for fetching an analytics-derived CTA inventory, but it does not state exclusions or compare with similar tools like wacta_list_ctas.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_analytics_dashboardA

Panel de Analytics & UX en JSON: totales, visitantes, páginas, CTAs por página, CTAs globales por slug (cta_totals), atribución por fuente sobre conversiones (source_conversion), tendencia diaria y consentimiento.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoRango en días (7, 30 o 90).

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the response format (JSON) and the specific data sections returned, which accurately conveys the tool's observable behavior. It does not address permissions or side effects, but the read-only nature is clear from the 'dashboard' framing and content.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single but impactful sentence that front-loads the core identity and then lists all response components. It is dense but every segment adds value, and the use of enumerations helps readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description provides a substantial inventory of the response components, making it easy to understand what the dashboard returns. While it lacks detailed definitions of each component, the names are self-explanatory and the context is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'days' has 100% schema coverage with an enum (7, 30, 90) and a clear description. The tool description does not add any extra parameter context, but the schema already fully documents it, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an Analytics & UX panel in JSON and enumerates its contents (totals, visitors, pages, CTAs, etc.). It implicitly distinguishes from sibling wacta_analytics_ctas by being a broader dashboard, though the differentiation is not explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving an analytics overview, but it provides no explicit when-to-use guidance or alternatives. It does not mention exclusions or compare against wacta_analytics_ctas, leaving the agent to infer the scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_delete_ctaA

Elimina un CTA del Registro Único por su slug.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only states that the tool deletes a CTA, but does not disclose whether the deletion is permanent, whether it cascades to related data, or any other side effects. For a destructive operation, this lacks essential behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero fluff. It states exactly what the tool does and the input parameter in an efficient manner.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one parameter, no output schema), so the description could be complete with the basic action. However, it lacks any mention of return values, error behavior, or permanence of deletion, which are relevant for a delete operation. The description is adequate but leaves important gaps for a fully informed agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only defines 'slug' as a string with no description (coverage 0%). The description's 'por su slug' explicitly indicates that the slug parameter is the identifier used for deletion, adding meaning beyond the raw schema. For a single simple parameter, this is sufficient for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Elimina' = deletes) and the resource ('CTA del Registro Único') with the method ('por su slug'). It distinguishes itself from sibling tools like wacta_save_cta (create/update) and wacta_list_ctas (list).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the tool name and description: use when deleting a CTA by slug. However, there is no explicit guidance about when not to use it, prerequisites, or alternatives. The context is clear from the sibling tools but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_get_settingsA

Lee la configuración completa de un plugin de la suite (core, studio, analytics o crm). Devuelve el mismo array saneado que ve el panel.

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginYesPlugin a leer.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns the 'mismo array saneado' (same sanitized array) visible in the panel, which gives insight into the output and sanitization behavior. However, it does not explicitly state that it has no side effects, mention permissions, or describe error behavior (e.g., invalid plugin). This is adequate but leaves some gaps for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, direct, and front-loaded with the verb and resource. Every word earns its place, including the plugin enumeration and the note about the sanitized array. There is no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description sufficiently explains the purpose and return behavior (same sanitized array as the panel). It lacks explicit caveats like read-only guarantee or prerequisites, but given the tool's simplicity, the provided information is nearly complete. A perfect score would require mention of error cases or permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'plugin' having an enum and description 'Plugin a leer.' The description repeats the enum values but adds no additional meaning beyond what the schema already provides. It does not clarify default values, behavior on missing plugin, or format details, so it meets the baseline for complete schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Lee' (reads) and the resource 'configuración completa de un plugin' (complete configuration of a plugin), enumerating the specific plugin options (core, studio, analytics, crm). This distinguishes it from sibling tools like wacta_update_settings or wacta_list_ctas by clearly indicating a read operation on settings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context that this tool is for reading the complete configuration of a plugin, with no exclusions. It does not explicitly mention alternatives or when not to use it, but the sibling names and the verb 'Lee' imply it is the read counterpart to update tools. This meets the 'clear context, no exclusions' level.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_list_ctasA

Lista los CTAs del Registro Único (generador de Studio y adopciones por selector) con el tope del plan. La identidad de cada CTA es su slug.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of behavioral disclosure. It implies a read-only list operation and adds value by mentioning the plan cap and slug identity, but it does not explicitly state that it has no side effects or describe return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences that convey the tool's purpose, scope, and relevant details without fluff. It is front-loaded with the verb 'Lista' and provides necessary qualifications in a compact form.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with no parameters, output schema, or annotations. The description covers what it lists, the source, plan cap, and identity, but it could mention the return format or whether full objects are returned. Overall, it is reasonably complete for a list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the schema is empty. The baseline for 0 parameters is 4, and the description correctly avoids unnecessary parameter explanations. No additional semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists CTAs from the 'Registro Único' with the plan cap and specifies that each CTA's identity is its slug. This distinguishes it from sibling tools like wacta_save_cta and wacta_delete_cta, which perform different actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for listing CTAs, but it does not explicitly state when to use it over alternatives or provide exclusions. The context of the listing and plan cap is clear, but there is no direct guidance on selecting this tool versus others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_save_ctaA

Crea o actualiza un CTA del Registro Único por su slug. Campos del core: slug (obligatorio), label, message, selector (adopta botones existentes por CSS), capture (pedir datos antes de abrir WhatsApp), track, active. Con CTA Studio activo admite además los campos visuales (kind=studio: text, preset, size, color, number, agent…).

ParametersJSON Schema
NameRequiredDescriptionDefault
ctaYesFila del CTA; requiere slug.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It does reveal field behaviors (e.g., 'selector (adopta botones existentes por CSS)' and 'capture (pedir datos antes de abrir WhatsApp)') but does not mention auth requirements, rate limits, whether the update is a merge or full replacement, or any side effects. This is partially transparent but leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single but well-structured sentence that first states the action, then lists core fields, and ends with conditional visual fields. It is dense yet efficient, with every phrase contributing value, though the long parentheticals could slightly reduce readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a nested object parameter and no output schema, so the description should ideally explain return values or error behavior. It covers the input fields and conditional behavior, but it omits any info about what happens after the save (e.g., response structure, confirmation, or update semantics), leaving the agent to infer these aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only describes the parameter as 'Fila del CTA; requiere slug.' The description adds substantial meaning by enumerating core fields (slug, label, message, selector, capture, track, active) and visual fields with CTA Studio, giving the agent a clear understanding of accepted properties beyond the minimal schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Crea o actualiza un CTA del Registro Único por su slug' which is a specific verb (create/update) and resource (CTA), clearly distinguishing this from sibling tools like list, delete, and analytics. It uniquely performs an upsert operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides clear context by stating the operation is performed 'por su slug' and mentions a conditional usage scenario ('Con CTA Studio activo admite...'), which signals when extended fields are available. However, it does not explicitly state when to prefer it over alternatives or including exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_statusA

Radiografía de la suite WaCta: versión del core, qué complementos están activos (Analytics, CRM, Studio, MP), cuántos CTAs hay registrados y el tope del plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The word 'Radiografía' suggests a non-invasive, read-only diagnostic, and the listed contents imply a query operation. However, it does not explicitly state that it performs no modifications, nor does it mention response format, caching, or permissions. For a low-risk status tool, this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the tool's purpose and then enumerates the specific data points included. Every element earns its place, and there is no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (zero parameters, no nested objects) and absence of an output schema, the description provides a solid overview of expected return values: core version, active add-ons, CTA count, and plan cap. It could be more explicit about the exact response format (e.g., JSON structure), but for a status diagnostic the listed fields suffice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters and 100% schema description coverage, so there is no parameter detail to add. The rule sets a baseline of 4 for zero-parameter tools, and the description appropriately focuses on what the response contains rather than parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an overview ('Radiografía') of the WaCta suite, listing specific contents: core version, active add-ons, CTA count, and plan cap. This distinguishes it from sibling tools like wacta_get_settings (which likely retrieves config settings) and wacta_analytics_dashboard (which focuses on analytics metrics), though the verb is metaphorical rather than an explicit action like 'get' or 'list'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance is provided on when to use this tool versus alternatives. The description implies it is for a high-level status check, but it does not mention exclusions or directly compare to siblings. For example, it doesn't clarify when to prefer wacta_wacta_status over wacta_analytics_ctas for CTA-related information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_studio_numbersB

Catálogo de números de WhatsApp de CTA Studio (slug, etiqueta, activo, reparto).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the content but not the behavior—no mention of whether it is read-only, whether it returns all items or only active ones, or any pagination or side effects. The word 'Catálogo' implies a safe read operation, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that immediately conveys the resource and its key fields. It is front-loaded with the most important information and contains no unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, no-parameter catalog tool, the description provides the core field names, which helps an agent anticipate the response. However, it does not explicitly state that the tool returns a list, nor does it give any context about filtering or scope. Without an output schema, the description should be more explicit about return behavior, making it adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema coverage is trivially 100% and there is no input to describe. The description's mention of fields (slug, etiqueta, activo, reparto) gives useful hints about the expected output, even though it does not directly explain parameters. Baseline 4 for 0-parameter tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource as a catalog of WhatsApp numbers for CTA Studio and lists key fields (slug, etiqueta, activo, reparto). It distinguishes from sibling tools like wacta_list_ctas by focusing on numbers rather than CTAs. However, it lacks an explicit verb (e.g., 'returns' or 'lists'), relying on the noun 'Catálogo' to imply the action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as wacta_status or wacta_list_ctas. There is no mention of filters, context, or scenarios where this catalog would be preferred. This is a clear gap in usability guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wacta_update_settingsA

Cambia ajustes de un plugin de la suite (semántica PATCH: sólo las claves enviadas). Cada cambio pasa por el MISMO sanitizador que el formulario del panel. Ejemplos de claves — core: activated, defaultMessage, dialCode, localNumber, wingetType, ctaPopupEnabled; studio: defaultTemplate, rotationEnabled, externalMode, numbers; analytics: enabled, tracking_enabled, consent_enabled; crm: auto_capture, notify_on_new_lead, frontend_enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginYes
changesYesObjeto con las claves a cambiar y sus nuevos valores.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Sin anotaciones, la descripción asume el peso de la transparencia. Declara que cada cambio pasa por el mismo sanitizador que el formulario del panel, lo que implica validación y normalización, y detalla la semántica PATCH (solo se actualizan las claves enviadas). Esto añade información comportamental valiosa, aunque no cubre permisos o reversibilidad.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

La descripción es un párrafo único con la acción principal al inicio, seguida de detalles de comportamiento y ejemplos. Los ejemplos son extensos pero necesarios para orientar el uso correcto; no hay redundancia ni palabras vacías. La estructura con separadores por plugin es clara y legible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Para una herramienta con anotaciones ausentes y sin esquema de salida, la descripción proporciona contexto sustancial (semántica, sanitización, claves válidas). Sin embargo, no detalla qué devuelve la herramienta (por ejemplo, confirmación o errores) ni menciona condiciones de error o permisos necesarios, lo que deja vacíos importantes para una invocación completamente informada.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

El esquema tiene una cobertura de descripción del 50% (solo 'changes' tiene descripción genérica). La descripción compensa enumerando ejemplos de claves válidas para cada valor de 'plugin', dando contexto semántico a los posibles valores del objeto 'changes'. Esto va más allá del esquema, que solo define additionalProperties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

La descripción especifica claramente el verbo 'Cambia' y el recurso 'ajustes de un plugin de la suite', lo que establece una acción concreta sobre un recurso específico. Se distingue de herramientas hermanas como wacta_get_settings (lectura) y wacta_save_cta (guardar CTA), ya que esta es la única que actualiza ajustes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

La descripción indica explícitamente la semántica PATCH (solo las claves enviadas), lo que define cuándo usarlo: para cambios parciales. Proporciona ejemplos de claves por plugin, lo que orienta sobre qué parámetros usar. No menciona excepciones o alternativas directamente, pero el contexto es claro y suficiente para decidir su uso.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct resource/action: suite status, settings read/write, CTA CRUD (list/upsert/delete), analytics dashboard vs. CTA inventory, and studio numbers. The two analytics tools are clearly separated by purpose.

Naming Consistency4/5

All tools share the wacta_ prefix, but the suffix mixes verb_noun patterns (get_settings, list_ctas) with noun phrases (status, analytics_dashboard, studio_numbers). This is a minor deviation from a purely verb-driven convention.

Tool Count5/5

Nine tools is well-scoped for a suite management server, covering configuration, CTA lifecycle, analytics, and numbers without unnecessary bloat or skimping.

Completeness4/5

The surface covers suite status, settings management, CTA create/update/delete/list, and analytics reporting. A minor gap is the lack of a dedicated 'get single CTA' endpoint, but list_ctas plus save_cta's upsert behavior mitigate this.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A self-hosted MCP server that connects AI clients to WhatsApp via the WAHA HTTP API. It enables users to manage sessions, search contacts, and send or receive messages and media directly through natural language interfaces.
    21
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for WordPress content management that provides a secure interface for AI assistants to interact with WordPress sites, enabling content creation, editing, and media management without destructive operations.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that bridges AI assistants to WordPress, enabling natural-language management of posts, pages, media, comments, users, plugins, and settings across multiple sites simultaneously.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kanzando/Mcp-Wacta'

If you have feedback or need assistance with the MCP directory API, please join our Discord server