Skip to main content
Glama

set_active

Toggle stay-active to keep chat apps showing you as available by resetting the idle timer with periodic keypresses. End by a specific time or after a countdown, or run until manually switched off.

Instructions

Turn stay-active on or off, so chat apps go on showing the user as available instead of Away. Pick this over 'set_awake' by what is being protected: set_awake holds a power assertion and stops the Mac sleeping, which does nothing for a Slack or Teams status; set_active resets the system idle timer by posting a Shift keypress every two minutes, which is what those apps actually read. Resetting the idle timer also postpones sleep, so stay-active implies keep-awake and there is no need to turn both on. Two ways to end the session: 'until' ends it at a wall-clock time ('17:00', or an ISO-8601 timestamp); 'minutes' ends it after a countdown. Give neither and it runs until switched off, or until the user's configured default timeout expires. This only starts and ends sessions. The recurring schedule (hours and weekdays) and the list of apps that arm it automatically are settings on the Stay active page, not parameters here; get_state reports both under 'active_details'. Switching it by hand overrides the schedule until the schedule itself next changes, so turning it off during scheduled hours lasts until those hours end rather than being undone on the next tick. Returns 'active', whether a keypress is actually being posted right now, and 'status', what happened in words. Those differ when Plonk has no Accessibility permission (nothing can be posted) or when the user disallowed running on battery and the Mac is unplugged; neither is reported as an error, since the request was understood. An 'until' that has already passed is an error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
onYes
untilNoEnd at a time of day, e.g. '17:00' (the next such moment — tomorrow if today's has passed), or an ISO-8601 timestamp like '2026-08-08T17:00:00Z'
minutesNoEnd the session after this many minutes
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses the mechanism (Shift keypress every two minutes), the impact on idle time and sleep, that it only starts and ends sessions, the schedule override behavior, and that certain conditions (no Accessibility permission, battery restrictions) are not reported as errors but surfaced via 'active' and 'status'. This level of transparency is exceptional.

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?

Although lengthy, every sentence adds value: purpose, distinction, mechanism, duration options, edge cases, and return values are all covered without redundancy. The structure is logical, front-loaded with the core purpose, and efficiently uses paragraphs to group related concepts.

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?

Given 3 parameters, no output schema, and no annotations, the description is remarkably complete. It explains all parameters, return values ('active' and 'status'), error handling (non-error conditions), interaction with the schedule, and the relationship with set_awake. Nothing essential is omitted for an agent to correctly invoke and interpret the tool.

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

Parameters5/5

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

The description adds significant meaning beyond the schema. It explains 'until' with examples ('17:00', ISO-8601 timestamp) and clarifies that it ends at the next such moment, defines 'minutes' as a countdown, and explains the 'neither' case (runs until switched off or default timeout). This enriches the schema where the 'on' parameter has no description.

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 description clearly states the tool's purpose: 'Turn stay-active on or off, so chat apps go on showing the user as available instead of Away.' It distinguishes itself from sibling set_awake by explaining the mechanism (posting a Shift keypress every two minutes) and why it's the correct choice for chat app status, making the purpose specific and unambiguous.

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?

Explicitly tells when to use this tool over set_awake ('Pick this over set_awake by what is being protected') and explains the relationship between them ('stay-active implies keep-awake and there is no need to turn both on'). It also provides clear guidelines on choosing duration parameters ('until' vs 'minutes') and states the default behavior when neither is given.

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

Install Server

Other Tools

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/ostapondo/Plonk'

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