Zoho Campaigns MCP
Provides tools for managing Zoho Campaigns, including contact lists, campaigns, tags, topics, workflows, bounced contacts, and unsubscriptions via the Zoho Campaigns API v1.1.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zoho Campaigns MCPshow bounced contacts from last campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zoho Campaigns MCP
Servidor MCP seguro para operar Zoho Campaigns API v1.1 desde Codex u otro cliente MCP.
Punto crítico: contactos devueltos
Zoho permite consultar contactos bounce por lista y consultar senthardbounce/sentsoftbounce por campaña, pero su documentación de producto indica expresamente que los contactos bounced no se pueden eliminar. No reciben campañas y no cuentan para el límite del plan. Este MCP respeta esa restricción y no inventa un endpoint de borrado que Zoho no publica.
Related MCP server: Mailchimp MCP Server
Funciones
OAuth 2.0 con refresh automático o access token temporal.
Centros de datos
.com,.eu,.in,.com.au,.jp,.cay.sa.Catálogo de listas, contactos, campañas, tags, topics y workflows.
Consulta agregada de bounced contacts en todas las listas.
Consulta de hard/soft bounces por campaña.
Desuscripción y Do-Not-Mail con confirmación explícita.
Llamada catalogada y request v1.1 avanzado para mantener cobertura de endpoints nuevos.
Confirmación literal para operaciones destructivas.
Los secretos nunca se devuelven mediante herramientas MCP.
Instalación
npm install
npm run check
Copy-Item .env.example .envComplete .env con un refresh token recomendado o un access token temporal. La configuración incluida en .codex/config.toml carga este archivo automáticamente al iniciar el MCP. El scope más simple para cobertura total es:
ZohoCampaigns.contact.ALL,ZohoCampaigns.campaign.ALL,ZohoCampaigns.workflow.READ,ZohoCampaigns.workflow.CREATEUse privilegio mínimo si solo necesita lectura:
ZohoCampaigns.contact.READ,ZohoCampaigns.campaign.READConfiguración en Codex
Compile y agregue el servidor por stdio:
npm run build
codex mcp add zoho-campaigns --env ZOHO_REGION=com --env ZOHO_CLIENT_ID=... --env ZOHO_CLIENT_SECRET=... --env ZOHO_REFRESH_TOKEN=... -- node C:\ruta\absoluta\zoho-campaigns-mcp\dist\index.jsTambién puede usar configuración de proyecto en .codex/config.toml:
[mcp_servers.zoho_campaigns]
command = "node"
args = ["--env-file=C:\\ruta\\absoluta\\zoho-campaigns-mcp\\.env", "C:\\ruta\\absoluta\\zoho-campaigns-mcp\\dist\\index.js"]
startup_timeout_sec = 20
tool_timeout_sec = 120
[mcp_servers.zoho_campaigns.tools.zoho_campaigns_raw_request]
approval_mode = "prompt"Ejecutar directamente desde GitHub con npx
El repositorio debe ser público y contener una versión/tag estable. No es necesario publicar el paquete en npm. Al iniciarse, npx descarga el código desde GitHub, ejecuta el script prepare y arranca el binario MCP por stdio.
{
"mcpServers": {
"zoho-campaigns": {
"command": "npx",
"args": ["-y", "github:Noche-Creativa/zoho-campaigns-mcp#v1.0.0"],
"env": {
"ZOHO_REGION": "com",
"ZOHO_CLIENT_ID": "TU_CLIENT_ID",
"ZOHO_CLIENT_SECRET": "TU_CLIENT_SECRET",
"ZOHO_REFRESH_TOKEN": "TU_REFRESH_TOKEN"
}
}
}
}Sin el sufijo #v1.0.0, npx usará la rama predeterminada y podría incorporar cambios no revisados. Para credenciales sensibles, utilice el almacén seguro o las variables de entorno que ofrezca su cliente MCP cuando sea posible.
Uso sugerido
zoho_campaigns_auth_statuszoho_campaigns_bounced_contact_policyzoho_campaigns_get_bounced_contactsPara una campaña concreta:
zoho_campaigns_get_campaign_bouncesAntes de cualquier mutación: solicitar confirmación al usuario.
Documentación oficial
Available Tools
11 toolszoho_campaigns_auth_statusB
Comprueba la configuración sin revelar secretos.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry the burden of behavioral transparency. It states that the tool checks configuration without revealing secrets, implying it is a safe, read-only operation. However, it does not describe what the return value is, whether it can fail, or if it requires any prior setup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence. It contains no wasted words and is appropriately front-loaded. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema, no annotations), the description might be minimally adequate. However, it lacks details about what 'configuration' means, what the expected output is, and how to interpret the result. More context would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so schema coverage is trivially 100%. The description adds no parameter information, but none is needed. The baseline for zero parameters is 4, as the description is not required to elaborate on nonexistent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Comprueba la configuración sin revelar secretos' (checks configuration without revealing secrets) clearly indicates a status verification tool. The name 'auth_status' further clarifies it checks authentication. It distinguishes from sibling tools which perform specific actions like bounced contacts or mailing list operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of typical use cases, prerequisites, or exclusions. The description is silent on context such as performing this check before other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_bounced_contact_policyA
Explica qué permite Zoho respecto de contactos devueltos.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 states the tool 'explains' something, implying it is a read-only retrieval with no side effects. However, it does not explicitly confirm safety or disclose any behavioral traits beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the tool's purpose with no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters or output schema, and the description does not specify the format or structure of the returned policy explanation. For a simple informational tool, this is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters and 100% coverage, so the description does not need to add parameter meaning. The description correctly avoids misleading parameter info. Score elevated due to zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the tool explains Zoho's policy on bounced contacts ('Explica qué permite Zoho respecto de contactos devueltos'). It distinguishes it from sibling tools, which are action-oriented (e.g., get_bounced_contacts, move_to_do_not_mail). However, the phrasing could be more explicit (e.g., 'Retrieve the Zoho Campaigns policy on bounced contacts').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided. Since the tool is purely informational, usage is implied for understanding policy before performing related actions, but alternatives are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_callC
Ejecuta cualquier operación catalogada con parámetros de Zoho. Las destructivas exigen confirmación literal.
| Name | Required | Description | Default |
|---|---|---|---|
| params | No | ||
| operation | Yes | ||
| confirmation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that destructive operations require literal confirmation, but fails to define 'literal confirmation' or mention other behaviors like return format, error handling, or auth requirements. With no annotations, more detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise (two sentences) but at the expense of completeness. It is well-structured for brevity, but earns a 3 due to being overly terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (generic executor with undocumented parameters), the description is grossly incomplete. It lacks any output schema, operation list, or usage examples, making it insufficient for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description adds no parameter semantics beyond a vague mention of 'Zoho parameters'. It does not explain the `operation` parameter values, `params` structure, or `confirmation` format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it executes any cataloged operation with Zoho parameters, distinguishing it from specific sibling tools. However, it does not clarify what 'cataloged' means or how it relates to the raw_request sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus the more specific sibling tools. The only usage hint is about destructive operations requiring confirmation, but no comparison to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_get_bounced_contactsC
Recorre listas y devuelve contactos bounced. No los elimina porque Zoho no lo permite.
| Name | Required | Description | Default |
|---|---|---|---|
| listkeys | No | ||
| max_contacts | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses that the tool is read-only (does not delete contacts). This adds some behavioral context, but lacks details on rate limits, authorization, or behavior with empty parameters, resulting in moderate transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two short sentences. However, the negative note about not deleting could be integrated into the behavior description, but overall it is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two parameters and no output schema, the description should cover both input and output. It partially explains input (listkeys) but omits explanation for max_contacts and does not describe the return format or pagination, leaving gaps for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should explain the parameters. It vaguely mentions scanning lists (implying listkeys) but does not define max_contacts or clarify the format and purpose of listkeys, leaving the agent to infer critical details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans lists and returns bounced contacts, with a specific verb and resource. It also distinguishes itself by noting it does not delete contacts, but it could be clearer in differentiating from sibling tools like get_campaign_bounces or get_list_contacts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus sibling tools. The description only notes that contacts are not deleted due to Zoho constraints, but fails to provide context for appropriate use cases or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_get_campaign_bouncesC
Obtiene hard o soft bounces de una campaña.
| Name | Required | Description | Default |
|---|---|---|---|
| bounce_type | Yes | ||
| campaignkey | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose any behavioral traits such as read-only status, rate limits, pagination, or error conditions. The description relies entirely on the action name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise. However, it could be slightly more informative without adding significant length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and minimal description, the tool is missing crucial context such as return format, pagination behavior, and prerequisites. It does not fully describe what the agent should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions coverage is 0%, and the description adds no extra meaning beyond the parameter names. It mentions 'hard o soft bounces' which aligns with the bounce_type enum, but does not explain campaignkey or provide format details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves hard or soft bounces for a campaign. It uses a specific verb and resource, but does not explicitly distinguish it from the sibling tool 'get_bounced_contacts' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, prerequisites, or when not to use it. The description lacks any contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_get_list_contactsC
Obtiene contactos de una lista por estado, incluido bounce.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | asc | |
| range | No | ||
| status | No | active | |
| listkey | Yes | ||
| fromindex | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behaviors. It states the basic operation but omits critical traits like pagination (fromindex, range), sorting (sort), or that it is read-only. The 'bounce' mention is helpful but insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short (one sentence). While concise, it lacks structure and does not front-load key details such as required parameter or pagination behavior. It could be more informative without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters, no output schema, and no annotations, the description fails to provide a complete picture. It does not explain default values, pagination mechanics, or the significance of different statuses beyond 'bounce'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds minimal value beyond the schema. It implies filtering by status, but does not explain the purpose of sort, range, fromindex, or the default status meanings. Parameters remain underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves contacts from a list filtered by status, including bounce. This distinguishes it from sibling tools like get_bounced_contacts or get_campaign_bounces, which are more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., get_bounced_contacts or get_mailing_lists). The description does not mention appropriate contexts or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_get_mailing_listsC
Obtiene mailing lists con paginación de Zoho.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | asc | |
| range | No | ||
| fromindex | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions pagination but does not explain pagination mechanics (offset/limit), read-only nature, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise (one line) and front-loaded, but underspecified; could be expanded with key details without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 3 parameters and no output schema, description is severely incomplete; missing pagination behavior, return structure, and edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; description adds no meaning to parameters (sort, range, fromindex) beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'gets mailing lists' with pagination, but does not distinguish from sibling tools like get_list_contacts or get_campaign_bounces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives; lacks usage context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_list_operationsC
Lista el catálogo de operaciones incluidas, sus scopes y documentación.
| Name | Required | Description | Default |
|---|---|---|---|
| group | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose any behavioral traits like authentication needs, read-only nature, rate limits, or side effects beyond listing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, but lacks structural formatting. Very concise, though in Spanish which may reduce clarity for English-speaking agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return format. For a tool listing operations, important details about output structure or documentation are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'group' parameter at all. It adds no meaning beyond the enum values in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it lists a catalog of operations with scopes and documentation, clearly indicating the verb and resource. It distinguishes from sibling tools which are specific operations, but the term 'operations' is slightly vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_move_to_do_not_mailB
Mueve un contacto a Do-Not-Mail; exige confirmación.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| confirmation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds that confirmation is required, which is important but already evident from the schema's required field and const. No disclosure of side effects, reversibility, or permissions needed. Given no annotations, more detail would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise, single sentence. Front-loaded with action and requirement. No extraneous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool, the description covers the core action and a key requirement, but lacks contextual details like prerequisites, results, or error conditions. Acceptable but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and description adds no individual parameter explanations beyond noting confirmation. The email and confirmation parameters are only defined by their types and constraints in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool moves a contact to Do-Not-Mail and explicitly notes a confirmation requirement. This distinguishes it from sibling tools like 'unsubscribe_contact'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'unsubscribe_contact'. No exclusion criteria or contextual hints provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_raw_requestC
Cobertura avanzada para endpoints oficiales v1.1 aún no catalogados. Solo permite rutas relativas de Zoho Campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| method | Yes | ||
| params | No | ||
| destructive | No | ||
| confirmation | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only mentions relative paths, but fails to disclose destructiveness, authentication needs, rate limits, or the role of the 'destructive' and 'confirmation' parameters. This is insufficient for a raw request tool that could be dangerous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short (two sentences) but one is in Spanish, which may limit readability. It is concise but could be restructured to front-load key information like 'Make custom API calls to any Zoho Campaigns v1.1 endpoint'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a raw request tool (5 parameters, no output schema, no annotations), the description is incomplete. It lacks details on how to construct requests, expected responses, error handling, and safety considerations, leaving significant gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to parameters like 'method', 'path', 'params', 'destructive', or 'confirmation'. The schema itself lacks property descriptions, leaving the agent with no guidance on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it is for advanced coverage of official v1.1 endpoints not yet cataloged, indicating a raw request capability. The verb 'cobertura' (coverage) and 'rutas relativas' clarify the scope, but it remains generic and doesn't specify exact actions, distinguishing it from specialized sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for uncataloged endpoints, suggesting a fallback when no dedicated tool exists. However, it lacks explicit guidance on when to use versus siblings, no when-not-to-use, and no mention of prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zoho_campaigns_unsubscribe_contactC
Desuscribe un contacto de una lista/topic.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| listkey | Yes | ||
| topic_id | No | ||
| confirmation | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavior. It only says 'unsubscribe' without explaining the effect (e.g., permanent?), required permissions, or the need to pass a specific confirmation constant. For a mutation tool, this is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but is in Spanish, which may hinder an AI agent expecting English. No fluff, but overly sparse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description is insufficient. It omits details like required permissions, confirmation handling, and response format, leaving critical gaps for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no meaning to parameters. It does not explain what listkey, topic_id, or confirmation represent, nor that confirmation must be the exact const value 'CONFIRMAR_CAMBIO_DE_SUSCRIPCION'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (unsubscribe), the resource (contact), and the target (list/topic). It directly distinguishes from sibling tools which deal with auth, bounced contacts, mailing lists, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No context about prerequisites or conditions for unsubscribing, and no mention of alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
11 tool updates
v1.0.0- First observed
zoho_campaigns_auth_status - First observed
zoho_campaigns_bounced_contact_policy - First observed
zoho_campaigns_call - First observed
zoho_campaigns_get_bounced_contacts - First observed
zoho_campaigns_get_campaign_bounces - First observed
zoho_campaigns_get_list_contacts - First observed
zoho_campaigns_get_mailing_lists - First observed
zoho_campaigns_list_operations - First observed
zoho_campaigns_move_to_do_not_mail - First observed
zoho_campaigns_raw_request - First observed
zoho_campaigns_unsubscribe_contact
TDQS
Each tool has a clearly distinct purpose: auth status, policy explanations, generic operation call, bounced contact retrieval, campaign bounces, list contacts, mailing lists, catalog listing, move to do-not-mail, raw request, and unsubscribe. No overlaps.
All tools follow the consistent pattern 'zoho_campaigns_<verb_noun>', e.g., get_bounced_contacts, unsubscribe_contact. Even 'call' and 'raw_request' fit the pattern with clear verbs.
11 tools are appropriate for the Zoho Campaigns domain, covering core workflows without being overwhelming.
The set covers contacts, lists, bounces, and unsubscribes well, but lacks dedicated tools for campaign creation, sending, or analytics, leaving notable gaps that require the generic 'call' tool to fill.
Maintenance
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
Manage contacts, campaigns, senders, and deliverability via SuperSend API
- SendinelOAuthai.sendinel
AI-controlled email ops for campaigns, contacts, segments, analytics, and sending.
Read audiences, members, campaigns and reports; add, update, tag and archive subscribers.
List and create Keap contacts, companies, tasks, opportunities, orders, tags and campaigns.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables management of email campaigns, subscribers, lists, segments, journeys, templates, transactional email, and client/account settings through the Campaign Monitor API via natural language.1001-
- FlicenseNot gradedqualityDmaintenanceEnables interaction with the Mailchimp API for managing campaigns, lists, templates, reports, and automations through natural language.3-
- AlicenseNot gradedqualityCmaintenanceManage Mailchimp audiences, campaigns, and members via the Mailchimp Marketing API through natural language queries.12MIT

Mailjet MCP Serverofficial
AlicenseNot gradedqualityAmaintenanceEnables AI agents to interact with Mailjet's contact, campaign, segmentation, statistics, and workflow APIs for managing email marketing operations through natural language.19211Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Noche-Creativa/zoho-campaigns-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server