Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_clientportal_apply_project_change

Applies a signed change plan to a client portal project exactly once, returning the original result on repeated applies and flagging stale or expired plans.

Instructions

CLIENT PORTAL AI BUILDER API (/ai-builder-api) — side-effecting: opens/edits sandboxes and starts builds. Edit a sandbox only once sandbox.status is ready; checkpoint after edits and before starting the run that builds them; 409 means a cloud build owns the sandbox or it is not running. Apply a signed plan once. Idempotent on planId: a second (or concurrent) apply of the same plan returns the first apply's result without writing again (queued while the first is still running). Apply re-checks the stored change against what exists now; when it moved, the answer is 409 change_plan_stale with a fix (plan again). An expired plan is 409 too. A partial result stays open: applying the same plan again finishes only what is left. Another location's or project's plan is 404. Endpoint: POST /ai-builder-api/projects/{projectId}/changes/apply (Version header: v3; source: v3/clientportal-ai-v3.json) OAuth scopes: clientportal-ai.write

Input Schema

NameRequiredDescriptionDefault
bodyYesRequest body (schema carried verbatim from the official OpenAPI spec).
projectIdYesThe project's id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A3.7/5.0
Behavior1/5

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

The description explicitly says the operation is idempotent on `planId` and that a second apply returns the first result without writing again. This directly contradicts the annotation `idempotentHint: false`. That inconsistency is serious for a side-effecting operation.

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 core description is dense with useful error and idempotency details, but it opens with broader sandbox-edit/checkpoint guidance that is not specific to applying a plan. The key sentence 'Apply a signed plan once' is buried after that preamble rather than front-loaded.

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 side-effecting two-parameter tool with no output schema, the description covers the endpoint, OAuth scope, idempotency behavior, partial results, and common 404/409 outcomes. An agent has enough information to invoke it and handle the main failure modes, aside from the annotation contradiction.

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 both `projectId` and `planId` are structurally documented. The description adds important meaning beyond the schema by explaining that `planId` is a signed plan token used as the idempotency key, with stale, expired, and partial-result semantics.

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 states a specific verb and resource: apply a signed project change plan. It is clearly distinguishable from the sibling planning tool by focusing on applying an existing `planId` rather than creating a plan. The endpoint and scope further confirm the exact operation.

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?

It gives strong operational guidance: apply once, reapply a partial result to finish remaining work, and plan again when the change is stale. It also explains 409 and 404 conditions. It does not explicitly name `ghl_clientportal_plan_project_change` as the alternative, but the intended workflow is still clear.

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

Deploy Server

Other Tools