Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_clientportal_answer_agent_run_questions_batch

Submit up to 12 answers for a client portal AI builder run in a single batch write, so multi-question forms resume the planner once instead of per answer.

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. Answer every question of one form in a single write. Records up to 12 answers in one run write and resumes the run once, so a multi-question form does not resume the planner per answer. Same per-answer rules as POST …/answers (records review approval by approve:<reviewId> only, decline:<reviewId> declines, anything else is a change request); attachmentIds are ignored here. Project-scoped (404 for another project's run); locationId comes from the session, never from the body.

Idempotency: an answer whose capId and correlationId match the recorded one is skipped; when every answer is such a duplicate nothing is written and the run is not resumed again (still 202). Endpoint: POST /ai-builder-api/projects/{projectId}/runs/{runId}/answers/batch (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).
runIdYesThe run's id.
projectIdYesThe project's id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, the description discloses concrete behavior: idempotency via capId+correlationId (skipped duplicates, all-duplicates still returns 202 with no resume), project scoping with 404 for another project's run, locationId derived from session not body, and attachmentIds ignored on this route. This is substantial behavioral context the annotations don't carry.

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 tool's actual purpose appears after a generic '/ai-builder-api' preamble about opening sandboxes and checkpointing that does not apply to answering questions, which hurts front-loading. Once past that, the content is dense and useful, but the boilerplate opening dilutes clarity.

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?

With no output schema, the description compensates by describing the 202 response, 404/409 conditions, tenancy source, and dedupe outcome. It is nearly complete for a mutation tool, though it could more explicitly state the response body of a successful batch write.

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 baseline is 3, but the description adds route-level semantics not in the schema: attachmentIds are ignored here, capId+correlationId act as a dedupe key, and review answers use approve:/decline:<reviewId> with anything else being a change request. That meaningfully augments the schema.

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: 'Answer every question of one form in a single write' and 'Records up to 12 answers in one run write and resumes the run once.' It explicitly contrasts this with the per-answer 'POST …/answers' route, so an agent can distinguish the batch tool from the single-answer sibling without opening the schema.

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 provides clear conditional guidance: use this when a multi-question form exists so the planner isn't resumed per answer, and it states the per-answer rules carry over from the single-answer route. The opening sandbox paragraph gives general API prerequisites (sandbox must be ready, checkpoint before builds, 409 meaning), though it is broader API guidance rather than tool-specific when-to-use.

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