cron-mcp について
cron-mcpは、プロンプトを定期実行するAgent向けのホステッド型またはセルフホスト型スケジューリングサービスです。ジョブを保存し、cron式の時刻にコールバックへPOSTします。LLMは実行しません。
主な機能
- 01cron式とプロンプトによるジョブ作成
- 02ジョブの一覧、確認、更新、停止、削除
- 03署名付きジョブデータのコールバック送信
- 04コールバック失敗後もスケジュールを継続
- 05ホステッドまたはDocker Composeでのデプロイ
活用シーン
- 01Agentを使った定期ブリーフィングの起動
- 02コールバック経由の毎時ポーリング
- 03定時の週次ダイジェスト配信
MCP 対応
MCPクライアントはBearer APIキーで`/api/mcp`エンドポイントに接続し、スケジュールされたプロンプトジョブを作成・管理できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://cron.regiq.in/api/mcpclaude mcp add --transport http shreyas-profile-cron https://cron.regiq.in/api/mcp{"mcpServers":{"shreyas-profile-cron":{"type":"http","url":"https://cron.regiq.in/api/mcp"}}}Cursor で開く{"servers":{"shreyas-profile-cron":{"type":"http","url":"https://cron.regiq.in/api/mcp"}}}VS Code で開く{"mcpServers":{"shreyas-profile-cron":{"type":"http","url":"https://cron.regiq.in/api/mcp"}}}{"mcpServers":{"shreyas-profile-cron":{"serverUrl":"https://cron.regiq.in/api/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://cron.regiq.in/api/mcp認証が必要ツール
詳細
cron-mcp
サービスとしての Cron MCP です。任意のプロンプトを任意の cron 式でスケジュールし、実行時にジョブをコールバック URL に POST します。スタック内に LLM はありません。
エージェント(Claude Desktop、Cursor、カスタムスクリプト)が思考を担います。こちらで行うのは次のことだけです。
- スケジュール、プロンプト、コールバック URL を保存する
- cron 式に照らして分単位で照合する
X-Cron-Signatureで署名したジョブ本文をコールバックに POST する
以上です。毎日のブリーフィング、毎時のポーリング、週次ダイジェストなど、決まったスケジュールで繰り返し、LLM 経由で実行する必要のある用途に最適です。
cron.regiq.in でホスト版を利用するか、以下の Docker Compose でセルフホストできます。
利用方法(ホスト版)
-
https://cron.regiq.in にアクセスし、Google または GitHub でサインインします。
-
ダッシュボードで MCP API キーを生成してコピーします。
-
Claude Desktop の
claude_desktop_config.json(または Cursor/任意の MCP クライアント)に追加します。{ "mcpServers": { "cron": { "url": "https://cron.regiq.in/api/mcp", "headers": { "Authorization": "Bearer YOUR_KEY_HERE" } } } } -
cron 式、プロンプト、実行時に POST してほしい URL を指定して、エージェントに
schedule_jobを呼び出させます。
ツール
| ツール | 目的 |
|---|---|
schedule_job(name, cron, prompt, callbackUrl, ...) | プロンプトをスケジュールします。 |
list_jobs() | 呼び出し元のキーが所有するすべてのジョブを返します。 |
get_job(id) | 1 件のジョブと、直近 20 回の実行試行を返します。 |
update_job(id, ...) | 部分更新します。isActive: false に設定すると一時停止します。 |
delete_job(id) | 完全に削除します。 |
Webhook ペイロード
ジョブの実行時に、次の内容を POST します。
POST <your callbackUrl>
Content-Type: application/json
X-Cron-Signature: <hex-hmac-sha256-of-body>
{
"jobId": "clx...",
"name": "daily AI news briefing",
"prompt": "summarise the top 5 AI news items from the last 24h",
"metadata": { ... },
"firedAt": "2026-07-16T08:00:00.412Z"
}
共有署名シークレット(環境変数 CRON_WEBHOOK_SIGNING_SECRET)で生の本文を再ハッシュし、X-Cron-Signature ヘッダーと比較して署名を検証してください。実行を成功として記録するには、任意の 2xx を返してください。それ以外は失敗として記録されますが、スケジュールは引き続き進みます(そのため、コールバックが失敗しても今後の実行は停止しません)。
セルフホスト
必要なもの:
- Docker + Compose
- Google OAuth クライアント — Cloud Console。スコープ:
openid、email、profile。リダイレクト先:<PUBLIC_BASE_URL>/api/auth/callback/google - 公開 HTTPS ドメイン(Cloudflare Tunnel またはローカルで
ngrok http 3015)
LLM キーは不要です。 推論はコールバックで行います。
git clone https://github.com/globalion/cron-mcp
cd cron-mcp
cp .env.example .env
# fill NEXTAUTH_SECRET, GOOGLE_*, PUBLIC_BASE_URL, CRON_WEBHOOK_SIGNING_SECRET
docker compose up -d
# open http://localhost:3015
アーキテクチャ
Your agent Your callback
│ ▲
│ schedule_job(cron, prompt, │
│ callback_url) │
▼ │
┌──────────────────────────────────────────────────┐
│ cron-mcp (Hetzner) │
│ - /api/mcp Bearer-auth JSON-RPC │
│ · schedule_job, list, get, update, delete │
│ - Postgres: User, ApiKey, Job, JobRun │
│ - Scheduler loop (60s tick) — matches cron, │
│ POSTs signed webhook to callback_url, │
│ logs a JobRun row per fire. │
└──────────────────────────────────────────────────┘
│
│ POST (signed)
▼
Your callback runs the
prompt through the LLM +
tools and delivers the result.
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。