Cronmanager Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Cronmanager Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
MCP (Model Context Protocol) server that exposes the Cronmanager REST API as conversational tools for LLM clients such as Claude Desktop or Claude Code.
Example prompts:
docker run -d \
-e CM_BASE_URL=https://cronmanager.example.com \
-e CM_API_KEY=cm_your_api_key_here \
-e MCP_AUTH_TOKEN=your_mcp_auth_token_here \
-p 3000:3000 \
cs1711/cronmanager-mcp:latestConfigure your MCP client to connect to http://your-host:3000/mcp with Bearer token MCP_AUTH_TOKEN.
For integration into an existing Cronmanager Docker Compose stack, see docker-compose.snippet.yml.
All configuration is via environment variables.
| Variable | Required | Default | Description |
|---|---|---|---|
CM_BASE_URL | yes | — | Cronmanager web app base URL (no trailing slash) |
CM_API_KEY | yes | — | Cronmanager API key (cm_…) |
CM_AGENT_ID | no | — | Target a specific agent (sets X-Agent-Id header) |
MCP_AUTH_TOKEN | yes | — | Bearer token protecting this MCP endpoint |
PORT | no | 3000 | HTTP port |
TIMEOUT_MS | no | 10000 | Cronmanager API request timeout in milliseconds |
LOG_LEVEL | no | info | Log level: debug, info, warn, error |
MCP_READONLY_MODE | no | false | When true, only read-only tools are registered |
The API key must have the scopes matching the tools you intend to use:
| Scope | Tools unlocked |
|---|---|
jobs:read | list_jobs, get_job, get_job_history, get_timeline, list_tags |
jobs:write | create_job, update_job, delete_job |
jobs:execute | execute_job, kill_execution |
export:read | export_jobs |
maintenance:read | list_maintenance_windows, get_maintenance_window |
maintenance:write | create_maintenance_window, update_maintenance_window, delete_maintenance_window |
settings:read | get_settings, get_settings_section |
settings:write | update_settings_section, resync_crontab |
For read-only access, use the read-only profile (jobs:read, maintenance:read, export:read) and set MCP_READONLY_MODE=true.
| Tool | Scope | Description |
|---|---|---|
list_jobs | jobs:read | List cron jobs with optional filters |
get_job | jobs:read | Get a single job by ID |
create_job | jobs:write | Create a new cron job |
update_job | jobs:write | Update a job (partial update; targets/tags are full-replaced) |
delete_job | jobs:write | Delete a job |
execute_job | jobs:execute | Trigger immediate one-time execution |
kill_execution | jobs:execute | Kill a running execution |
get_job_history | jobs:read | Execution history for a specific job |
get_timeline | jobs:read | Cross-job execution timeline |
list_tags | jobs:read | List all tags |
export_jobs | export:read | Export jobs as JSON, CSV, or crontab text |
list_maintenance_windows | maintenance:read | List maintenance windows |
get_maintenance_window | maintenance:read | Get a single maintenance window |
create_maintenance_window | maintenance:write | Create a maintenance window |
update_maintenance_window | maintenance:write | Update a maintenance window |
delete_maintenance_window | maintenance:write | Delete a maintenance window |
get_settings | settings:read | Read all agent settings |
get_settings_section | settings:read | Read one settings section |
update_settings_section | settings:write | Update a settings section |
resync_crontab | settings:write | Resync crontab from database |
update_jobIf targets or tags are included in an update_job call, they fully replace the existing list — there is no merge. To add a single tag, first call get_job to read the current tags, then pass the complete updated array.
| Endpoint | Description |
|---|---|
POST /mcp | MCP Streamable HTTP endpoint (Bearer auth required) |
GET /healthz | Liveness check (always 200, no auth required) |
GET /readyz | Readiness check — pings Cronmanager API (no auth required) |
MCP_AUTH_TOKEN), separate from the Cronmanager API key.CM_API_KEY) is never exposed to MCP clients.GNU General Public License version 3 or later
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.