Skip to main content
Glama

Import crontab

import_crontab

Reads a crontab and proposes one monitor per scheduled line. Without apply=1 nothing is written; the proposal says what was ignored and why. Passwords in the command are redacted. The body is the crontab itself, as text/plain. Without ?apply=1 nothing is written: you get the proposal — what would become a monitor, what was ignored and why, and what still fits in the free tier. With apply=1 it is all or nothing, under the same rules as POST /api/endpoints. Comments, variables and @reboot are ignored (there is no way to know when to expect a reboot); @daily and friends become the equivalent expression. The command becomes the monitor name, with passwords and tokens redacted first — the name travels in the alert e-mail, in the public dashboard and in the badge. Returns: { applied, recognized, ignored, existing, would_create, created?, free_tier } Example: crontab -l | curl -s -XPOST "$ORIGIN/api/import/crontab?apply=1" -H "X-Guest-Token: $HP" -H "content-type: text/plain" --data-binary @- Errors: 400: crontab_sem_agenda — no schedule line was recognised.; 401: No credential, or an invalid one. See this endpoint's auth.; 402: Payment required. The x402 terms (USDC on Base) come in the PAYMENT-REQUIRED header and in accepts[]: pay and repeat the same call with PAYMENT-SIGNATURE (x402 v2) or X-PAYMENT (v1). A standard x402 client such as @x402/fetch does this for you.

Input Schema

NameRequiredDescriptionDefault
applyNo"1" to create the monitors
crontabYesthe crontab text
guest_tokenYesPrivate owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / guest_token / description
      Added value: +"Private owner token returned by guest creation. Sent in X-Guest-Token; reuse it for this owner's resources."
  2. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare the coarse profile (not read-only, not destructive, not idempotent); the description goes well beyond by disclosing the dry-run default, all-or-nothing write semantics, credential redaction before the command becomes a visible monitor name, an explicit return field list, and the 400/401/402 error and payment flows. Nothing here contradicts the annotations — writes only occur under apply=1, matching readOnlyHint=false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The front-loaded dry-run warning is well placed, but the key point is stated twice almost verbatim ('Without apply=1 nothing is written' and 'Without `?apply=1` **nothing is written**'), and the ignored/why explanation is also repeated. The curl example and error catalogue are useful, but the duplication costs it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter mutating import tool with no output schema and no annotations covering side effects, the description supplies the return shape field-by-field, redaction behavior, ignored-input rules, auth, payment terms, and a runnable example. An agent can call it correctly, including the auth and 402 retry path, without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: apply=1 is all-or-nothing rather than per-line, omitting it yields a non-mutating proposal, and the crontab body is text/plain content rather than a path. guest_token semantics are left to the schema, which is acceptable given full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource ('Reads a crontab and proposes one monitor per scheduled line'), and the apply=1 path is clearly distinguished from the proposal path. This differentiates it from single-resource siblings like create_endpoint, since the unit of work is an entire crontab.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states explicitly when nothing is written (no apply=1), when writing occurs (apply=1, all-or-nothing, same rules as POST /api/endpoints), and what input is ignored (comments, variables, @reboot). An agent knows the default safe behavior and the opt-in condition without inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.