Zoho Mail MCP Tools
In any MCP, Tools are the foundation blocks, which allow the AI model to execute actions using a connected server, without just reading data. The MCP server presents the different details of the tools to the AI Agent that gets connected to it. Based on these definitions, when the AI needs to perform an action, it interprets the actions needed and uses the tools.
As a part of configuration, you will be requested to select the tools, based on the actions you plan to perform with the AI Agent of your choice, The tables given below list the various actions that can be performed by the users/administrators, along with the corresponding tools that need to be added in the MCP configuration.
Note
To enhance the capabilities of your Zoho Mail MCP server, you can add additional tools as needed. To add tools, connect to the server and refer to this section for instructions.
Use the Zoho Mail MCP Tool Finder to quickly discover tools based on your operation or use case.
User Actions
Common Tools (Required for all actions)
- getMailAccounts - Identifies the account and retrieves the account ID.
- getAccountDetails - Retrieves the account details using the account ID and finds whether the account is active.
| Actions | Tools | Tool description |
| Send emails | sendEmail * | Sends email to the recipients with subject and email body. |
| Reply to email | sendReplyMail * | Sends a reply to the email thread. |
| getMessageContent * | Retrieves the body content of the email. | |
| listEmails * | Lists emails to help identify them and use for further actions. | |
| Search emails | SearchEmails * | Searches emails and retrieves the ones that match the specified criteria. |
| getMessageContent * | Retrieves the body content of the email. | |
| getMessageAttachmentInfo | Retrieves the attached file information such as file type, size, inline or not. | |
| Move emails | moveMessages * | Moves emails to a different folder. |
| getAllFolders * | Gets the list of all folders in the mailbox. | |
| listEmails * | Lists emails to help identify them and use for further actions. | |
| Delete emails | deleteEmail * | Deletes the specific email. |
| getAllFolders * | Gets the list of all folders in the mailbox. | |
| listEmails * | Lists emails to help identify them and use for further actions. | |
| Label and flag emails | applyLabelToMessages * | Adds the label to the specified email or email thread. |
| flagMessages | Flag the emails as Important, follow-up or info. | |
| getAllFolders * | Gets the list of all folders in the mailbox. | |
| listEmails * | Lists emails to help identify them and use for further actions. | |
| removeLabelFromMessage | Remove specific applied label from the email. | |
| Archive emails | archiveMessage * | Archive emails without deleting them. |
| listEmails * | Lists emails to help identify them and use for further actions. | |
| unarchiveMessage | Unarchive the archived emails back to their folder. | |
| Manage folders | getAllFolders * | Gets the list of all folders in the mailbox. |
| getFolder * | Gets the specified folder details. | |
| createFolder * | Creates a new folder in the specified location. | |
| renameFolder | Renames the folder with the new name. | |
| moveFolder | Moves the folder to the mentioned location. | |
| deleteFolder | Deletes the folder and moves it to the bin. | |
| Set Vacation reply | addVacationReply * | Creates a vacation or auto-reply email. |
| updateVacationReply | Updates an existing vacation reply email or its settings. | |
| deleteVacationReply | Deletes an existing vacation reply email. | |
| Setup email forwarding | addMailForward * | Adds a new email forwarding address. |
| verifyMailForward * | Sends verification email to the added email forwarding address. | |
| enableMailForward * | Enables email forwarding option to the added address. | |
| disableMailForward | Disable the email forwarding option. | |
| deleteMailForward | Deletes the email forwarding address. | |
| deleteZohoMailCopy | Deletes the option of keeping a copy of forwarded messages in Zoho mailbox. | |
| resendMailForwardVerificationMail | Resends the verification emails for the forwarding address. | |
| Create and manage tasks | listPersonalTasks * | Lists all the personal tasks. |
| addPersonalTask * | Creates a new personal task. | |
| addGroupTask * | Creates a new group task. | |
| editPersonalTask | Updates the created personal task. | |
| deletePersonalTask | Deletes the personal task. | |
| getSubtasksForPersonalTask | Retrieves all the sub tasks of a specific personal task. | |
| editGroupTask | Edits the group task details. | |
| deleteGroupTask | Deletes the specific group task. | |
| getSubtasksForGroupTask | Fetches the sub tasks of a group task. | |
| addCategoriesInPersonalTasks | Creates new categories under Personal tasks. | |
| getCategoriesInPersonalTasks | Lists all categories available under Personal tasks. |
Admin Actions
Note:
Admin tasks can only be performed by users with administrative privileges within Zoho Mail organization. Ensure that the required permissions and access are granted, else, some tools may be unavailable to perform tasks.
Common Tools (Required for all actions)
- getOrgDetails - Fetches the organization ID and confirms the subscription to proceed with other actions.
- fetchOrgUsersDetails - Lists all the users of the organization and gets their account IDs for further actions.
| Actions | Tools | Functionality |
| Add new user | getOrgSubscription * | Checks for the subscription plan and storage details of the organization. |
| addUser * | Adds the new user account to the organization. | |
| getAccountDetails * | Retrieves the account details using the account ID and finds whether the account is active. | |
| Modify existing user | fetchParticularUser * | Retrieves complete details of the particular user. |
| getAccountDetails * | Retrieves the account details using the account ID and finds whether the account is active. | |
| addEmailAlias * | Adds an email alias name to the particular user. | |
| deleteEmailAlias | Deletes the email alias name of the particular user. | |
| changeUserRole * | Update the specific user role to either as an admin or a user. | |
| updateBaseStorage | Updates the base storage value for the specific user. | |
| updateExtraStorage | Updates the additional storage details on top of the base storage for the specific user. | |
| resetUserPassword * | Resets the particular user's login password. | |
| Disable or delete user | fetchParticularUser * | Retrieves complete details of the particular user. |
| getAccountDetails * | Retrieves the account details using the account ID and finds whether the account is active. | |
| disableUser * | Disables the particular user account, which can be enabled later. | |
| enableUser | Enables the previously disabled user account. | |
| deleteUser | Deletes the user account, thereby deleting the mailbox permanently. | |
| Create and manage groups | fetchAllGroups * | Retrieves the list of all groups within the organization. |
| createGroup * | Create a new email group within the organization. | |
| addMailGroupMember * | Adds members to the existing email groups. | |
| updateMailGroupOptions * | Updates the configuration settings of an email group. | |
| addGroupAlias | Adds an alias name for a specific group. | |
| changeMemberRole | Modifies the role of a specific user in an email group. | |
| updateMailGroupAdvOptions | Updates the advanced configuration settings of an email group. | |
| enableStreams | Enables the streams option for a group. | |
| Moderate group emails | moderateMessages * | Approves or rejects mails held for moderation. |
| fetchAllGroups * | Retrieves all groups for which the moderation option is enabled. | |
| fetchSpecificGroups * | Retrieves details of a specific group in the specified organization. | |
| getMailsHeldForModeration * | Fetches all emails pending for approval in the particular groups. | |
| getContentOfEmailHeldForModeration * | Gets the email content of the approval pending emails of a particular group. | |
| Add and verify domain | fetchAllDomains * | Retrieves all domains in the organization. |
| addDomain * | Creates a new domain in the organization. | |
| verifyDomainByTXT * | Verifies domain ownership using a TXT DNS domain. | |
| enableMailHosting * | Enables email hosting for the domain (verified domain). | |
| verifyMxRecord * | Verifies the added MX records to enable proper routing. | |
| verifySpfRecord * | Verifies SPF records to enable email authentication. | |
| addDkimDetail * | Adds the DKIM configuration for the specific domain. | |
| verifyDkimKey * | Verifies the DKIM key added for the specific domain in DNS. | |
| makeDkimDefault * | Sets the DKIM configuration key as default for the outbound emails. | |
| Audit and login logs | fetchParticularUser | Fetches the account details of a particular user. |
| getAuditRecords * | Fetches the audit logs of both admin and user activities. | |
| getLoginHistory * | Retrieves the login details of all users. | |
| Set org policies | getAllPolicies * | Gets all the policies of the organization. |
| createPolicy * | Creates a new policy for the organization. | |
| createAccessRestriction * | Creates all the restrictions related to the user access. | |
| createMailRestriction * | Creates all the restrictions related to email usage. | |
| createForwardRestriction * | Creates all restrictions for email forwarding. | |
| changeAccessRestrictionID * | Updates access restriction configurations for the organization. | |
| changeMailRestrictionID * | Updates email restriction configurations for the organization. | |
| changeMailForwardPolicyID | Updates the forward email policy settings. | |
| applyPolicyToUsers * | Applies policies to specific users. | |
| IP allow-list management | getAllowedIP * | Retrieves the list of allowed IP addresses for the organization. |
| addAllowedIP * | Adds the IP address to the list of allowed IPs for the specific organization. | |
| deleteAllowedIP | Deletes the IP address from the list of IPs for the specific organization. |
Note
Tools mentioned with asterisk(*) are mandatory tools. Other tools are optional and need to be enabled only when required for specific actions, based on the user's prompt.