CronGrid
Allows management of cron jobs for scheduling email sends through SendGrid.
Click on "Deploy 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., "@CronGrid schedule an email to myself every day at 9am reminding me to take a break"
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.
CronGrid — an MCP server scheduling SendGrid Cron Jobs!
Description
This MCP server enables LLMs to POST, GET, and DELETE cron jobs that schedule email sends via SendGrid.
Related MCP server: Cronlytic MCP Server
Prerequisites
Claude Desktop (or another MCP server-compatible LLM interface of your choice) installed on your local machine
If using Smithery: Node.js (version 14 or higher) installed
If running locally: uv installed
SendGrid account with verified single sender email address
Cron-Job.Org account
Installation
Installing via Smithery
To install CronGrid automatically via Smithery (example for Claude Desktop):
npx -y @smithery/cli install @chaser164/sendgrid-cronjob-mcp --client claudeInstalling Manually
Open your terminal or command line.
Run
git clone https://github.com/chaser164/sendgrid-cronjob-mcp.gitAdd the below to your MCP server-compatible interface of choice (e.g.,
~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"cronjob_email_mcp": {
"command": "/path/to/uv",
"args": [
"--directory",
"/path/to/sendgrid-cronjob-mcp",
"run",
"email-schedule-send-mcp-server.py"
],
"env": {
"SENDGRID_API_KEY": "<SendGrid API key>",
"CRONJOB_API_KEY": "<Cron-Job.Org API key>",
"FROM_EMAIL": "<SendGrid verified single sender email>"
"TZ": "<timezone value>",
}
}
}
}NOTE: timezone environment variable values must be chosen from this list. The default timezone value is UTC.
Usage
Ask your LLM to create, get, and delete scheduled emails
This MCP also has the ability to get the current date/time to enhance its scheduling capabilities
If a "to email" is not specified, the mcp will send an email to yourself (e.g., "remind me to dance" will send an email to the specified SendGrid sender identity's email address)
License
This project is licensed under the MIT License.
Contributions
Contributions are welcome. Feel free to open issues or submit a pull request for feature enhancements or bug fixes.
Available Tools
4 toolscreate_scheduled_email_send_at_specific_timeA
This tool creates a new scheduled email cron job at a specified date(s)/time(s) in cronjob format, setting up a cron-job that calls an email-sending API. The scheduled email can either be a one-time email or a recurring email. Never make a scheduled email cron job repeating (the final argument of the function) unless the user explicitly asks for it; assume the user wants a one-time email unless they explicitly ask for a repeating email send. If the user does not provide a to_email parameter, the email will be sent to the FROM_EMAIL environment variable (email to self). So, do not provide a to_email parameter when the user requests an email to self (e.g. "send an email to myself," "remind me to do something," "create a reminder," "send me an email," etc.). Expiration is automatically set for one-time emails. For repeating emails, expiration is up to the user; it is defaulted to 0, which means the email will be sent indefinitely. Assume the user does not want the repeated send to expire unless they explicitly ask for it. Repeated emails have a [-1] as one of the time parameters, which means the email will be sent every minute, hour, day, month, or week. Non-repeated emails only have non-negative time parameters. If the user asks for an email at a relative time, you can use the get_current_datetime tool to get the current time in the user's timezone and then use that to schedule the email. ALWAYS use the default timezone value unless the user explicitly asks for a different timezone.
Args: title: Title for the email cron job subject: Email subject body: Email body content minutes: Minutes to run (0-59, or [-1] for every minute). hours: Hours to run (0-23, or [-1] for every hour). mdays: Days of month to run (1-31, or [-1] for every day). months: Months to run (1-12, or [-1] for every month). wdays: Days of week to run (0-6 where 0=Sunday, or [-1] for every day). expires_at: Date/time (in job’s time zone) after which the job expires, i.e. after which it is not scheduled anymore (format: YYYYMMDDhhmmss, 0 = does not expire) to_email: Recipient email address. Default is None, which means the email will be sent to the FROM_EMAIL environment variable (email to self). repeating: Whether the email should be sent repeatedly. Default is False, which means the email will be sent only once.
Inputs: title (required), subject (required), body (required), minutes (required), +8 more. Returns: result
delete_scheduled_emailB
Delete a specific scheduled email cron job by ID.
Args: job_id: The ID of the cron job to delete
Inputs: job_id (required). Returns: result
get_current_datetimeA
Get the current date and time in the system's local timezone or TZ environment variable. This function will give you the full context to schedule a cron job. For example, if asked to schedule an email an hour from now, you can look at the output of this function to understand when that would be in the future. This is also useful in case the user wants to know the current time for any reason, or if you require the current time for any reason.
Returns: Formatted datetime string with timezone information
Inputs: no named parameters. Returns: result
get_scheduled_emailsA
Get all scheduled email cron jobs for the account.
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: creating, deleting, listing scheduled emails, and obtaining current time for scheduling. No overlap or ambiguity.
Tool names are generally verb_noun but inconsistent in verb choice and length. 'create_scheduled_email_send_at_specific_time' is overly verbose compared to the concise 'delete_scheduled_email' and 'get_scheduled_emails'. 'get_current_datetime' uses singular vs plural in other getters.
With 4 tools covering create, delete, list, and a helper for scheduling, the count is well-suited to the domain of email cron jobs without being too sparse or excessive.
The tool set covers primary CRUD operations (create, delete, list) and includes a helpful utility (get_current_datetime). Missing update/modify capability is a minor gap, but core functionality is present.
Maintenance
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for e-mail testing: create disposable inboxes, wait for delivery, and extract e-mail content or links - all from your AI agent or test automation workflow. Get a free API key on https://app.zyntra.app/
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI applications to send text, HTML, and template-based emails using SendGrid. It supports file attachments, CC/BCC recipients, and easy deployment via Python or Docker.-

Cronlytic MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceA comprehensive Model Context Protocol (MCP) server that integrates with the Cronlytic API to provide seamless cron job management through LLM applications like Claude Desktop.1MIT- AlicenseAqualityDmaintenanceMCP server for Sendook - an AI email communication platform. Enables AI agents to send and receive emails, manage inboxes, threads, and webhooks programmatically.16MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that provides email communication tools (send email, health check, list providers) via SMTP, accessible over HTTP/SSE for remote AI clients like Claude Desktop.9 npmMIT