Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_clientportal_update_project

Rename, archive, or pin a Client Portal AI Builder project by updating only the fields you specify.

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. Rename an app, archive it, or pin it to the top of the app list. Renames the app, archives it or brings it back, or pins it to the top of the app list. Send only the fields to change. Endpoint: PATCH /ai-builder-api/projects/{projectId} (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

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=true; the description adds that the call is side-effecting and that only supplied fields are mutated, which is useful partial-update semantics. However, the sandbox-status and 409-build guidance does not apply to this endpoint and may mislead an agent into looking for sandbox state that this tool neither reads nor requires.

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

Conciseness2/5

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

The core operation is stated twice in near-identical sentences ('Rename an app, archive it, or pin it to the top...' then 'Renames the app, archives it or brings it back, or pins it...'), and the opening sandbox/build paragraph is irrelevant filler that pushes the actual purpose down. Front-loading is poor because the first content an agent sees is about sandboxes, not about updating a project.

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

Completeness4/5

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

Endpoint, HTTP method, version header, and OAuth scope (clientportal-ai.write) are all given, and the schema fully documents the three mutable fields, so no output schema is needed. The only real gap is that the sandbox instructions dominate the text while contributing nothing to correct invocation of this particular mutation.

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?

With 100% schema coverage the baseline is 3, and the description goes beyond the schema by stating that only the fields to change should be sent, which clarifies that omitted name/starred/archived values are left untouched. It adds nothing about projectId beyond the schema, but that parameter is already fully documented.

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?

The description clearly states the three concrete operations on the resource: rename, archive/unarchive, and pin to top of the app list, so an agent knows exactly what PATCH on projects/{projectId} does. It never explicitly contrasts itself with nearby siblings like create_project, get_project, or plan/apply_project_change, and the leading '/ai-builder-api' paragraph describes sandbox/build behavior that is not what this endpoint does.

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?

'Send only the fields to change' is a usable partial-update rule, but there is no guidance on when to choose this tool over alternatives such as apply_project_change or plan_project_change. The sandbox readiness/checkpoint/409 rules are context for a different tool family and give no guidance for renaming or archiving an app.

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