Skip to main content
Glama

codespace_prepare

Start or resume a GitHub Codespace prepare operation for a project: launch a stopped instance, install the bundled runner, and probe it. Poll with the same requestId while it boots.

Instructions

Persist or resume a prepare operation: with start_existing (dedicated bindings only) start a stopped instance, then install the bundled runner and probe it. Returns starting while the instance boots; call again with the same requestId. Transport failure returns unknown. A recent prepare briefly delays automatic release.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
localeNoen
policyNo
projectIdYes
requestIdYes
operationIdNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0-alpha.0

TDQS

A3.6/5.0
Behavior4/5

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

Annotations only declare write/openWorld/non-destructive, so the description carries real added value: it discloses the 'starting' interim status, the resumption contract via requestId, the 'unknown' result on transport failure, and the side effect that a recent prepare briefly delays automatic release. Missing: permission requirements and what happens to an already-running instance under reuse_only.

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

Conciseness4/5

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

Four compact sentences, front-loaded with the operation's identity and mode, then the retry contract, then edge-case behavior. It is telegraphic but every clause carries information; only the trailing release-delay note feels slightly detached.

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

Completeness3/5

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

An output schema exists so return formatting needn't be spelled out, yet the description still leaves the five-parameter surface half undocumented (projectId, locale, operationId) and does not state whether a binding/project must be prepared first. For a write operation with an async status loop, that is a noticeable gap rather than a fatal one.

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?

Schema description coverage is 0% for five parameters, so the description must compensate. It does explain policy ('start_existing') and requestId (idempotent resume key), which are the two semantically loaded params, but projectId, locale, and operationId are left entirely unexplained – notably operationId, which looks like an alternative idempotency mechanism.

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

Purpose4/5

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

States a specific verb and resource pair ('persist or resume a prepare operation') and describes the concrete sequence: start a stopped instance, install the bundled runner, probe it. It distinguishes the two modes via the start_existing policy, but never names which sibling (e.g. codespace_release, project_bind) an agent should pick for the adjacent tasks, so sibling differentiation is only implicit.

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

Usage Guidelines3/5

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

Gives a real usage rule for the retry loop ('call again with the same requestId' while status is starting) and a precondition for one mode ('start_existing (dedicated bindings only)'). However it never states when to prefer this over environment_check, project_bind, or codespace_release, so an agent must infer the lifecycle position.

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