by Cronlytic
cronlytic-mcp-server is a Model Context Protocol (MCP) server designed to enable Large Language Models (LLMs) and AI agents to communicate and interact with the Cronlytic API. It allows LLMs to perform CRUD operations for serverless cron jobs, bridging AI applications with cron job management.
The Cronlytic MCP Server is a comprehensive Model Context Protocol (MCP) server designed to enable Large Language Models (LLMs) and AI agents to communicate and interact with the Cronlytic API. This integration allows LLMs to perform CRUD (Create, Read, Update, Delete) operations for serverless cron jobs seamlessly. It acts as a bridge, translating LLM requests into actions on the Cronlytic platform, making cron job management accessible through AI applications like Claude Desktop.
To use the Cronlytic MCP Server, you first need to install it. Prerequisites include Python 3.8 or higher and a Cronlytic account with API access. You can install it by cloning the repository and running the setup_dev_env.sh
script for a quick setup, or manually setting up a virtual environment and installing dependencies from requirements.txt
.
Configuration involves providing your Cronlytic API credentials, which can be done via environment variables (recommended), a configuration file (cronlytic_config.json
), or command-line arguments. Once configured, you can run the server using python -m cronlytic_mcp_server.server
. For integration with applications like Claude Desktop, you can add specific configurations to your claude_desktop_config.json
file, specifying the command, arguments, and environment variables for the MCP server.
Q: What are the prerequisites for installing Cronlytic MCP Server? A: You need Python 3.8 or higher and a Cronlytic account with API access.
Q: How do I provide my Cronlytic API credentials?
A: You can use environment variables (recommended), a configuration file (cronlytic_config.json
), or command-line arguments.
Q: Can I integrate Cronlytic MCP Server with Claude Desktop?
A: Yes, you can integrate it by configuring your claude_desktop_config.json
file with the server's command, arguments, and environment variables.
Q: What kind of error handling does the server provide? A: It offers comprehensive error handling for authentication, connection, validation, and API errors, including automatic retries for rate limiting.
Q: What are the future plans for Cronlytic MCP Server? A: The roadmap includes further development in basic CRUD operations, advanced job management, resources implementation, prompts & UX enhancements, and comprehensive testing & documentation.
π PROJECT COMPLETED - PRODUCTION READY π
A comprehensive Model Context Protocol (MCP) server that integrates with the Cronlytic API to provide seamless cron job management through LLM applications like Claude Desktop.
Final Status: β All 6 phases complete | 88/88 tests passing | Production documentation ready
The Cronlytic MCP Server enables AI agents and LLM applications to:
π― Final Achievement Summary:
π Key Metrics:
# Clone the repository
git clone https://github.com/Cronlytic/cronlytic-mcp-server.git
cd cronlytic-mcp-server
# Run the setup script (creates venv and installs everything)
./setup_dev_env.sh
# Activate the virtual environment
source venv/bin/activate
# Clone the repository
git clone https://github.com/Cronlytic/cronlytic-mcp-server.git
cd cronlytic-mcp-server
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Upgrade pip
pip install --upgrade pip
# Install dependencies
pip install -r requirements.txt
# Install development dependencies (optional)
pip install -r requirements-dev.txt
# Install in development mode
pip install -e .
The server needs your Cronlytic API credentials to function. You can provide these in several ways:
export CRONLYTIC_API_KEY="your_api_key_here"
export CRONLYTIC_USER_ID="your_user_id_here"
Create a configuration file at one of these locations:
./cronlytic_config.json
(current directory)~/.cronlytic/config.json
(user home directory)/etc/cronlytic/config.json
(system-wide){
"api_key": "your_cronlytic_api_key_here",
"user_id": "your_cronlytic_user_id_here",
"base_url": "https://api.cronlytic.com/prog",
"timeout": 30,
"max_retries": 3,
"retry_delay": 1.0
}
python -m cronlytic_mcp_server.server --api-key "your_key" --user-id "your_id"
# Basic usage (reads from environment variables or config file)
python -m cronlytic_mcp_server.server
# With command line arguments
python -m cronlytic_mcp_server.server --api-key "your_key" --user-id "your_id"
# With debug logging
python -m cronlytic_mcp_server.server --debug
# With custom config file
python -m cronlytic_mcp_server.server --config /path/to/config.json
Test connectivity and authentication with the Cronlytic API:
# The health_check tool requires no parameters
# It will test:
# - API connectivity
# - Authentication validity
# - Response times
# - Basic functionality
Example Output:
# Cronlytic API Health Check
**Status:** β
Cronlytic API connection is healthy and working correctly
**Timestamp:** 2025-01-27T10:30:00Z
**Response Time:** 150 ms
## Connection Details
- **Base URL:** https://api.cronlytic.com/prog
- **Connectivity:** β
- **Authentication:** β
## Job Information
- **Job Count:** 3
- **Can List Jobs:** β
## Performance
- **Performance Rating:** Good
## Recommendations
- π‘ Found 3 job(s). All systems appear to be working correctly.
To use with Claude Desktop, add this to your claude_desktop_config.json
:
{
"mcpServers": {
"cronlytic": {
"command": "python",
"args": ["-m", "cronlytic_mcp_server.server"],
"env": {
"CRONLYTIC_API_KEY": "your_api_key_here",
"CRONLYTIC_USER_ID": "your_user_id_here"
}
}
}
}
To run virtual environment of python
{
"mcpServers": {
"cronlytic": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "PATH/cronlytic-mcp-server",
"env": {
"VIRTUAL_ENV": "PATH/cronlytic-mcp-server/.venv",
"PATH": "PATH/cronlytic-mcp-server/.venv/bin:${PATH}",
"CRONLYTIC_API_KEY": "your_api_key_here",
"CRONLYTIC_USER_ID": "your_user_id_here"
}
}
}
}
cronlytic-mcp-server/
βββ src/
β βββ __init__.py # Package initialization
β βββ server.py # Main MCP server implementation
β βββ cronlytic_client.py # Cronlytic API client wrapper
β βββ tools/ # Tool implementations
β β βββ __init__.py
β β βββ health_check.py # Health check tool
β βββ resources/ # Resource implementations (Phase 4)
β βββ prompts/ # Prompt implementations (Phase 5)
β βββ utils/ # Utility modules
β βββ __init__.py
β βββ auth.py # Authentication handling
β βββ errors.py # Custom error classes
β βββ validation.py # Input validation
βββ tests/ # Test files (Phase 6)
βββ config/
β βββ example_config.json # Example configuration
βββ requirements.txt
βββ pyproject.toml
βββ README.md
# Activate virtual environment (if not already active)
source venv/bin/activate
# Install in development mode (if not already done)
pip install -e .
# Set environment variables for testing
export CRONLYTIC_API_KEY="your_test_key"
export CRONLYTIC_USER_ID="your_test_user_id"
# Run with debug logging
python -m cronlytic_mcp_server.server --debug
# Run validation tests
python validate_phase1.py
# Format code (if you have development dependencies)
black src/
ruff check src/
# Type checking
mypy src/
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Test the server
mcp-inspector python -m cronlytic_mcp_server.server
The server provides comprehensive error handling:
Structured logging is provided at multiple levels:
# Normal operation
2025-01-27 10:30:00 - cronlytic_mcp_server.server - INFO - Cronlytic MCP Server initialized
# Debug mode
python -m cronlytic_mcp_server.server --debug
create_job
- Create new cron jobslist_jobs
- List all user jobsget_job
- Get specific job detailsupdate_job
- Update existing jobsdelete_job
- Delete jobs permanentlypause_job
- Pause job executionresume_job
- Resume paused jobsget_job_logs
- Retrieve execution logsThis project follows a structured development approach with clearly defined phases. Each phase builds upon the previous one to ensure stability and maintainability.
MIT License - see LICENSE file for details.
docs/
directory for detailed specificationsdocs/cronlytic-API-specification.md
Current Version: 0.1.0 Last Updated: Jun 2025
Please log in to share your review and rating for this MCP.