Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_clientportal_get_agent_run

Read-onlyIdempotent

Retrieve the current state of a client portal AI builder run to poll build progress or check completion within a tenant-scoped project.

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. Get the current state of a run (poll-friendly). Strictly tenant- and project-scoped. A run that exists under a different projectId (or under a different tenant entirely) returns 404 not_found — never 403, never the run record. This matches OWASP API1:2023 Broken Object Level Authorization guidance: same shape for "doesn't exist" and "not yours". Endpoint: GET /ai-builder-api/projects/{projectId}/runs/{runId} (Version header: v3; source: v3/clientportal-ai-v3.json) OAuth scopes: clientportal-ai.readonly

Input Schema

NameRequiredDescriptionDefault
runIdYesThe run's id.
projectIdYesThe project's id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description genuinely adds value with the 404-not-403 cross-tenant/cross-project semantics and the OAuth scope. Against that, it leads with a 'side-effecting: opens/edits sandboxes and starts builds' warning that applies to other endpoints in the API and creates tension with this tool's read-only nature, muddying rather than clarifying the read operation.

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 purpose statement is not front-loaded; the description opens with a paragraph of family-level sandbox/build advice that is irrelevant to a GET, then delivers the actual 'get current state' line. Multiple sentences do not earn their place for a two-parameter read tool.

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?

Endpoint, auth scope, and error behavior are present and useful for a tool with no output schema. But because there is no output schema, the description should describe what the returned run state contains (status values, progress fields) that an agent is meant to poll for, and it does not.

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 coverage is 100% and both params carry pattern-documented descriptions, so baseline is 3. The description adds a little meaning by tying runId lookup to projectId scoping (a run under another projectId returns 404), but adds no format or identity detail beyond what the schema already states.

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 line 'Get the current state of a run (poll-friendly)' gives a specific verb and resource, and 'poll-friendly' hints at how it differs from ghl_clientportal_list_agent_runs_for_project or ghl_clientportal_submit_agent_run. However, that purpose sentence is buried after a long preamble about sandboxing that isn't about this tool, and it never explicitly names the sibling it contrasts with.

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?

'Poll-friendly' implies the intended use (repeated polling of a run's state), which is useful. But there is no explicit when-to-use/when-not guidance, no directive on when to prefer list_agent_runs_for_project, and the sandbox-checkpoint advice belongs to other tools in the family, not this read.

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