Skip to main content
Glama

skein_get_monitor_script

Set up a live notification monitor on an issue for a headless agent. One call: (1) subscribes you as a watcher of the issue (subtree=true also covers every current and future subtask); (2) mints a scoped, read-only skm_ monitor token (it can only poll) tied to your calling API key — it stays valid while the runner keeps polling, lapses after 6h without a successful check (the renewal window, configurable on the server) and never lives past 12h after minting; (3) returns monitorId (the handle to stop this monitor) and a ready-to-run bootstrap command that streams new notifications (new comments AND task closure by default) into your context near-real-time via an autonomous Python runner. The runner keeps retrying through server or network trouble and stops by itself when the issue is closed.

SECURITY: the token is returned in the token field, NOT in the bootstrap command. Write token to the 0600 file named by tokenFilePath (use the Write tool) and run bootstrap as-is — the runner reads the token from that file. Do NOT paste the token into a shell command (it would leak into argv / shell history).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "skein_get_monitor_script"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesFull hierarchical issue id to monitor, e.g. "sk-42" or "sk-42.1".
subtreeNoWhen true, monitor this issue AND its subtree by the hierarchy: every issue that has it as a parent, grandparent, … at the moment of each poll (parentIdCurrent chain — not an id prefix). Future subtasks are covered automatically; an issue moved under another parent stops being reported from then on, one moved in starts. Only events of this issue's project are delivered. Also upgrades the auto-watch to subtree scope (subtree dominates — a later subtree=false never downgrades it). Default: false (this issue only).
eventTypesNoNotification types to deliver. Each must be "comment.created" or start with "issue." (the only types the poll endpoint can normalise in v1) — anything else (e.g. "attachment.added") is rejected with validation_error. Empty / omitted defaults to ["comment.created","issue.closed"].

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations, which only say it is a non-read-only, non-destructive, non-idempotent call. The description discloses token lifecycle semantics (lapses after 6h without a successful poll, configurable renewal window, hard 12h cap from minting), that the token is read-only and scoped to the calling API key, that the runner retries through failures and self-terminates on issue closure, and gives explicit secret-handling instructions (token field vs bootstrap argv leakage). That is exactly the context annotations cannot carry.

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

Conciseness5/5

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

Front-loaded with the purpose, then a numbered (1)(2)(3) breakdown of effects, followed by a labelled SECURITY paragraph. Despite its length every sentence carries operational weight and the ordering matches the order the agent must act in.

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?

No output schema exists, and the description fully compensates by naming every meaningful return field (monitorId, token, bootstrap, tokenFilePath) and explaining how to use them. For a token-minting, state-creating call with no output schema, nothing an agent needs is missing.

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

Parameters3/5

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

With 100% schema description coverage the baseline is 3, and the description largely restates schema content ('subtree=true also covers every current and future subtask' mirrors the subtree property text) while adding only the default event pair for eventTypes. It does not clarify param interactions or edge cases beyond what the schema already documents.

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?

States a specific verb and resource ('Set up a live notification monitor on an issue') and enumerates the three concrete effects: auto-subscribe as watcher, mint a scoped skm_ token, return monitorId plus a bootstrap command. An agent can tell this apart from skein_notifications by the 'one call, live push monitor' framing.

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

Usage Guidelines4/5

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

Clear context for use — 'for a headless agent' wanting near-real-time notifications pushed into context rather than polling — and the default event set is spelled out (comments AND closure). It stops short of explicitly naming an alternative such as skein_notifications and saying when NOT to use this, so no exclusions are given.

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.