Skip to main content
Glama
HarunRRayhan

Crontinel MCP Server

by HarunRRayhan

@crontinel/mcp-server

npm version Node.js License: MIT GitHub stars

An MCP (Model Context Protocol) server that connects AI assistants to Crontinel, the background job monitoring platform for Laravel. It runs as a local stdio process, proxying tool calls from your AI assistant to the Crontinel REST API.

Ask your AI assistant questions like "Did my cron jobs run last night?" or "What's the queue depth right now?" and get answers inline, without opening a browser.

Requirements

Related MCP server: TrackingTime MCP

Installation

npx -y @crontinel/mcp-server

Or install globally:

npm install -g @crontinel/mcp-server

Configuration

Claude Code

Add to ~/.claude/settings.json (or use the Claude Code settings UI):

{
  "mcpServers": {
    "crontinel": {
      "command": "npx",
      "args": ["-y", "@crontinel/mcp-server"],
      "env": {
        "CRONTINEL_API_KEY": "your-api-key-here"
      }
    }
  }
}

Cursor

Add to ~/.cursor/mcp.json or the project-level .cursor/mcp.json:

{
  "mcpServers": {
    "crontinel": {
      "command": "npx",
      "args": ["-y", "@crontinel/mcp-server"],
      "env": {
        "CRONTINEL_API_KEY": "your-api-key-here"
      }
    }
  }
}

Environment Variables

Variable

Required

Default

Description

CRONTINEL_API_KEY

Yes

n/a

Your Crontinel API key

CRONTINEL_API_URL

No

https://app.crontinel.com

Override the API base URL (self-hosted or local dev)

Available Tools

Tool

Description

list_scheduled_jobs

List all monitored cron commands with last run status

get_cron_status

Last run details for a specific command (exit code, duration, output)

get_queue_status

Depth, failed count, and wait time for queues

get_horizon_status

Horizon supervisor health snapshot (status, failed/min)

list_recent_alerts

Alerts fired in the last N hours

acknowledge_alert

Dismiss an active alert by its key

create_alert

Create a new alert channel (Slack, email, or webhook)

list_scheduled_jobs

List all monitored cron jobs for an app, with their last run status and timing.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug from your Crontinel dashboard

Returns: Array of job objects with command, schedule, last_run_at, last_exit_code, last_duration_ms, status (ok / late / failing / never_ran).


get_cron_status

Get the last run result for a specific cron command.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

command

string

Yes

The cron command string (e.g. php artisan inspire)

Returns: command, last_run_at, exit_code, duration_ms, output (last 500 chars of stdout/stderr), status.


get_queue_status

Get queue depth, failed count, and oldest pending job age.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

queue

string

No

Specific queue name; omit for all queues

Returns: Array of queue objects with name, depth, failed_count, oldest_job_age_seconds.


get_horizon_status

Get a health snapshot of Laravel Horizon: supervisor states, paused/running, failed jobs per minute.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

Returns: status (running / paused / inactive), failed_jobs_per_minute, supervisors array with name, status, processes.


list_recent_alerts

List alerts that have fired within the last N hours.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

hours

number

No

Look-back window in hours (default: 24)

Returns: Array of alert objects with alert_key, state (firing / resolved), fired_at, resolved_at, message.


acknowledge_alert

Dismiss an active alert so it stops notifying.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

alert_key

string

Yes

Alert key (from list_recent_alerts)

Returns: { acknowledged: true, alert_key: "..." } on success.


create_alert

Create a new alert channel for an app. Requires a Pro or Team plan.

Parameters:

Name

Type

Required

Description

app_slug

string

Yes

App slug

type

string

Yes

slack, email, or webhook

config

object

Yes

Channel-specific config (see below)

Config by type:

Type

Required fields

slack

webhook_url: Incoming Webhook URL

email

address: Recipient email address

webhook

url: Endpoint URL; optionally secret for HMAC signing

Returns: The new alert channel ID on success.


How It Works

  1. Your AI assistant spawns the MCP server as a local stdio process

  2. The server receives JSON-RPC tool calls over stdin

  3. It forwards each call as an HTTP request to app.crontinel.com/api/mcp with your API key in the Authorization header

  4. The JSON-RPC response is returned over stdout

All tool definitions are declared locally so your AI can inspect them without a network round-trip.

Troubleshooting

401 Unauthorized: Your CRONTINEL_API_KEY is missing or invalid. Check that the env var is set in your MCP config, not your shell profile (MCP servers don't inherit your shell environment).

404 Not Found on a tool call: The app_slug doesn't match any app in your account. Copy the slug from the app URL in the Crontinel dashboard (app.crontinel.com/apps/{slug}).

Tools not showing up in Claude/Cursor: Restart the AI client after updating the MCP config. Most clients only load MCP servers at startup.

npx slow on first run: npx -y downloads the package on first use. Run npm install -g @crontinel/mcp-server once to cache it locally, then change command to crontinel-mcp and remove the args.

Documentation

For the full integration guide, tool reference, and setup walkthroughs:

Ecosystem

Package

Description

@crontinel/mcp-server

MCP server for AI assistants (this repo)

crontinel/laravel

Laravel package that reports the data this server reads

docs.crontinel.com

Full documentation

License

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/HarunRRayhan/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server