io.github.Michael-Drake/rentctl
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEVCTL_SESSION_ID | No | Session id rentctl reads to identify which session is asking (used for claim sharing and release). A caller with none of DEVCTL_SESSION_ID, CLAUDE_CODE_SESSION_ID or GEMINI_SESSION_ID is treated as `unknown`, and every `unknown` caller shares one claim. | |
| GEMINI_SESSION_ID | No | Session id rentctl reads to identify which session is asking (Gemini CLI). A caller with none of DEVCTL_SESSION_ID, CLAUDE_CODE_SESSION_ID or GEMINI_SESSION_ID is treated as `unknown`, and every `unknown` caller shares one claim. | |
| CLAUDE_CODE_SESSION_ID | No | Session id rentctl reads to identify which session is asking (Claude Code sets this; hooks also send the session id on stdin). A caller with none of DEVCTL_SESSION_ID, CLAUDE_CODE_SESSION_ID or GEMINI_SESSION_ID is treated as `unknown`, and every `unknown` caller shares one claim. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| env_upA | Start (or renew) this checkout's leased dev environment and return its URL. Omit |
| env_downA | Release this session's hold on a project's environment; it stops when no other session holds it. Other agent sessions in the same checkout may be using the same server. By
default this releases only YOUR session's claim: if another session still
holds one, the server keeps running and the result says Waits up to |
| env_lsA | List every broker-owned environment on the machine (live, reconciled inventory). |
| env_sweepB | Reconcile every lease: stop expired/dead, report (or under strict, reclaim) squatters. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
env_up (start/renew) and env_down (release) are clearly opposed, and env_ls (list inventory) versus env_sweep (reconcile leases) are distinguishable, though an agent could plausibly reach for env_sweep when it means env_down since both stop environments. The descriptions do enough work to keep boundaries clear.
All four names use snake_case with a consistent env_ prefix, so the family is immediately recognizable. The action tokens mix directional (up/down) with verb/CLI-style (ls/sweep) forms, a minor deviation from a strict verb_noun pattern but still readable.
Four tools is a tight, plausible set for a lease manager covering start, release, inventory, and reconciliation, with no obvious filler. It sits at the low end of the recommended range, and a dedicated status/logs tool could arguably earn a fifth slot.
The core lifecycle (start, stop, list, reconcile) is covered, but there is no way to fetch logs for a specific environment even though errors reference log_tail, and no single-environment status/get beyond the full inventory listing. These are workable-but-notable gaps for debugging failed starts.