edgegate-mcp
OfficialThe EdgeGate MCP Server enables you to set up, run, and manage AI model regression testing on real Qualcomm Snapdragon devices, integrated with CI/CD and compliance workflows. Key capabilities include:
Pipeline & Gating: Create regression pipelines with custom performance gates (inference time, memory, NPU coverage) and behavioral gates (safety, jailbreak, forbidden actions). Trigger, monitor, compare, and export runs.
Model & Artifact Management: Import ONNX models from Hugging Face, connect to private repos, compile LLMs via Qualcomm AI Hub, predict NPU coverage, and manage BYO S3 storage (Enterprise).
Device Management: List global Snapdragon devices (phones, QRD/CRD, automotive, XR, IoT) and your own connected devices (Jetson, gateways), with live status and on-device benchmarking.
Workspace & User Management: Create workspaces, invite members, assign roles, and manage API keys.
Behavioral Testing: Build promptpacks and eval sets, capture reference oracles, compile genie bundles, and run behavioral gates against models or API endpoints (including n8n, Zapier, OpenAI-compatible).
Compliance & Audit: Generate signed audit reports, ISO 26262 verification evidence, EU AI Act Article 12 Field Recorder reports, and track device hash-chain integrity with replay capability.
CI/CD Automation: Output GitHub Actions workflows for standard and behavioral gates, enabling automated regression testing in pull requests.
Generates a GitHub Actions workflow YAML and gh secret commands to run EdgeGate as a CI gate on every pull request.
Allows importing models from Hugging Face, connecting a personal token for private/gated repositories, and managing the Hugging Face integration for the workspace.
Integrates with Qualcomm AI Hub by managing the API token connection for submitting compile and profile jobs on real Snapdragon devices, and provides NPU coverage predictions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@edgegate-mcpSet up a CI gate for my MobileNet ONNX on Galaxy S24 with 10ms latency."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
edgegate-mcp
MCP server for EdgeGate — set up edge-AI regression gates on Snapdragon devices directly from Claude Code, Cursor, or Claude Desktop.
What does it do?
EdgeGate runs AI model regression tests on real Snapdragon hardware via Qualcomm AI Hub, then produces signed evidence bundles you can attach to CI gates. This npm package exposes EdgeGate's REST API as 61 MCP tools, plus bundled skills, so you can drive the whole flow from a prompt:
> Use the edgegate MCP to set up a CI gate for my MobileNet ONNX model.
> Gates: inference_time_ms ≤ 10, peak_memory_mb ≤ 150.
> Devices: Galaxy S24, Galaxy S23.Related MCP server: A2A MCP Server
Install
# 1. Generate an API key in the EdgeGate dashboard
# https://edgegate.frozo.ai/workspace/<id>/settings#api-keys
# 2. Run the installer (writes config for Claude Code / Cursor / Desktop)
npx edgegate-mcp-installRestart your MCP client. Done.
Manual config
If you'd rather edit config files yourself, the server is a standard stdio MCP. Add this to your client's config:
Claude Code (~/.claude.json)
{
"mcpServers": {
"edgegate": {
"type": "stdio",
"command": "npx",
"args": ["-y", "edgegate-mcp"],
"env": {
"EDGEGATE_API_KEY": "egk_live_...",
"EDGEGATE_API_URL": "https://edgegateapi.frozo.ai"
}
}
}
}Cursor (~/.cursor/mcp.json)
Same shape as Claude Code without the type field.
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS)
Same shape as Cursor.
Tools
See docs/tools.md for input schemas and examples.
EdgeGate exposes 61 MCP tools. This table is generated from src/server.ts — run npm run docs:tools after adding a tool.
Tool | Purpose |
| Confirm or list EdgeGate workspaces visible to the API key. Run this first in a fresh conversation to lock in which workspace_id the other tools should use. |
| Create a new EdgeGate regression pipeline. Define which model(s), which device(s), and which gates (e.g. inference_time_ms ≤ 10) the pipeline will enforce. For LLMs: set llm_compile_source on a model instead of artifact_id. EdgeGate will compile + link via AI Hub on first run; subsequent runs reuse the cached composite. ttft_ms + tps gates work; both are derived from per-component profile (prompt-role inference_time → TTFT; 1000/token-role inference_time → TPS). Each LLM gate run = 3 AI Hub profile jobs (one per component) ≈ 3× CV cost. |
| Trigger an EdgeGate run against a pipeline. Returns a run_id you can poll with edgegate_check_status. |
| Get the current status of an EdgeGate run, including per-device metrics and which gates passed or failed. |
| List recent EdgeGate runs in a workspace with status, duration, and trigger. |
| Get the signed audit report PDF URL for a completed EdgeGate run. Used for compliance records. |
| Generate the GitHub Actions workflow YAML + gh secret commands so every PR runs EdgeGate as a CI gate. |
| Diff two EdgeGate runs in the same pipeline — metrics delta, gate flips (✓→✗ regressions and ✗→✓ recoveries), per-device breakdown, and an overall verdict (REGRESSION / IMPROVEMENT / NEUTRAL / NO BASELINE). When baseline_run_id is omitted, auto-selects the most recent PASSED run from the same pipeline as the baseline. |
| Download a human-readable markdown report for an EdgeGate run and save it to disk. Returns the absolute file path plus a preview of the first 30 lines. Optionally includes a run-vs-baseline diff section (include_diff=true). |
| Import a public Hugging Face model that contains a pre-built ONNX file. EdgeGate downloads the file and registers it as an Artifact. Returns the artifact_id you can pass directly to edgegate_create_pipeline. Polls until the import completes by default (poll_for_completion=true); set to false to return immediately with the job id. |
| Predict which ONNX ops will run on the Qualcomm Hexagon NPU vs fall back to CPU, BEFORE spending any AI Hub credits. Returns a compute-weighted NPU coverage % (the latency-honest number), op-count coverage, risk band, per-op CPU fallbacks, and fix recommendations. Heuristic — the real device run remains authoritative. |
| List all promptpacks in an EdgeGate workspace. Returns a markdown table with promptpack_id, version, case count, published status, and creation date. Use include_unpublished=false to hide draft packs. |
| Create a new promptpack in an EdgeGate workspace. A promptpack defines the test cases (prompts, expected outputs, per-case overrides) that regression pipelines evaluate. Requires admin role on the workspace. Packs are immutable after creation — bump the version to update. |
| Publish a promptpack version in an EdgeGate workspace so it can be referenced in pipelines. Newly created packs start as unpublished — call this after edgegate_create_promptpack to complete the create → publish → use lifecycle. Requires admin role on the workspace. The operation is idempotent. |
| Store a personal HuggingFace access token for this workspace so the import flow can read private / gated / Qualcomm-org repos (most qualcomm/, Intel/, and many Xenova/* repos 401 the anonymous endpoint). The token is validated against HF whoami before encryption and is never echoed in plaintext. If an integration already exists this tool rotates the token. Requires admin role. |
| Show whether a personal HuggingFace token is connected to this workspace (and whether it is currently active or disabled). Does not return the token itself. |
| Permanently delete the workspace's HuggingFace integration. Future HF imports fall back to anonymous access. Requires owner role. |
| Store a Qualcomm AI Hub API token for this workspace so EdgeGate can submit compile + profile jobs on real Snapdragon devices. The token is encrypted at rest and is never returned in plaintext after the initial connect. If an integration already exists this tool transparently rotates the token. Requires admin role. |
| Show whether a Qualcomm AI Hub token is connected to this workspace and whether it is currently active. Does not return the token itself. |
| Permanently delete the workspace's Qualcomm AI Hub integration. Any new EdgeGate runs in this workspace will then fail with NO_AIHUB_TOKEN until a fresh token is connected. Requires owner role. |
| Create a new EdgeGate workspace. The caller automatically becomes the owner. Subject to plan-tier workspace limits. After creation, connect Qualcomm AI Hub and define pipelines as usual. |
| List all API keys in this workspace (id, name, prefix...suffix, status, last_used). Plaintext is never returned. Requires owner role. |
| Create a new API key for this workspace. The plaintext token is returned EXACTLY ONCE in the response — copy it to your CI secrets or local env immediately. Requires Pro tier or above. Requires owner role. |
| Revoke an API key by id. The key is immediately rejected for all subsequent requests; the row is preserved (with revoked_at set) so the audit trail survives. Destructive. Requires owner role. |
| List all members of this workspace with their email + role. Requires at least viewer role. |
| List every Qualcomm AI Hub device EdgeGate can target (Snapdragon phones, QRD/CRD reference platforms, IoT Dragonwing, automotive, XR). Returns a markdown table grouped by category. Use the |
| List the customer's OWN connected devices (Jetson, Snapdragon hosts, gateways) with live/offline status computed from each device's heartbeat (30s beat, 90s window). This is the workspace fleet connected via |
| Dispatch an ONNX benchmark to one of the customer's connected devices (Jetson, Snapdragon host, gateway) by name/id. The on-device agent picks it up within ~30s and reports latency/memory results. Multi-silicon: works for any vendor the customer has connected. Requires admin role. |
| Add an existing EdgeGate user to this workspace by email at the given role (owner / admin / viewer). v1 only attaches existing users — does not send invitation emails to external addresses. Requires admin role; only owners can add other owners. |
| Change a member's role in this workspace. Cannot downgrade the last owner — promote another member to owner first. Requires owner role. |
| Remove a member from this workspace. The user loses access immediately; their pipelines and runs are preserved. Cannot remove the last owner. Destructive. Requires owner role. |
| Enterprise only. Zero-friction BYO storage setup — creates a pending grant with EdgeGate (returns the External ID) and returns the exact AWS CLI commands the agent should run to create the IAM role in the customer's AWS account. Pair with edgegate_attach_byo_role to finalize. Prefer this over edgegate_register_byo_bucket for new setups — the agent doesn't have to figure out the trust policy or guess at role names. Requires owner role. 402 from non-Enterprise workspaces; if a non-pending grant exists, instructs the agent to disconnect first. |
| Phase 2 of edgegate_setup_byo_storage. Hands the freshly-created Role ARN back to EdgeGate, which runs sts:AssumeRole + a deny-by-default HEAD probe to verify the trust + permission policies are correct. Flips the grant to 'active' on success, or returns a typed BYO_* error with a checklist of common misconfigurations on failure. Re-callable with the same role_arn after fixing IAM. |
| Enterprise only. Use edgegate_setup_byo_storage instead for new setups — this tool only works if you already have an IAM role and just want to register its ARN. Registers the workspace's customer-owned S3 bucket + IAM role as a BYO storage grant. EdgeGate's workers will AssumeRole into your AWS account to read model bytes — they never leave your account. Returns the External ID you must add to your role's trust policy. Requires owner role. 402 from non-Enterprise workspaces; 409 if a grant already exists. |
| Re-run the AssumeRole + HeadObject readiness probe against the workspace's BYO grant. Returns the updated grant status with the typed BYO_* error code if it failed, plus a checklist of common IAM / bucket / KMS misconfigurations to inspect. Requires admin role. |
| Register an existing S3 URI in your registered bucket as an EdgeGate Artifact. EdgeGate HeadObjects the URI to confirm the key exists + capture size/etag — bytes are NOT uploaded through EdgeGate. Returns an artifact_id you can pass directly to edgegate_create_pipeline / edgegate_run_gate. Requires admin role. Pre-conditions: Enterprise plan + active BYO grant + bucket matches the grant. |
| Delete the workspace's BYO storage grant. EdgeGate stops attempting to read from your bucket. Refuses (409) if artifacts still reference it — surface lists the safe paths forward (rotate External ID via dashboard, or drop the artifacts first). Destructive. Requires owner role. |
| Submit a multi-component LLM compile + link job via Qualcomm AI Hub. Returns a compile_job_id; poll with edgegate_check_llm_compile_status. Spend is gated by the workspace's monthly LLM compile cap (default 100/mo Pro tier). Each compile produces a composite QNN_DLC linked model + 3 component artifacts (prompt / token / kv_cache). Compile target_runtime is QNN_DLC under the hood despite the genie label — the label is for downstream profile dispatch hints only. |
| Poll an LLM compile job. Returns status (queued|running|completed|failed), composite_artifact_id when complete, error_detail when failed, and progress.compile_jobs_done / total. |
| Fetch the workspace's append-only BYO storage audit log (every AssumeRole, HeadObject, GetObject, KMS Decrypt). Supports filters by artifact_id, run_id, since timestamp, plus cursor pagination. Each row's aws_request_id is the join key for cross-referencing against your own CloudTrail. Requires admin role. |
| List the bundled behavioral eval-set starter packs a customer can clone from. Returns each pack's id, name, case count, and balance (must_refuse / task counts). Clone one into a new eval set via edgegate_create_eval_set(clone_from=). No workspace_id needed — the pack library is global. |
| Create a new behavioral eval set with its first draft version. Seed it from a bundled pack (clone_from), with explicit cases, both, or neither (empty draft). Each case has six fields: case_id, prompt, category (jailbreak|forbidden_action|task|format), forbidden_actions, must_refuse, expected_task_answer. Drafts are NOT validated here — only edgegate_publish_eval_set freezes + gates. Requires workspace write access. |
| List the workspace's behavioral eval sets — eval_set_id, name, latest version, and creation date. Use the eval_set_id with the update / publish / new-version tools. |
| Replace ALL cases of a DRAFT eval-set version (full replacement list, not a patch). Published versions are immutable — a 409 here means you must fork a fresh draft with edgegate_new_eval_set_version first. Still leaves the version a draft; publish separately. Requires workspace write access. |
| Validate and freeze a draft eval-set version into an immutable, signed, hash-anchored version. On success returns eval_set_sha256 + artifact_id (feed both into a 3b Behavioral-Gate run). On validation failure returns the balance/structural violations and the version stays a draft (floor: ≥5 must_refuse-with-forbidden cases + ≥1 task case). Requires workspace write access. |
| Fork a fresh draft (version+1) from a PUBLISHED version, seeded with its cases — the edit-after-publish path. Edit the new draft with edgegate_update_eval_set, then re-publish. The original published version (and any references / runs bound to its sha) is untouched. Requires workspace write access. |
| List the workspace's saved API/workflow endpoints — the targets of an API gate (n8n, Zapier, Make, or any OpenAI-compatible API). Returns each endpoint_id to pass to edgegate_capture_reference and edgegate_create_bg_run. Credentials are never returned; only whether one is stored and its last 4 characters. |
| Save an API/workflow endpoint so a behavioral gate can target it. This is the ONLY way to gate an authenticated endpoint: the credential is stored envelope-encrypted here and is never returned, whereas an inline |
| Send one test request to a saved endpoint and show the raw response beside the text EdgeGate extracted from it. Run this BEFORE capturing a baseline: it is the only thing that catches a wrong response_text_path, which yields empty text — and empty text scores as a refusal, so an all-empty baseline makes every later gate pass trivially. |
| Trigger a reference-oracle capture — the known-good baseline the Behavioral Gate diffs against. Specify EXACTLY one flavor: hf_repo (auto-FP16, EdgeGate runs the un-quantized same model), reference_upload_artifact_id (golden, customer-supplied), or endpoint_id/http (an API or workflow endpoint — n8n, Zapier, Make, or any OpenAI-compatible API; EdgeGate calls it once per case, nothing to install). Returns a job_id to poll. Requires workspace admin access. |
| Poll a reference-capture job. When status is done, returns reference_artifact_id — an ArtifactKind.REFERENCE artifact — to feed into edgegate_create_bg_run as the gate's trustworthy baseline. Requires workspace admin access. |
| Submit a 3-lane genie compile for the Behavioral Gate's self-hosted runner. Specify EXACTLY one lane selector: hf_repo (Lane A — EdgeGate compiles a HuggingFace repo), onnx_artifact_ids (Lane B — genie-ready multi-part ONNX, compile-and-link), or bundle_artifact_id (Lane C — an already-precompiled bundle). Returns a job_id to poll. Requires workspace admin access. |
| Poll a genie-compile job. When status is done, returns bundle_artifact_id — the compiled genie bundle to feed into edgegate_create_bg_run. Requires workspace admin access. |
| Wire what you are gating + a published eval set + a reference oracle into a behavioral-gate Run. Three targets: a compiled genie bundle (bundle_artifact_id, runs on-device via the self-hosted runner), an on-device LLM (geniex_model), or an API or workflow endpoint (endpoint_id/http — n8n, Zapier, Make, OpenAI-compatible; EdgeGate executes it by default, so nothing is installed, and results are tagged API-verified rather than hardware-certified). Errors with a mismatch hint when the reference was captured against a different eval-set version (eval_set_sha256 differs) or a different endpoint. Requires workspace admin access. |
| Cancel a non-terminal run, freeing the workspace's single active-run slot. Useful for a behavioral-gate run left queued waiting for a device that never reports back (it would otherwise block new runs). 409 if the run is already terminal. |
| Re-run an existing behavioral-gate run: clones its already-validated config (same bundle + eval set + reference + system prompt + device) into a fresh queued run — no need to re-supply artifact ids. 409 if the workspace already has an active run (cancel it first). |
| Generate the Behavioral-Gate GitHub Actions setup — the self-hosted-runner prerequisites, the workflow YAML (using the edgegate-bg composite action), and the gh secret commands. Unlike the standard run gate, BG runs the model on a real device, so it needs a self-hosted runner with the device attached. |
| Export the compliance-preset report for a run (e.g. ISO 26262 verification evidence) — a re-frame of the run's already-signed evidence against the standard's clauses (config identification, verification, change mgmt, tool classification, integrity). Verification evidence, NOT a compliance certification. The formatted assessor PDF is on the dashboard run page. |
| Export the Field Recorder EU AI Act Article 12 record-keeping report for a date range — the signed, hash-chained evidence of what deployed models did on-device (clause 12(1)/12(2)(a)/12(2)(b)/integrity mapping, event summary, Ed25519 signature). Verification evidence, NOT a compliance certification. The formatted assessor PDF is on the Field Recorder dashboard page. |
| Field Recorder status for a workspace: recorded-event counts, replay/divergence breakdown (passed/diverged/no_reference), hash-chain integrity (verified, gaps, signing keys), and the devices reporting in. Read-only. |
| Replay pending recorded events against their certified reference (a PASSED gate run for the same model) plus the input-matched baseline. Verdicts land asynchronously — poll edgegate_recorder_status. Events with no certified reference resolve to no_reference. |
Skills
Slash commands you can invoke directly:
/edgegate-init— full onboarding flow (zero → CI gate)/edgegate-gate— trigger a run on an existing pipeline/edgegate-status— check a run's status + metrics/edgegate-audit— fetch the evidence bundle for a run/edgegate-compare— diff two runs (auto-baseline) with REGRESSION/IMPROVEMENT/NEUTRAL verdict/edgegate-export— save a run report as a markdown file (for PR comments, Slack, compliance)/edgegate-import— import a Hugging Face ONNX model (anonymous, or workspace-token for private / gated / qualcomm-org repos)/edgegate-connect-huggingface— attach a personal HuggingFace token to the workspace so the import flow can read private / gated / qualcomm-org repos/edgegate-connect-qaihub— connect a Qualcomm AI Hub token so runs can actually compile and profile on Snapdragon devices/edgegate-workspace-setup— bootstrap a brand-new workspace end-to-end (create → connect AI Hub → API key → invite teammates)/edgegate-members— list / invite / change role / remove workspace members/edgegate-promptpacks— list existing promptpacks or create a new one with generated test cases/edgegate-byo-storage— Enterprise BYO storage onboarding (register grant → paste External ID → verify probe → first artifact → first run → audit log)
License
MIT — see LICENSE.
Available Tools
58 toolsedgegate_attach_byo_roleA
Phase 2 of edgegate_setup_byo_storage. Hands the freshly-created Role ARN back to EdgeGate, which runs sts:AssumeRole + a deny-by-default HEAD probe to verify the trust + permission policies are correct. Flips the grant to 'active' on success, or returns a typed BYO_* error with a checklist of common misconfigurations on failure. Re-callable with the same role_arn after fixing IAM.
| Name | Required | Description | Default |
|---|---|---|---|
| role_arn | Yes | ARN of the IAM role created in step 3 of edgegate_setup_byo_storage. Format: arn:aws:iam::<account-id>:role/<name>. EdgeGate will sts:AssumeRole this immediately to verify the trust + permission policies are correct. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so excellently. It discloses the internal verification steps (sts:AssumeRole + deny-by-default HEAD probe), the success outcome ('flips the grant to active'), the failure behavior (typed BYO_* error with a checklist), and idempotent re-callability, which is all beyond what the schema conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the phase context, and every sentence adds critical behavioral detail without fluff. The structure is tight and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers purpose, exact sequence, success/failure semantics, error format, and retry behavior. It is sufficiently complete for an agent to select and invoke the tool correctly in the context of the broader setup workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides a detailed description for role_arn (50% coverage), and the description reinforces its purpose and re-callability with the same value. However, workspace_id is left entirely undocumented in both schema and description, so the description only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('attach') and resource ('BYO role'), explicitly identifies it as 'Phase 2 of edgegate_setup_byo_storage', and clarifies the exact action (handing the Role ARN to EdgeGate for verification). This clearly distinguishes it from sibling tools like edgegate_setup_byo_storage and edgegate_register_byo_bucket.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates when to use it ('Phase 2 of edgegate_setup_byo_storage') and when it can be re-called ('after fixing IAM'). It does not explicitly mention when not to use it or name alternative tools, but the phase-based context and retry condition provide strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_cancel_runA
Cancel a non-terminal run, freeing the workspace's single active-run slot. Useful for a behavioral-gate run left queued waiting for a device that never reports back (it would otherwise block new runs). 409 if the run is already terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Run to cancel. Frees the workspace's single active-run slot. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the side effect of freeing the single active-run slot and the error condition (409 for terminal runs). It does not explicitly state whether cancellation is irreversible or return behavior, but for a cancel operation this is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly constructed sentences: the first states action and outcome, the second gives a use case and an error condition. No filler, front-loaded with the verb, and every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple cancel tool with 2 required params and no output schema, the description covers purpose, when to use, a motivating scenario, and an error case. It is self-sufficient and gives an agent enough to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: run_id has a descriptive schema comment, workspace_id has none. The description adds context about the non-terminal condition and slot freeing for run_id, but workspace_id remains undocumented. The description partly compensates but does not fully clarify both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Cancel') and resource ('a non-terminal run'), plus the key consequence ('freeing the workspace's single active-run slot'). This clearly distinguishes it from sibling tools like rerun or run_gate, and the scope (non-terminal only) is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete when-to-use guidance: a behavioral-gate run left queued waiting for a device that never reports back, which would otherwise block new runs. It also gives an exclusion criterion via the HTTP 409 note ('if the run is already terminal'), preventing misuse on terminal runs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_capture_referenceA
Trigger a reference-oracle capture — the known-good baseline the Behavioral Gate diffs the on-device quantized model against. Specify EXACTLY one flavor: hf_repo (auto-FP16, EdgeGate runs the un-quantized same model) or reference_upload_artifact_id (golden, customer-supplied). Returns a job_id to poll. Requires workspace admin access.
| Name | Required | Description | Default |
|---|---|---|---|
| hf_repo | No | auto-FP16 flavor: HF repo EdgeGate runs un-quantized as the oracle. | |
| workspace_id | Yes | ||
| decode_config | No | Decode settings, e.g. {"seed": 0}. Defaults to an empty object. | |
| system_prompt | Yes | System prompt the reference oracle is captured under. | |
| eval_set_artifact_id | Yes | Published eval-set artifact id (the artifact_id from edgegate_publish_eval_set). | |
| reference_upload_artifact_id | No | golden flavor: a customer-supplied reference upload artifact id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full transparency burden. It discloses that it returns a job_id, requires admin access, and clarifies the behavioral difference between the two flavors (auto-FP16 vs golden). It could additionally mention error conditions or what state changes occur, but the core behavior is clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, explaining the purpose in the first sentence and then providing essential usage constraints and return behavior in a few sentences. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with six parameters, no output schema, and a polling requirement. The description covers the essential workflow: what it does, the required flavors, the return type, and the permission level. It doesn't detail error handling or how to poll (leaving that to sibling tools), but it is sufficiently complete for an agent to initiate and understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is high (83%), so baseline is 3. The description adds meaningful value by introducing the mutual exclusivity constraint ('EXACTLY one flavor') not present in the schema, and clarifies the semantic distinction between hf_repo and reference_upload_artifact_id. This goes beyond the schema's basic property descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool triggers a 'reference-oracle capture' and defines it as the baseline the Behavioral Gate diffs against. It specifies the exact verb and resource, and the mention of two flavors (hf_repo and reference_upload_artifact_id) distinguishes it from other edgegate tools like edgegate_run_gate or edgegate_publish_eval_set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance to 'Specify EXACTLY one flavor' and explains the two options, which is crucial for correct usage. It also notes the admin requirement and that it returns a job_id to poll, implying a follow-up status tool. However, it doesn't explicitly point to alternative tools or say when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_change_member_roleA
Change a member's role in this workspace. Cannot downgrade the last owner — promote another member to owner first. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The new role. Requires the caller to be a workspace owner. | |
| user_id | Yes | Target member's user_id (from `edgegate_list_members`). | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It discloses important non-obvious behaviors: the last-owner protection rule and the caller permission requirement. It does not describe return values or side effects, but for a role change tool these are the most critical behavioral traits and are well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose. Every clause adds value: the main action, the critical exception, and the permission requirement. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple mutation tool with 3 required params and no output schema, the description covers purpose, permission, and edge cases. It is complete enough for an agent to call it correctly in most scenarios, though it does not mention the success response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% (user_id and role have descriptions). The description adds cross-parameter semantics: the 'cannot downgrade last owner' rule links user_id and role, and 'requires owner role' clarifies the caller's permission context. This goes beyond what the schema individually states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Change a member's role in this workspace' — a specific verb, resource, and object. It is distinguishable from sibling tools like invite_member and remove_member, which handle adding/removing rather than changing roles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: it is used to change a member's role, and includes key preconditions (requires owner role) and an edge-case constraint (cannot downgrade the last owner). It does not explicitly name alternatives, but the purpose is unambiguous enough that an agent can infer when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_check_byo_bucketA
Re-run the AssumeRole + HeadObject readiness probe against the workspace's BYO grant. Returns the updated grant status with the typed BYO_* error code if it failed, plus a checklist of common IAM / bucket / KMS misconfigurations to inspect. Requires admin role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It mentions the specific AWS actions (AssumeRole, HeadObject), the returned status and error codes, and a checklist of misconfigurations. It also states the admin role requirement. While it doesn't explicitly say the operation is read-only, the term 'probe' and the overall context sufficiently convey the non-mutating, diagnostic nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main action ('Re-run the AssumeRole + HeadObject readiness probe'), and each sentence adds value: the first defines the action and target, the second covers return values and a prerequisite. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, no output schema, and no annotations, this description is remarkably complete. It explains what the tool does, what it returns, and a necessary condition (admin role). The mention of the checklist and error codes provides adequate context without needing an output schema. The presence of many sibling tools does not create gaps here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description links workspace_id to the workspace's BYO grant, providing clear semantic meaning for the only parameter. It also adds context by mentioning the admin role requirement, though that is not directly param semantics. This is sufficient for a single-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: re-running an AssumeRole + HeadObject readiness probe for a workspace's BYO grant. It distinguishes itself from sibling tools like edgegate_setup_byo_storage or edgegate_register_byo_bucket by explicitly focusing on the diagnostic check operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is a re-run of a readiness probe, implying it should be used after initial setup or when debugging BYO bucket configurations. It also notes the admin role requirement. However, it does not explicitly name alternative tools or provide exclusion criteria, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_check_genie_compile_statusA
Poll a genie-compile job. When status is done, returns bundle_artifact_id — the compiled genie bundle to feed into edgegate_create_bg_run. Requires workspace admin access.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job_id returned by edgegate_compile_genie. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses the admin access requirement and the successful output, but does not describe behavior when the job is not done, error handling, or potential side effects. The 'poll' wording implies read-only, but the actual behavior is not fully detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the verb and resource, and every sentence adds value: what it does, what it returns, and a prerequisite. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter poll tool with no output schema, the description is largely complete: it explains the purpose, the output (bundle_artifact_id), the downstream usage, and the required permission. It could mention non-done status behavior, but overall it gives enough context for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, with only job_id described in the schema. The description does not add further meaning to either parameter, such as what workspace_id refers to or how job_id is obtained. It mentions 'genie-compile job' but doesn't connect parameters to the polling action. The description provides minimal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls a genie-compile job and returns a bundle_artifact_id upon completion. It uses specific verb+resource ('Poll a genie-compile job') and differentiates from sibling status tools by naming the job type and output. This is a precise, unambiguous purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: poll a genie-compile job, and when done, use the result to feed into edgegate_create_bg_run. It also mentions a prerequisite (workspace admin access). It doesn't explicitly contrast with alternatives like edgegate_check_status, but the specificity makes the appropriate use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_check_llm_compile_statusA
Poll an LLM compile job. Returns status (queued|running|completed|failed), composite_artifact_id when complete, error_detail when failed, and progress.compile_jobs_done / total.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | ||
| compile_job_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the statuses returned, when composite_artifact_id is present, when error_detail is present, and the progress fields. The verb 'Poll' conveys a read-only, repeatable operation. However, it does not mention side effects (likely none), rate limits, or behavior for invalid job IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and efficiently lists the return values. The use of slashes for statuses is concise but does not compromise clarity. It is appropriately sized with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple polling tool with two obvious parameters and no output schema, the description covers the essential return values and statuses. It lacks an explicit example or guidance on polling interval, but the information is sufficient for basic invocation and interpretation of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides no meaning for workspace_id or compile_job_id beyond the tool name. The description references 'an LLM compile job' but does not indicate which parameter identifies the job or the role of workspace_id, leaving the agent to infer from parameter names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Poll' and identifies the resource as 'an LLM compile job', clearly distinguishing it from the sibling 'edgegate_check_genie_compile_status' which polled Genie compile jobs. The statuses and returned fields are enumerated, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for polling an LLM compile job after it has been started, but it does not explicitly state when to use this tool versus the sibling check_genie_compile_status or other alternative tools. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_check_reference_capture_statusA
Poll a reference-capture job. When status is done, returns reference_artifact_id — an ArtifactKind.REFERENCE artifact — to feed into edgegate_create_bg_run as the gate's trustworthy baseline. Requires workspace admin access.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | The job_id returned by edgegate_capture_reference. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does well: it discloses the polling action, the success return value, and the admin access prerequisite. It does not cover error handling or other statuses, but the provided behavioral details are valuable for correct invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with the key information front-loaded: the main action ('Poll a reference-capture job'), the success outcome, and the downstream integration. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema and annotations, the description explains the workflow, output artifact, downstream use, and required permission, making it sufficiently complete for a simple polling tool. It omits error handling or status details, but these are not critical for basic invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema documents job_id's origin (returned by edgegate_capture_reference), but workspace_id has no description. The tool description does not add further explanation for workspace_id or parameter usage, leaving the 50% coverage gap only partially compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool polls a reference-capture job, specifies the successful output (reference_artifact_id) and its downstream use in edgegate_create_bg_run, which distinguishes it from sibling status-check tools like edgegate_check_status or edgegate_check_llm_compile_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool (polling a reference-capture job) and notes the admin access requirement, but it does not explicitly name alternatives or state when not to use it. The context is sufficient for an agent to select it over generic status tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_check_statusB
Get the current status of an EdgeGate run, including per-device metrics and which gates passed or failed.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It discloses that the response includes per-device metrics and gate results, but it does not explicitly state whether the operation is read-only, or mention any side effects, rate limits, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the primary action and key response details. Every word contributes value and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no output schema and no annotations, the description should provide more context. It mentions per-device metrics and gate results but does not explain the run status format, how to interpret failures, or any prerequisites. It is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does not explain the parameters beyond the schema's UUID format, nor does it clarify the relationship between workspace_id and run_id. The parameter names are fairly self-explanatory but the description adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets the current status of an EdgeGate run, with specific details about per-device metrics and gate pass/fail outcomes. This distinguishes it from siblings like edgegate_get_report (which likely retrieves a full report) and status checks for other resources (e.g., edgegate_check_genie_compile_status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies it is for checking a run's status, but does not mention prerequisites, timing, or when to prefer other tools like edgegate_get_report or edgegate_compare_runs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_compare_runsA
Diff two EdgeGate runs in the same pipeline — metrics delta, gate flips (✓→✗ regressions and ✗→✓ recoveries), per-device breakdown, and an overall verdict (REGRESSION / IMPROVEMENT / NEUTRAL / NO BASELINE). When baseline_run_id is omitted, auto-selects the most recent PASSED run from the same pipeline as the baseline.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | Candidate run to evaluate | |
| workspace_id | Yes | ||
| baseline_run_id | No | Baseline to compare against. When omitted, auto-selects the most recent PASSED run from the same pipeline (excluding the candidate itself), or the most recent completed run as a fallback. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the output components (gate flips, verdict types) and the auto-selection of the most recent PASSED run when baseline_run_id is omitted. It does not state whether the operation is read-only or any side effects, but the nature of a diff strongly implies non-mutating behavior. The explicit baseline fallback behavior is valuable transparency that exceeds basic expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, efficiently packed with useful information: the operation, the output list, and the default baseline behavior. No filler or redundant phrasing. Front-loaded with the verb 'Diff' and resource, making it immediately scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain the return values—and it does, listing metrics delta, gate flips, per-device breakdown, and the verdict categories. It also covers the key baseline selection logic. It lacks mention of permissions, errors, or pipeline requirements, but for a comparison tool with moderate complexity, this is a solid, usable description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%: run_id and baseline_run_id have descriptions, while workspace_id lacks one. The description adds context on overall tool behavior but does not provide new parameter-level details beyond the schema. In fact, the schema's baseline_run_id description includes the fallback to 'most recent completed run' which the main description omits. The description is adequate but does not meaningfully supplement the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Diff two EdgeGate runs in the same pipeline.' It enumerates exact outputs (metrics delta, gate flips, per-device breakdown, overall verdict) which clearly distinguishes it from siblings like edgegate_check_status or edgegate_get_report. This is a textbook example of a purpose that is both specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: this tool is for comparing runs in the same pipeline, with a defined default behavior for missing baseline_run_id. It does not explicitly name alternatives or exclusions, but the purpose is so distinct that an agent can intuitively know when to use it. Missing explicit 'use when' or 'not when' guidance lowers it one point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_compile_genieA
Submit a 3-lane genie compile for the Behavioral Gate's self-hosted runner. Specify EXACTLY one lane selector: hf_repo (Lane A — EdgeGate compiles a HuggingFace repo), onnx_artifact_ids (Lane B — genie-ready multi-part ONNX, compile-and-link), or bundle_artifact_id (Lane C — an already-precompiled bundle). Returns a job_id to poll. Requires workspace admin access.
| Name | Required | Description | Default |
|---|---|---|---|
| hf_repo | No | Lane A: a HuggingFace repo id EdgeGate compiles into a genie bundle. | |
| device_id | Yes | Target device chipset id the bundle compiles for, e.g. sm8550. | |
| workspace_id | Yes | ||
| onnx_artifact_ids | No | Lane B: genie-ready multi-part ONNX artifact ids to compile-and-link. | |
| bundle_artifact_id | No | Lane C: an already-precompiled genie bundle artifact id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does disclose that the operation is asynchronous (returns a job_id to poll) and requires workspace admin access. However, it omits any side effects (e.g., resource consumption, persistence of the compile job) and does not clarify whether the operation is destructive or creates persistent artifacts. This is better than nothing but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, and every phrase earns its place. It packs lane definitions, return value, and authorization requirement without redundancy. No fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description covers the key return behavior ('Returns a job_id to poll') and mentions the required admin scope. It explains the three compile lanes sufficiently. Minor gaps exist—such as explicitly stating that workspace_id and device_id are always required or pointing to a status-check sibling—but the core context is complete enough for a competent agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents most parameters. The description adds meaningful value by labeling each selector as Lane A/B/C and explicitly stating 'EXACTLY one lane selector', which clarifies the mutual exclusivity that the schema alone does not convey. This is more than the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Submit a 3-lane genie compile') and clearly distinguishes the tool from siblings by enumerating the three distinct lanes (hf_repo, onnx_artifact_ids, bundle_artifact_id). This is far more specific than a generic 'compile' and matches the unique purpose of this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs the user to specify exactly one lane selector and names each option, giving clear context about required inputs. It also states a prerequisite (workspace admin access). However, it does not explicitly contrast with sibling tools like edgegate_llm_compile or mention when NOT to use this tool, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_connect_huggingfaceA
Store a personal HuggingFace access token for this workspace so the import flow can read private / gated / Qualcomm-org repos (most qualcomm/, Intel/, and many Xenova/* repos 401 the anonymous endpoint). The token is validated against HF whoami before encryption and is never echoed in plaintext. If an integration already exists this tool rotates the token. Requires admin role.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Personal HuggingFace access token (starts with hf_). Generate one at https://huggingface.co/settings/tokens — Read scope is enough for the import flow. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses validation against HF whoami, encryption, no plaintext echo, token rotation, and admin requirement. It could additionally explain failure behavior on invalid tokens, but this is already a strong disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, all dense with useful information: primary action, use case, validation, encryption, rotation, and permission requirement. No filler words; everything earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a token connection tool with no output schema, the description covers the key operational aspects: purpose, prerequisites, behavior, and outcome conditions. It lacks explicit return value/success criteria, but the behavioral detail and sibling context make it adequately complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50% (token is documented, workspace_id is not). The description adds context that the token is for this workspace and mentions the import flow, but it does not clarify workspace_id semantics beyond the schema's UUID format. It partially compensates, but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Store a personal HuggingFace access token for this workspace,' a specific verb+resource that clearly states the action. It explains the purpose (reading private/gated repos via the import flow) and implicitly distinguishes this from siblings like import_huggingface_model, get_huggingface_integration, and disconnect_huggingface.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: use when you need the import flow to access private/gated/Qualcomm-org repos. It also notes prerequisite conditions (admin role) and rotation behavior. However, it does not explicitly contrast with alternative anonymous access or the get integration tool, just implies it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_connect_qaihubA
Store a Qualcomm AI Hub API token for this workspace so EdgeGate can submit compile + profile jobs on real Snapdragon devices. The token is encrypted at rest and is never returned in plaintext after the initial connect. If an integration already exists this tool transparently rotates the token. Requires admin role.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Qualcomm AI Hub API token. Generate one at https://app.aihub.qualcomm.com/account/api-token — it's the same token you'd export as QAIHUB_API_TOKEN in a local SDK setup. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses encryption at rest, that the token is never returned in plaintext after initial connect, transparent rotation, and the admin role requirement. This gives the agent a strong sense of side effects and security expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with front-loaded purpose and no filler. Each sentence adds critical information: purpose, security/rotation behavior, and access requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential behavioral aspects (encryption, rotation, admin requirement) and purpose. It does not describe the return value, but given the lack of an output schema and the simple action, this is a minor omission. Overall it is sufficiently complete for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers token with a detailed description (where to generate it, equivalence to QAIHUB_API_TOKEN), and workspace_id is a self-evident UUID. The tool description adds the context that the token is for 'this workspace' but does not further describe workspace_id. With 50% schema coverage, the description partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stores a Qualcomm AI Hub API token for a workspace, enabling EdgeGate to submit compile and profile jobs. It distinguishes itself from sibling tools like get_qaihub_integration and disconnect_qaihub by focusing on the connection/rotation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (setup or rotate the QAI Hub token for a workspace) and even notes rotation behavior. It does not explicitly name alternatives, but the purpose is unambiguous and the admin requirement is a clear usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_api_keyA
Create a new API key for this workspace. The plaintext token is returned EXACTLY ONCE in the response — copy it to your CI secrets or local env immediately. Requires Pro tier or above. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable label for the key, e.g. "GitHub Actions production" — you'll need this later to identify which key to rotate or revoke. | |
| expires_at | No | Optional ISO-8601 expiry timestamp. Omit for a non-expiring key (you can always revoke it manually). | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explicitly discloses the critical one-time return of the plaintext token ("returned EXACTLY ONCE") and the immediate need to copy it. It also states access requirements. This goes beyond typical descriptions, though it omits details like response structure or idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place. The first states the action, the second highlights the critical token handling, and the third lists requirements. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description conveys the most important response detail (one-time token) and covers prerequisites. It lacks a full response format description, but the essential context for safe invocation and handling is present. Sibling tools provide additional ecosystem context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents name and expires_at with meaningful descriptions, giving 67% coverage. The description adds context for workspace_id by noting "for this workspace," but doesn't add significant parameter semantics beyond the schema. The prerequisites (Pro tier, owner role) are not parameter-specific. This is a moderate value-add, so a 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: "Create a new API key for this workspace" (verb: create, resource: API key). This clearly distinguishes it from sibling tools like list_api_keys and revoke_api_key. The scope is specified as "this workspace," adding precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: when a new API key is needed. It includes key prerequisites ("Requires Pro tier or above," "Requires owner role") and operational guidance (copy the token immediately). It does not explicitly name alternatives like list/revoke, but the purpose inherently separates it from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_bg_runA
Wire a compiled genie bundle + published eval set + reference oracle into a behavioral-gate Run — populates Run.runner_config_json so the self-hosted runner can execute the gate on-device. Errors with a mismatch hint when the reference was captured against a different eval-set version (eval_set_sha256 differs). Requires workspace admin access.
| Name | Required | Description | Default |
|---|---|---|---|
| vendor | No | Runner vendor. Defaults to "qualcomm". | |
| device_label | No | Human-readable device label, e.g. "Samsung Galaxy S23 Ultra / Snapdragon 8 Gen 2 (SM8550)". | |
| workspace_id | Yes | ||
| decode_config | No | Decode settings, e.g. {"seed": 0}. Defaults to an empty object. | |
| system_prompt | No | System prompt the run executes under. Defaults to empty. | |
| requirement_map | No | ISO 26262 traceability: maps a gate/signal name to its safety requirement id + ASIL, e.g. {"forbidden_action": {"requirement_id": "SR-CABIN-014", "asil": "B"}}. Surfaced by edgegate_export_compliance_report. | |
| bundle_artifact_id | Yes | Compiled genie bundle artifact id from edgegate_check_genie_compile_status. | |
| eval_set_artifact_id | Yes | Published eval-set artifact id from edgegate_publish_eval_set. | |
| reference_artifact_id | Yes | Reference-oracle artifact id from edgegate_check_reference_capture_status. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses meaningful behavioral traits: the internal effect (populates runner_config_json), error behavior (mismatch hint when eval_set_sha256 differs), and auth requirement (workspace admin). This goes beyond a simple 'create' statement and helps the agent anticipate outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with the primary action front-loaded, followed by error behavior and auth. Every sentence adds critical information without redundancy. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, error, and auth, but lacks any mention of return values or what happens after run creation (e.g., run ID, status check). Given no output schema and a 9-param tool with nested objects, the description is adequate but could be more complete by noting how to track the run or what response to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents most parameters well. The description adds context about the relationship between reference and eval-set versions (mismatch hint) but does not significantly elaborate on parameter formatting or usage beyond schema. It meets baseline but does not compensate for the small uncovered portion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Wire a compiled genie bundle + published eval set + reference oracle into a behavioral-gate Run.' This uses a specific verb and resource, and the context of populating runner_config_json distinguishes it from sibling tools like edgegate_create_pipeline or edgegate_run_gate. It unambiguously identifies this as the tool for creating a background run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage prerequisites (compiled bundle, published eval set, reference) and mentions error conditions, but does not explicitly compare with alternatives like edgegate_run_gate or edgegate_rerun_bg. There's no 'use this instead of' or 'when not to use' guidance. However, the context makes it clear this is for on-device self-hosted runs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_eval_setA
Create a new behavioral eval set with its first draft version. Seed it from a bundled pack (clone_from), with explicit cases, both, or neither (empty draft). Each case has six fields: case_id, prompt, category (jailbreak|forbidden_action|task|format), forbidden_actions, must_refuse, expected_task_answer. Drafts are NOT validated here — only edgegate_publish_eval_set freezes + gates. Requires workspace write access.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| cases | No | Explicit list of case dicts. May be combined with clone_from or used instead. Omit both to start with an empty draft. | |
| clone_from | No | A pack id from edgegate_list_eval_packs; seeds the draft with that pack's cases. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses key behaviors: creates a draft (unvalidated), requires workspace write access, and clarifies that validation happens elsewhere. This is good transparency, though it doesn't mention return values or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the primary action. Every sentence adds useful information—purpose, seeding combinations/field details, and validation caveat—with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with 4 params, no output schema, and no annotations, the description covers the essential context: what is created, how seeding works, field definitions, validation behavior, and required permission. It lacks return-value details, but that is not critical given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (cases and clone_from have descriptions in the schema). The description adds value by explaining how these parameters combine (clone_from, explicit cases, both, or neither) and enumerates the six case fields, going beyond the schema's structural definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Create a new behavioral eval set with its first draft version.' It distinguishes itself from sibling tools like edgegate_update_eval_set and edgegate_publish_eval_set by focusing on creation with a draft, making the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Drafts are NOT validated here — only edgegate_publish_eval_set freezes + gates,' providing an explicit alternative and telling the agent when not to expect validation. Also mentions seeding modes (clone_from, cases, both, neither), giving clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_pipelineA
Create a new EdgeGate regression pipeline. Define which model(s), which device(s), and which gates (e.g. inference_time_ms ≤ 10) the pipeline will enforce. For LLMs: set llm_compile_source on a model instead of artifact_id. EdgeGate will compile + link via AI Hub on first run; subsequent runs reuse the cached composite. ttft_ms + tps gates work; both are derived from per-component profile (prompt-role inference_time → TTFT; 1000/token-role inference_time → TPS). Each LLM gate run = 3 AI Hub profile jobs (one per component) ≈ 3× CV cost.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| gates | Yes | ||
| models | No | ||
| devices | Yes | ||
| repeats | No | ||
| input_specs | No | Optional. Override AI Hub input shapes per named input. For text models like MiniLM, try `{input_ids: {shape: [1, 128], dtype: "int64"}, attention_mask: {shape: [1, 128], dtype: "int64"}}`. Omit to let EdgeGate auto-detect from the ONNX file (works for most models including image classification, BERT-family, MiniLM). | |
| workspace_id | Yes | ||
| promptpack_id | Yes | ||
| promptpack_version | No | 1.0.0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It explains important behaviors: first-run compilation + linking via AI Hub, cached composite on subsequent runs, derivation of ttft_ms/tps gates, and a notable cost implication (3× CV cost). This adds substantial context beyond the raw schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and efficiently structured: it opens with the core purpose, then adds one non-redundant detail per sentence (LLM handling, caching, gate derivation, cost). No fluff or repeated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 9 parameters, nested objects, and no output schema, the description covers the essential workflow, LLM-specific behavior, caching, and cost tradeoffs. It misses some operational details like return values or how input_specs interacts with detection, but overall it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 11%, so the description compensates by explaining the roles of models, devices, and gates, and specifically clarifies the llm_compile_source vs artifact_id choice. It also explains how ttft_ms and tps gate values are derived. However, it does not cover all 9 parameters (e.g., workspace_id, promptpack_id, input_specs remain unexplained in prose).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new EdgeGate regression pipeline' with a specific verb and resource, and goes on to explain what the pipeline enforces (models, devices, gates). This distinguishes it from sibling tools like edgegate_run_gate or edgegate_create_bg_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus sibling alternatives. The only usage note ('For LLMs: set llm_compile_source instead of artifact_id') is an internal parameter choice, not a tool-selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_promptpackA
Create a new promptpack in an EdgeGate workspace. A promptpack defines the test cases (prompts, expected outputs, per-case overrides) that regression pipelines evaluate. Requires admin role on the workspace. Packs are immutable after creation — bump the version to update.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | ||
| cases | Yes | ||
| version | Yes | ||
| defaults | No | ||
| description | No | ||
| workspace_id | Yes | ||
| promptpack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It clearly discloses that creation requires admin role, that packs are immutable, and that updates require version bumps—key behavioral traits. It does not mention idempotency, conflict handling, or return value, but the most impactful side effects and permissions are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the primary purpose, and every sentence adds value: defining a promptpack, noting the admin requirement, and flagging immutability. There is no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex creation tool with 8 parameters, nested objects, and no output schema, the description provides the essential high-level context (purpose, permission, immutability) but lacks guidance on parameter relationships (e.g., defaults vs. overrides), versioning semantics, or what happens after a successful create. The schema helps fill structural gaps, but the description alone is not fully complete for such a nuanced operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate by explaining individual parameters. It only hints at the 'cases' structure with the phrase 'test cases (prompts, expected outputs, per-case overrides)' but provides no detail on workspace_id, promptpack_id, version format, defaults, or tags. The schema itself is the only source of parameter meaning, making this dimension weak.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Create') and resource ('promptpack'), immediately stating the tool's function. It further clarifies the domain ('EdgeGate workspace') and explains what a promptpack is (test cases for regression pipelines), distinguishing it clearly from sibling tools like list_promptpacks and publish_promptpack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it states that admin role is required and that packs are immutable after creation, with the update mechanism ('bump the version') explicitly mentioned. However, it does not explicitly state when to prefer this tool over alternatives (e.g., create_eval_set) or when not to use it, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_create_workspaceA
Create a new EdgeGate workspace. The caller automatically becomes the owner. Subject to plan-tier workspace limits. After creation, connect Qualcomm AI Hub and define pipelines as usual.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the new workspace, e.g. "MobileNet Production". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that the caller becomes owner and that plan-tier limits apply, which is useful. However, it does not mention potential side effects beyond these, such as what happens on limit exceeded, whether the operation is reversible, or what is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with each sentence contributing meaningful information: purpose, ownership implication, plan limits, and post-creation steps. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with one parameter and no output schema, the description covers the essential workflow context. It could be more complete by stating what is returned (e.g., workspace ID), but the low complexity means the omission is not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents the single parameter 'name' with a clear description and example. The tool description adds no additional parameter context, so the baseline score of 3 applies given the high schema coverage (100%).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Create a new EdgeGate workspace.' It also provides key behavioral context (caller becomes owner, plan-tier limits) and distinguishes it from sibling tools like 'setup_workspace' by focusing on the creation act itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by noting 'After creation, connect Qualcomm AI Hub and define pipelines as usual,' which positions this tool as the initial step in a workflow. However, it does not explicitly mention alternatives or when not to use it, leaving some room for ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_disconnect_byo_bucketA
Delete the workspace's BYO storage grant. EdgeGate stops attempting to read from your bucket. Refuses (409) if artifacts still reference it — surface lists the safe paths forward (rotate External ID via dashboard, or drop the artifacts first). Destructive. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It explicitly states 'Destructive', requires owner role, mentions the 409 refusal behavior, and describes the safe paths. It even discloses the post-deletion behavior ('stops attempting to read from your bucket'), leaving no ambiguity about consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, followed by key behavioral details and caveats. No redundancy or filler; every sentence adds necessary information, making it appropriately concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a destructive tool with no annotations and no output schema, the description covers all critical aspects: action, effect, failure mode, alternative steps, and required permissions. It is complete enough for an agent to invoke the tool safely and understand potential outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter (workspace_id) with no description, and the description also does not explicitly explain this parameter. However, the tool name and description clarify that it operates on the workspace's BYO grant, making the parameter's purpose implicit. The description does not add direct parameter-level detail, but the context is sufficient for a single obvious UUID field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Delete the workspace's BYO storage grant.' It uses a specific verb with a specific resource and explains the effect ('EdgeGate stops attempting to read from your bucket'). This distinguishes it from siblings like register/check/attach BYO bucket tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use context, including a precondition ('Requires owner role') and a conflict condition ('Refuses (409) if artifacts still reference it') with explicit safe paths forward ('rotate External ID via dashboard, or drop the artifacts first'). This effectively guides the agent on how to handle the operation and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_disconnect_huggingfaceA
Permanently delete the workspace's HuggingFace integration. Future HF imports fall back to anonymous access. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the destructive nature ('Permanently delete'), the impact on future imports ('fall back to anonymous access'), and the authorization requirement ('Requires owner role'). This is exceptional transparency for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence states the action and target, and the second provides two key behavioral consequences. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple intent with one parameter and no output schema, the description covers purpose, effect, and permission. It fully equips the agent to know when and how to invoke the tool, and what to expect afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, workspace_id, with no description. The description does not explicitly explain this parameter, but the parameter name is self-explanatory and the tool name reinforces the workspace context. Given the low schema coverage (0%), the description could have provided more detail, but the single parameter's purpose is clear enough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Permanently delete the workspace's HuggingFace integration.' It uses a specific verb ('delete') and identifies the resource ('HuggingFace integration'), making it distinct from sibling tools like edgegate_connect_huggingface or edgegate_get_huggingface_integration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: it is for disconnecting, with the consequence that 'Future HF imports fall back to anonymous access.' It also notes the requirement for an owner role. However, it does not explicitly name alternatives or exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_disconnect_qaihubA
Permanently delete the workspace's Qualcomm AI Hub integration. Any new EdgeGate runs in this workspace will then fail with NO_AIHUB_TOKEN until a fresh token is connected. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well: it discloses permanence ('Permanently delete'), the side effect on future runs ('fail with NO_AIHUB_TOKEN'), and the required role ('Requires owner role'). This gives the agent a clear behavioral model for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the primary action ('Permanently delete'), and every sentence adds value: the consequence and the permission requirement are both essential. No filler or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with no output schema and no annotations, the description is complete. It covers purpose, side effects, failure mode, and permission requirement. The only minor omission is whether the operation is idempotent or what happens if no integration exists, but that is not critical for selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not add any detail about the workspace_id parameter beyond what the schema shows. The description refers to 'the workspace' but doesn't explain how to obtain or format the ID. Since the description does not compensate for the lack of schema documentation, the parameter semantics are weak.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Permanently delete the workspace's Qualcomm AI Hub integration', using a specific verb (delete) and resource (Qualcomm AI Hub integration). It distinguishes itself from sibling tools like edgegate_connect_qaihub and edgegate_get_qaihub_integration by describing a permanent removal action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use it (when you want to remove the integration) and includes a prerequisite ('Requires owner role') and a consequence ('Any new EdgeGate runs... will then fail with NO_AIHUB_TOKEN until a fresh token is connected'). It doesn't explicitly name alternatives, but sibling names make the alternative actions obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_export_compliance_reportA
Export the compliance-preset report for a run (e.g. ISO 26262 verification evidence) — a re-frame of the run's already-signed evidence against the standard's clauses (config identification, verification, change mgmt, tool classification, integrity). Verification evidence, NOT a compliance certification. The formatted assessor PDF is on the dashboard run page.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | Compliance preset. Default "iso26262". | |
| run_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses that the tool re-frames already-signed evidence, lists the covered clauses, clarifies it's not a certification, and points to where the PDF appears. This covers key traits of a read-only export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler; the first fronts the action and the second adds a critical limitation and output location.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the report's purpose, content (clauses), limitation, and where to find the formatted PDF. It doesn't specify the API return value, but since no output schema exists, that's a minor gap; overall, it's sufficient for a report generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (preset has a description); workspace_id and run_id are not described in the schema, and the description doesn't explain them or their formats. It mentions 'preset' only indirectly via the example of ISO 26262, so it poorly compensates for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Export the compliance-preset report for a run' with a specific verb and resource, and distinguishes from generic run reports by explaining it's a re-frame of signed evidence against standard clauses and explicitly not a compliance certification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when this tool applies (compliance-preset reports like ISO 26262) and states an exclusion ('NOT a compliance certification'), though it doesn't explicitly name alternative tools for general reports.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_export_field_recorder_reportA
Export the Field Recorder EU AI Act Article 12 record-keeping report for a date range — the signed, hash-chained evidence of what deployed models did on-device (clause 12(1)/12(2)(a)/12(2)(b)/integrity mapping, event summary, Ed25519 signature). Verification evidence, NOT a compliance certification. The formatted assessor PDF is on the Field Recorder dashboard page.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End of the reporting period (ISO 8601, e.g. 2026-07-01). | |
| from | Yes | Start of the reporting period (ISO 8601, e.g. 2026-06-01). | |
| device_id | No | Optional — restrict the report to a single device. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden and does meaningful work: it discloses that the output is signed, hash-chained, includes Ed25519 signatures and integrity mappings, and is verification evidence rather than certification. It also implies the export is not the formatted PDF by directing users to the dashboard. It does not mention side effects, auth needs, or return format, but as an export operation the read-only nature is reasonably clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences front-load the verb, resource, and scope, then pack in essential content details and a key disambiguation. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, content, and evidence nature, and the dashboard pointer helps set expectations about output. However, there is no output schema and the description does not explicitly state the export's return format (e.g., JSON, file download, URL), which is a minor gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents from/to with ISO examples and device_id as optional, giving 75% coverage. The description adds only 'date range' context and does not clarify the missing workspace_id semantics or date inclusivity, so it does not substantially go beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Export') and a clearly identified resource ('Field Recorder EU AI Act Article 12 record-keeping report') scoped by date range. It enumerates the report contents (clause mapping, event summary, Ed25519 signature) and explicitly differentiates from a compliance certification, distinguishing it from related sibling tools like export_compliance_report.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is for exporting signed, hash-chained verification evidence over a date range, and explicitly warns it is 'NOT a compliance certification.' It also points users to the dashboard for the formatted assessor PDF, but it does not name a specific alternative tool for compliance certification or give explicit when-not-to-use scenarios beyond that exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_export_run_reportA
Download a human-readable markdown report for an EdgeGate run and save it to disk. Returns the absolute file path plus a preview of the first 30 lines. Optionally includes a run-vs-baseline diff section (include_diff=true).
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| output_path | No | Where to write the markdown file. Defaults to `./edgegate-run-{id-short}.md` in the current working directory. If a directory, the file is named `edgegate-run-{id-short}.md` inside it. Supports `~` and relative paths. | |
| include_diff | No | When true, also fetches the run-vs-baseline diff and appends a diff section to the report. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behaviors: saves report to disk, returns absolute file path and a 30-line preview, and optionally includes a diff section controlled by include_diff. It does not mention overwrite behavior or required permissions, but given the export nature and output_path schema description, the main behavioral traits are well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, tight and front-loaded. The first sentence states the core action and return values; the second covers the optional diff. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description adequately covers return values (file path and preview) and the optional diff. It leaves some gaps such as not explicitly requiring workspace_id (though the schema marks it required) and not mentioning file overwrite behavior, but overall it provides sufficient context for invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%, with output_path and include_diff already described in the schema. run_id and workspace_id lack descriptions, and the tool description does not add meaning for these required parameters beyond their names and format. It does reinforce include_diff with a hint, but overall adds limited value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb phrase 'Download a human-readable markdown report... and save it to disk', clearly stating the tool's primary function. It distinguishes itself from sibling tools like edgegate_get_report (which retrieves report content) and edgegate_export_compliance_report (which targets a different report type) by emphasizing file output and the returned file path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it is used when a run report needs to be downloaded as a markdown file saved to disk, with an optional baseline diff. It implies when to use this tool relative to siblings that likely return content rather than write files. However, it does not explicitly name alternatives or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_get_audit_reportA
Get the signed audit report PDF URL for a completed EdgeGate run. Used for compliance records.
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It states that the tool returns a URL (implying a read operation), that the run must be completed, and that the PDF is signed—these are helpful. However, it does not disclose potential URL expiry, permission requirements, or error behavior, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences: the first is front-loaded with the action and output, the second adds a clear purpose. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with 2 parameters and no output schema, the description covers the core function adequately. It notes the prerequisite of a completed run and the compliance context. However, it could improve by clarifying how this differs from similar report-export siblings or whether the URL is ephemeral, so there is slight incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Parameter descriptions cover 0% of the schema's properties, and the description does not explain workspace_id or run_id beyond their names. The mention of 'completed run' hints at run_id's role, but no additional meaning is provided. Given the absence of schema descriptions, the tool description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'signed audit report PDF URL' for a completed EdgeGate run, with the intended use case 'compliance records'. This distinguishes it from sibling tools like get_report or export_run_report, which are more generic or oriented toward other report types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: the tool is for completed runs and compliance purposes, implying it should be used when an audit-ready signed PDF is needed. It does not explicitly mention alternatives or when not to use it, but the specificity of 'audit report' and 'compliance records' offers enough guidance relative to the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_get_byo_auditA
Fetch the workspace's append-only BYO storage audit log (every AssumeRole, HeadObject, GetObject, KMS Decrypt). Supports filters by artifact_id, run_id, since timestamp, plus cursor pagination. Each row's aws_request_id is the join key for cross-referencing against your own CloudTrail. Requires admin role.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size (1–500, default 100). | |
| since | No | ISO-8601 timestamp; only include events newer than this. | |
| cursor | No | Opaque cursor returned by a previous call. Pass it back verbatim to fetch the next page; omit on the first call. | |
| run_id | No | Filter to events from this run. | |
| artifact_id | No | Filter to events referencing this artifact. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does exceptionally well: it discloses the append-only nature, the specific event types logged, the pagination mechanism, the join-key field (aws_request_id), and the admin role requirement. This goes well beyond a basic 'fetch' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the first states the resource and scope, the second covers filters/pagination, and the third provides the join key and permission requirement. No filler, well front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description is quite complete: it explains what the log contains, how to filter and paginate, and what to do with each row's aws_request_id. It does not describe the exact row structure or error cases, but for a fetch-log tool this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 83%, so the baseline is 3. The description adds meaning by explicitly mapping filters (artifact_id, run_id, since) and cursor pagination to the parameters, and it introduces the output-level aws_request_id join key, which is not in the schema. This enriches understanding beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and identifies the exact resource: the workspace's append-only BYO storage audit log, enumerating the event types included. This clearly distinguishes it from siblings like edgegate_get_audit_report, which likely covers a different audit domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context: the tool is for retrieving BYO storage audit events with optional filters and cursor pagination. It also notes the admin role requirement. However, it does not explicitly mention when not to use it or suggest alternatives, which is a minor gap given similar audit tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_get_huggingface_integrationA
Show whether a personal HuggingFace token is connected to this workspace (and whether it is currently active or disabled). Does not return the token itself.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: 'Does not return the token itself,' which is valuable. However, with no annotations, it does not explicitly state this is a read-only operation or discuss permissions/side effects. It adds some context but is not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the primary purpose and a useful caveat. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description covers the core behavior and a critical security aspect. It lacks return format or error scenarios, but these are not essential for this low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter, workspace_id, with no description. The description's reference to 'this workspace' ties the parameter to its meaning, adding minimal value. The parameter is self-explanatory, so a baseline of 3 is appropriate despite the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact action ('Show') and resource ('whether a personal HuggingFace token is connected to this workspace'), with additional status detail (active/disabled). This clearly distinguishes it from sibling tools like connect_huggingface or get_qaihub_integration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for checking HuggingFace token connection status, but provides no explicit guidance on when to use it versus alternatives (e.g., before connecting, or instead of connect_huggingface). Context is clear but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_get_qaihub_integrationA
Show whether a Qualcomm AI Hub token is connected to this workspace and whether it is currently active. Does not return the token itself.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly states that the token itself is not returned, which is a valuable behavioral disclosure. However, it does not elaborate on side effects or response details beyond the connected/active status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence plus a clarifying clause. Every word earns its place, with no redundancy or fill. The front-loaded verb 'Show' immediately conveys the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the core purpose and return values (connected/active). It does not specify response format or error cases, but for a status check it is sufficiently complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the workspace_id parameter or its role. The phrase 'this workspace' loosely references it, but the description adds no meaningful detail about parameter usage or format beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: showing whether a Qualcomm AI Hub token is connected and active. It uses a specific verb ('Show') and resource (Qualcomm AI Hub integration), distinguishing it from siblings like edgegate_connect_qaihub and edgegate_get_huggingface_integration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for checking QAI Hub connection status, but it does not explicitly contrast with alternatives or state when not to use the tool. No explicit 'when to use' or 'use instead' guidance is provided, so it relies on the name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_get_reportA
List recent EdgeGate runs in a workspace with status, duration, and trigger.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns recent runs with status, duration, and trigger, which is useful. However, it does not mention ordering, pagination, default limit behavior, or permission requirements, leaving some behavioral context undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that is immediately understandable. It avoids filler and earns its place by conveying the core purpose and key output fields without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but with no output schema and no annotations, the description should ideally clarify limit defaults, pagination, or ordering. The description covers the main purpose and output fields, but gaps remain regarding parameter behavior and relationship to similar reporting tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only indirectly references parameters: 'in a workspace' points to workspace_id, but 'limit' is not mentioned. The description adds minimal semantic value beyond the schema's property names, and the limit parameter remains unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List'), the resource ('recent EdgeGate runs'), the scope ('in a workspace'), and the included attributes ('status, duration, and trigger'). This distinguishes it from sibling tools like edgegate_export_run_report (exports) and edgegate_check_status (checks status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when one needs to list recent runs, but it does not explicitly state when to prefer this tool over alternatives or provide exclusions. No alternative tools are mentioned, so usage guidance is only implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_import_huggingface_modelA
Import a public Hugging Face model that contains a pre-built ONNX file. EdgeGate downloads the file and registers it as an Artifact. Returns the artifact_id you can pass directly to edgegate_create_pipeline. Polls until the import completes by default (poll_for_completion=true); set to false to return immediately with the job id.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | ||
| revision | No | main | |
| hf_repo_id | Yes | ||
| workspace_id | Yes | ||
| max_poll_seconds | No | ||
| poll_for_completion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the download behavior, artifact registration, return value, and polling behavior including the default and the override option. This goes beyond the schema by explaining the side effects and the meaning of poll_for_completion.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and contains no filler. Every sentence contributes actionable information, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters and no output schema, the description covers the main flow, return value, and polling behavior. It is largely sufficient for an agent to select and invoke the tool, though it does not mention any HuggingFace integration prerequisites or error handling, leaving minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not enumerate all parameters. It does clarify poll_for_completion semantics and implies hf_repo_id/filename, but it leaves workspace_id, revision, and max_poll_seconds under-explained, relying on the schema's types and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Import') with a specific resource ('public Hugging Face model that contains a pre-built ONNX file') and outcome ('registers it as an Artifact'). This clearly distinguishes it from siblings like edgegate_connect_huggingface, which is about connection rather than import.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear trigger condition ('contains a pre-built ONNX file') and workflow context ('Returns the artifact_id you can pass directly to edgegate_create_pipeline'). It does not explicitly name alternatives or exclusions, but the condition is explicit enough for an agent to decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_invite_memberA
Add an existing EdgeGate user to this workspace by email at the given role (owner / admin / viewer). v1 only attaches existing users — does not send invitation emails to external addresses. Requires admin role; only owners can add other owners.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | Their role in this workspace. `owner` = full control including billing and member management; `admin` = can manage pipelines and runs but not billing or delete the workspace; `viewer` = read-only. | |
| user_email | Yes | Email of an existing EdgeGate user to add. The user must already have an EdgeGate account — this tool does NOT send invitation emails to external addresses (v1 only attaches existing users). | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It reveals important traits: the tool does not send emails, requires admin privileges, and has a role hierarchy (only owners can add other owners). This goes beyond schema definitions. However, it does not describe idempotency, error handling, or the return format, leaving some gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action and then providing essential caveats and permission requirements. No filler or redundant information—every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 required parameters and no output schema, the description covers the essential aspects: purpose, scope (v1 limitation), permission model, and role constraints. It is sufficient for an agent to decide when and how to invoke it. Missing details like idempotency or error behavior are minor for this simple add-member operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with role and user_email having detailed descriptions, but workspace_id has none. The description adds minimal parameter context beyond what the schema already provides, mostly rephrasing "by email at the given role." It does not clarify workspace_id semantics. Thus, the description adds some value but does not fully compensate for the missing workspace_id description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: "Add an existing EdgeGate user to this workspace by email at the given role." It specifies the resource (EdgeGate user), the destination (workspace), and the mechanism (email + role). It also distinguishes itself from sibling tools by noting the v1 limitation (only attaches existing users, does not send invites), which separates it from invite-like functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: "v1 only attaches existing users — does not send invitation emails to external addresses" and "Requires admin role; only owners can add other owners." This tells the agent when this tool is appropriate (existing EdgeGate users) and when it isn't (external invities), plus the permissions needed. It doesn't name alternative sibling tools directly, but the constraints clearly guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_api_keysA
List all API keys in this workspace (id, name, prefix...suffix, status, last_used). Plaintext is never returned. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that plaintext API keys are never returned, requires owner role (authentication), and lists output fields. It does not mention pagination or rate limits, but gives substantial behavioral context for a read-only list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and every sentence adds value: return fields, privacy guarantee, and role requirement. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description covers the essential semantics: purpose, fields returned, auth requirement, and a key privacy note. It could mention pagination or response format, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, workspace_id, is not explicitly mentioned in the description. The phrase 'in this workspace' implies it but adds no new meaning beyond the schema's name and format. Schema coverage is 0%, and the description does not compensate by explaining how to obtain or use the workspace_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all API keys in this workspace' with a specific verb (list), resource (API keys), and scope (workspace). It also lists the returned fields (id, name, prefix...suffix, status, last_used), distinguishing it from related tools like create/revoke API keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context by specifying the operation is scoped to 'this workspace' and requires 'owner role'. However, it does not explicitly mention when to avoid using this tool or recommend alternatives, though the usage context is obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_devicesA
List every Qualcomm AI Hub device EdgeGate can target (Snapdragon phones, QRD/CRD reference platforms, IoT Dragonwing, automotive, XR). Returns a markdown table grouped by category. Use the id column verbatim when building a create_pipeline device matrix. No workspace_id needed — the catalog is global.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional form-factor filter. Omit to return the full catalog grouped by category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return format ('markdown table grouped by category') and global scope, but does not mention potential limitations like large result set, sorting, or any side effects. For a read-only list tool, this is adequate but not highly detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, return format, and usage guidance. Front-loaded with the primary action, no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers purpose, return format, usage guidance, and scope (global). It provides enough for correct invocation and use in downstream workflows, as evidenced by the create_pipeline reference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description of the optional 'category' parameter. The description adds examples of categories (e.g., 'Snapdragon phones', 'QRD/CRD reference platforms') but does not significantly enhance the schema's meaning. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List') and resource ('every Qualcomm AI Hub device EdgeGate can target'), with examples of device categories. It is distinct but does not explicitly differentiate from the sibling tool 'edgegate_list_device_targets', which could be confused for a similar function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit context for use: 'Use the `id` column verbatim when building a `create_pipeline` device matrix' and notes 'No workspace_id needed — the catalog is global.' However, it does not mention alternatives or when not to use this tool, only a specific integration path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_device_targetsA
List the customer's OWN connected devices (Jetson, Snapdragon hosts, gateways) with live/offline status computed from each device's heartbeat (30s beat, 90s window). This is the workspace fleet connected via edgegate-runner agent — NOT the global AI Hub catalog (use edgegate_list_devices for that). If empty, the response includes copy-paste connect instructions for the customer.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the heartbeat mechanism (30s beat, 90s window), how live/offline status is computed, the scope (workspace fleet vs global catalog), and empty-case behavior (includes connect instructions). It does not cover pagination or error conditions, but for a simple list tool it's quite transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: main functionality and status calculation, scope differentiation with a named sibling, and empty-response behavior. No redundant wording; information is front-loaded and tightly structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one required UUID param, no output schema), the description covers all necessary aspects: what it lists, how status is determined, what fleet it refers to, how it differs from the global catalog, and what happens when the list is empty. This is complete for the tool's context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter `workspace_id` is not explained in the description; schema coverage is 0%. While the description implies workspace scope, it never explicitly ties the parameter to the customer's workspace or explains how to obtain it. The description fails to compensate for the lack of parameter semantics beyond the schema's basic name/format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and clearly identifies the resource ('customer's OWN connected devices') with additional scope details (Jetson, Snapdragon hosts, gateways, workspace fleet via edgegate-runner agent). It explicitly distinguishes itself from the sibling `edgegate_list_devices` (global catalog), making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool (for the customer's own workspace fleet) and when not to use it (global AI Hub catalog), explicitly naming the alternative tool `edgegate_list_devices`. It also mentions the empty-response behavior with connect instructions, giving clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_eval_packsA
List the bundled behavioral eval-set starter packs a customer can clone from. Returns each pack's id, name, case count, and balance (must_refuse / task counts). Clone one into a new eval set via edgegate_create_eval_set(clone_from=). No workspace_id needed — the pack library is global.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses important behavioral details: its return schema (id, name, case count, balance), the fact that it is a read-only listing, and the global scope without workspace_id. It does not mention pagination or ordering, but for a simple list with zero parameters, this is sufficient and more transparent than typical.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the verb and resource, and every clause adds value: what is listed, what is returned, how to consume the result, and a key scoping note. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description fully covers the purpose, return contents, and follow-up action. It is complete enough for an agent to select and invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so the baseline is 4. The description goes further by explicitly stating 'No workspace_id needed' and explaining why (global library), which preemptively clarifies a common expectation and adds meaning beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists 'bundled behavioral eval-set starter packs' and specifies the returned fields (id, name, case count, balance). It distinguishes this from related tools like edgegate_list_eval_sets by emphasizing these are customer-clonable starter packs, not user-created eval sets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use context: it is for browsing packs that can be cloned, and it directs the agent to edgegate_create_eval_set(clone_from=<id>) as the follow-up action. It also notes 'No workspace_id needed' since the library is global. However, it does not explicitly state when not to use it (e.g., do not use for listing existing eval sets), so it misses the 'when-not' element for a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_eval_setsA
List the workspace's behavioral eval sets — eval_set_id, name, latest version, and creation date. Use the eval_set_id with the update / publish / new-version tools.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the resource and returned fields, and 'List' implies a read-only operation. However, it does not mention potential edge cases (e.g., pagination, ordering, or error behavior), leaving some behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence states purpose and output; the second provides actionable usage. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description adequately covers what it returns and how to use the results. It lacks details like pagination or error conditions, but these are not critical for such a straightforward operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explicitly explain workspace_id beyond the context of 'the workspace's'. The parameter is self-explanatory given the tool's purpose, but the description adds minimal additional semantic value over the schema's type/format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List the workspace's behavioral eval sets') with a specific verb and resource, and it enumerates the returned fields (eval_set_id, name, latest version, creation date). This distinguishes it from sibling tools like edgegate_list_eval_packs by specifying 'behavioral eval sets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Use the eval_set_id with the update / publish / new-version tools.' This tells the agent when to use this tool (to obtain IDs for subsequent operations). It doesn't explicitly name alternatives for other resource types, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_membersB
List all members of this workspace with their email + role. Requires at least viewer role.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the authorization requirement ('Requires at least viewer role') and the return contents (email + role). It doesn't discuss pagination or filtering, but for a simple list this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no extraneous words. Front-loaded with the action and output fields, then a necessary permission note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool, the description covers what it does, what it returns, and the required role. It is complete enough for an agent to select and invoke it, though it lacks alternative tool guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (workspace_id) with zero description coverage. The tool description does not mention workspace_id or how it relates to the workspace, so it fails to compensate for the missing schema info. However, the parameter name and uuid format are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'List' and resource 'all members of this workspace', with specific output fields (email + role). It is clear and distinct from sibling tools such as list_devices or list_api_keys, though it doesn't explicitly reference alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The note 'Requires at least viewer role' is a permission prerequisite, not a usage guideline. The description doesn't mention alternative tools like get_report or list_devices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_list_promptpacksA
List all promptpacks in an EdgeGate workspace. Returns a markdown table with promptpack_id, version, case count, published status, and creation date. Use include_unpublished=false to hide draft packs.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | ||
| include_unpublished | No | When false, hides packs with published=false (client-side filter). Default: true. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the output format and the effect of include_unpublished, which is useful. However, it omits details like the default behavior of showing unpublished packs unless excluded, whether results are paginated, or any access/error handling. This is acceptable for a simple list tool but leaves some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary purpose, then provides output format and a key parameter tip. Every sentence adds value, and there is no redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description covers the primary purpose, output structure, and the main parameter behavior. It lacks explicit notes on error cases or pagination, but given the low complexity, the description is sufficiently complete for an agent to correctly invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50%; workspace_id is undocumented in the schema and tool description, though its role is inferable from context. The description adds a small semantic nuance for include_unpublished ('hide draft packs') beyond the schema's 'published=false', but does not fully compensate for the unexplained workspace_id or add detail like UUID format meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (List all promptpacks), identifies the resource (promptpacks), and scopes it to an EdgeGate workspace. It also mentions the return format (markdown table) with specific columns, which clearly distinguishes it from sibling list tools like edgegate_list_devices and edgegate_list_eval_packs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly indicates this tool is for listing promptpacks in a workspace, and provides parameter usage guidance ('Use include_unpublished=false to hide draft packs'). It does not explicitly mention when not to use it or name alternatives, but the tool's purpose is distinct among siblings, so it is clear when this is the appropriate choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_llm_compileA
Submit a multi-component LLM compile + link job via Qualcomm AI Hub. Returns a compile_job_id; poll with edgegate_check_llm_compile_status. Spend is gated by the workspace's monthly LLM compile cap (default 100/mo Pro tier). Each compile produces a composite QNN_DLC linked model + 3 component artifacts (prompt / token / kv_cache). Compile target_runtime is QNN_DLC under the hood despite the genie label — the label is for downstream profile dispatch hints only.
| Name | Required | Description | Default |
|---|---|---|---|
| roles | No | ||
| device_id | Yes | ||
| workspace_id | Yes | ||
| target_runtime | No | genie | |
| context_lengths | No | ||
| sequence_lengths | No | ||
| source_artifact_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses key behavioral traits: async pattern (returns job ID for polling), cost gating with a specific cap default, artifact composition (composite QNN_DLC + 3 components), and the truth that target_runtime is QNN_DLC despite the genie label. This goes far beyond schema fields, providing actionable expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, no filler. The action is front-loaded, and every subsequent sentence adds unique value (return value, polling, cost cap, artifact structure, runtime nuance).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the medium complexity and absence of annotations/output schema, the description covers the core lifecycle: submit, get job ID, poll with the sibling tool, plus cost and output details. Missing are failure scenarios and explicit parameter requirements, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has zero parameter descriptions, so the description must compensate. It adds meaning for target_runtime (QNN_DLC under the hood) and alludes to source_artifact_ids via 'multi-component' and '3 component artifacts', but leaves roles, context_lengths, and sequence_lengths unexplained. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact action: submits a multi-component LLM compile + link job via Qualcomm AI Hub. The description distinguishes it from the sibling status checker by noting the returned compile_job_id and polling tool. It also preemptively clarifies the genie label nuance, further setting it apart from edgegate_compile_genie.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Instructs the user to poll with edgegate_check_llm_compile_status, which defines the follow-up action. It sets expectations for the compile process and cost gating, giving context on when this tool is appropriate. It does not explicitly list when-not-to-use scenarios or alternatives beyond the status poll.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_new_eval_set_versionA
Fork a fresh draft (version+1) from a PUBLISHED version, seeded with its cases — the edit-after-publish path. Edit the new draft with edgegate_update_eval_set, then re-publish. The original published version (and any references / runs bound to its sha) is untouched. Requires workspace write access.
| Name | Required | Description | Default |
|---|---|---|---|
| eval_set_id | Yes | ||
| from_version | Yes | The version_id of a PUBLISHED version to seed the new draft from. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the original published version and references/runs bound to its sha are untouched, that a fresh draft is forked as version+1, and that workspace write access is needed. This goes beyond typical descriptions, though it omits details on existing drafts or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: what it does, how to continue the workflow, and safety guarantee. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's core function, workflow, and non-destructive side effects. Given no output schema, it does not specify the return value or error conditions, but the information provided is sufficient for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (from_version is documented). The description adds 'seeded with its cases' to clarify from_version's role, but does not elaborate on workspace_id or eval_set_id semantics beyond their names. Since the schema already covers from_version, the description provides only marginal benefit for the undocumented params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description identifies a specific verb ('Fork a fresh draft') and resource ('from a PUBLISHED version, seeded with its cases'), and explicitly distinguishes from siblings like edgegate_update_eval_set by framing it as the 'edit-after-publish path'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the workflow 'Edit the new draft with edgegate_update_eval_set, then re-publish', giving clear context on when to use this tool. It does not explicitly list exclusions/alternatives for creating from scratch (edgegate_create_eval_set), so a score of 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_predict_npu_coverageA
Predict which ONNX ops will run on the Qualcomm Hexagon NPU vs fall back to CPU, BEFORE spending any AI Hub credits. Returns a compute-weighted NPU coverage % (the latency-honest number), op-count coverage, risk band, per-op CPU fallbacks, and fix recommendations. Heuristic — the real device run remains authoritative.
| Name | Required | Description | Default |
|---|---|---|---|
| artifact_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It honestly states this is heuristic ('Heuristic — the real device run remains authoritative'), explains what makes the coverage percentage 'latency-honest' (compute-weighted), and enumerates the return items. It could additionally state that this tool itself does not spend credits, but the 'BEFORE spending' context implies it, and no side effects are expected for a prediction function.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and timing, followed by a compact list of return values and an important caveat. Every sentence earns its place with substantive information, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a solid overview of what the tool does and what it returns, which is crucial since no output schema exists. It is missing parameter-level semantics and explicit cost behavior, but the tool's scope is simple (two standard IDs) and the output list is specified, making it reasonably complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not mention 'workspace_id' or 'artifact_id' at all. It fails to clarify that the artifact should be an ONNX model or how the workspace/artifact relationship matters, leaving the agent to guess the meaning of these parameters beyond their names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Predict') and resource ('which ONNX ops will run on the Qualcomm Hexagon NPU vs fall back to CPU'), and adds the timing context ('BEFORE spending any AI Hub credits'). It distinguishes itself from sibling tools by focusing on pre-investment prediction rather than execution or reporting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'BEFORE spending any AI Hub credits' provides a clear when-to-use context, implying this tool should be used before committing compute resources. It does not explicitly name alternatives or state when not to use it, but the heuristic disclaimer and reference to 'the real device run' clarify that other tools are needed for authoritative results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_publish_eval_setA
Validate and freeze a draft eval-set version into an immutable, signed, hash-anchored version. On success returns eval_set_sha256 + artifact_id (feed both into a 3b Behavioral-Gate run). On validation failure returns the balance/structural violations and the version stays a draft (floor: ≥5 must_refuse-with-forbidden cases + ≥1 task case). Requires workspace write access.
| Name | Required | Description | Default |
|---|---|---|---|
| version_id | Yes | ||
| eval_set_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the behavior: it performs validation, freezes the version (immutability), signs and hash-anchors it, returns artifacts on success, and returns violations on failure with a floor requirement. It also states workspace write access is required. This covers side effects, failure modes, and auth needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact (three sentences) and front-loaded with the primary purpose. Each sentence adds value: the first defines the action, the second gives success output and downstream usage, the third explains failure behavior and requirements. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking annotations and an output schema, the description covers the critical aspects: purpose, success/failure behavior, validation thresholds, and required permissions. It also implicitly indicates the workflow position by mentioning feed into a Behavioral-Gate run. This is sufficient for a tool with three straightforward UUID parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has three UUID parameters with no descriptions, and the description does not explain their meanings. Although the names are self-explanatory (workspace_id, eval_set_id, version_id), the description provides no additional semantic context to compensate for the 0% schema coverage, so it adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Validate and freeze a draft eval-set version into an immutable, signed, hash-anchored version'), identifies the resource (draft eval-set version), and distinguishes it from sibling tools like update_eval_set or new_eval_set_version by focusing on the finalization step. It also specifies success and failure outcomes, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage in the workflow: after drafting an eval set, publish to get eval_set_sha256 + artifact_id for a Behavioral-Gate run. It mentions validation failure keeps version a draft. However, it doesn't explicitly name sibling alternatives or state when not to use this tool, so it's clear context without direct exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_publish_promptpackA
Publish a promptpack version in an EdgeGate workspace so it can be referenced in pipelines. Newly created packs start as unpublished — call this after edgegate_create_promptpack to complete the create → publish → use lifecycle. Requires admin role on the workspace. The operation is idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| version | Yes | ||
| workspace_id | Yes | ||
| promptpack_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses two non-obvious behavioral traits: requires admin role on the workspace, and the operation is idempotent. It does not describe the return format, potential errors, or side effects on existing versions, but the disclosed traits add significant safety and permission awareness for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences, front-loaded with the core action and purpose. The following sentences add crucial behavioral context (lifecycle, permissions, idempotency) without repetition or filler. Every sentence earns its place, and the structure is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity publish operation with no output schema, the description covers the 'why' (pipelines), the 'when' (after create), prerequisites (admin role), and an important property (idempotent). It does not describe return output or error cases, but given the simplicity and the fact that the schema already defines required parameters, this is reasonably complete. A small gap is not explaining what happens if the version already exists or is already published, but idempotency implies safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it provides no parameter-level explanations. While the names 'workspace_id', 'promptpack_id', and 'version' are somewhat self-explanatory, the description does not clarify what 'version' means (e.g., a semantic version shorthand, an existing version to publish) or provide any additional semantic context beyond the schema's pattern regex. This leaves the agent with only structural validation, not semantic understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Publish a promptpack version'), the target resource ('in an EdgeGate workspace'), and the intended outcome ('so it can be referenced in pipelines'). It also distinguishes itself from similar tools by explicitly naming the predecessor (edgegate_create_promptpack) and the lifecycle, making it distinct from sibling publish tools like edgegate_publish_eval_set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance by explaining the create → publish → use lifecycle and explicitly instructing to call this after edgegate_create_promptpack. It lacks explicit when-not-to-use or alternative tool references, but the lifecycle context is strong. Because it names the sequential dependency and purpose, this is better than a generic 'use to publish' but not exhaustive enough for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_recorder_statusA
Field Recorder status for a workspace: recorded-event counts, replay/divergence breakdown (passed/diverged/no_reference), hash-chain integrity (verified, gaps, signing keys), and the devices reporting in. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| device_id | No | Optional — scope the status to a single device. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly discloses 'Read-only' and details the data returned, which is a strong behavioral indicator. It does not mention error conditions or permissions, but the read-only nature and output composition are clearly communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence using a colon to list key output categories, followed by the behavioral note 'Read-only.' Every phrase carries meaning, with no repetition or filler. It is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description provides a solid outline of the return values (counts, breakdown categories, integrity details, devices). It covers the essential aspects for an agent to understand what the tool offers. It lacks exact field names or formatting, but given the tool's simplicity, the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, with device_id already described. The description adds context that the tool is per-workspace, partially clarifying workspace_id's role. However, it does not elaborate on parameter types or constraints beyond what the schema provides, so it only marginally compensates for the missing workspace_id description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool returns: recorded-event counts, replay/divergence breakdown, hash-chain integrity, and devices reporting in. It specifically names 'Field Recorder status' and immediately distinguishes it from sibling status/check tools by scope and content. The 'Read-only' tag reinforces the query nature, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like edgegate_check_status or edgegate_list_devices. The description implies it is for field recorder status, but it does not state conditions or exclusions. No alternatives or contextual triggers are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_register_byo_artifactA
Register an existing S3 URI in your registered bucket as an EdgeGate Artifact. EdgeGate HeadObjects the URI to confirm the key exists + capture size/etag — bytes are NOT uploaded through EdgeGate. Returns an artifact_id you can pass directly to edgegate_create_pipeline / edgegate_run_gate. Requires admin role. Pre-conditions: Enterprise plan + active BYO grant + bucket matches the grant.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Artifact kind. Defaults to 'model'. | |
| s3_uri | Yes | Full S3 URI of the object in your registered bucket, e.g. s3://my-bucket/models/mobilenet-v2.onnx. Must live in the same bucket the grant was registered with. | |
| workspace_id | Yes | ||
| expected_size | No | Optional size in bytes. EdgeGate cross-checks against the HeadObject response and rejects the registration if they disagree — protects against stale pointers when an object was overwritten in S3. | |
| expected_sha256 | No | Optional SHA-256 of the object (hex). If supplied, downstream cells will fail with BYO_INTEGRITY_MISMATCH when the actual bytes don't match — a strong guarantee that you ran what you thought you ran. | |
| original_filename | No | Optional display filename for run reports. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and does so excellently. It reveals non-obvious behavior: EdgeGate HeadObjects the URI, captures size/etag, and explicitly states bytes are NOT uploaded. It also discloses admin role and plan/grant prerequisites, plus the return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with each of the four sentences earning its place: purpose, technical behavior, return usage, and prerequisites. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately covers the return value (artifact_id) and how it connects to other tools. It also covers preconditions, permissions, and the core non-upload behavior. The rich schema handles parameter details, so the description is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (83%), and the schema already thoroughly documents parameters like s3_uri pattern, expected_size cross-check, and expected_sha256. The description adds context about HeadObject behavior but does not add significant parameter-level meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states a specific action: register an existing S3 URI in a registered bucket as an EdgeGate Artifact. It distinguishes from siblings by emphasizing this is about artifact registration (not bucket registration) and explicitly contrasts with upload behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: admin role, Enterprise plan, active BYO grant, and bucket match prerequisites. It also notes the resulting artifact_id can be passed to edgegate_create_pipeline / edgegate_run_gate, indicating downstream usage. It does not explicitly name alternatives or exclusions, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_register_byo_bucketA
Enterprise only. Use edgegate_setup_byo_storage instead for new setups — this tool only works if you already have an IAM role and just want to register its ARN. Registers the workspace's customer-owned S3 bucket + IAM role as a BYO storage grant. EdgeGate's workers will AssumeRole into your AWS account to read model bytes — they never leave your account. Returns the External ID you must add to your role's trust policy. Requires owner role. 402 from non-Enterprise workspaces; 409 if a grant already exists.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | Yes | S3 bucket name (not the URI — just the bucket name). | |
| region | Yes | AWS region the bucket lives in, e.g. us-east-1. | |
| role_arn | Yes | ARN of the IAM role EdgeGate's workers will assume to read your bucket. Created by the EdgeGate CloudFormation launch stack (or your equivalent Terraform module). Format: arn:aws:iam::<account-id>:role/<name>. | |
| kms_key_id | No | Optional KMS key ARN if the bucket uses SSE-KMS. The IAM role must have kms:Decrypt on this key. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses behavior: Enterprise-only restriction, required owner role, security model ('AssumeRole... never leave your account'), return value (External ID), and specific error codes. This far exceeds the bare minimum and provides critical operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but not bloated. It front-loads the most critical information (Enterprise only, use alternative for new setups), then covers function, security, return, permissions, and errors in a compact, logical flow. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (BYO storage, IAM roles, External ID), the description is remarkably complete. It explains the purpose, usage, prerequisites, return value, error conditions, and security implications. No output schema exists, but the description explicitly mentions the return value, making the tool self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80% (4 of 5 parameters have descriptions), so the baseline is 3. The description does not add parameter-specific details beyond what the schema already provides, but it doesn't need to since the schema is rich and descriptive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Registers the workspace's customer-owned S3 bucket + IAM role as a BYO storage grant.' It also distinguishes itself from the main sibling, edgegate_setup_byo_storage, by explicitly noting this tool is for existing IAM roles only and directs users to use the alternative for new setups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use versus alternatives: 'Use edgegate_setup_byo_storage instead for new setups — this tool only works if you already have an IAM role and just want to register its ARN.' Also notes prerequisites (owner role) and error conditions (402 for non-Enterprise, 409 if grant exists), giving clear context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_remove_memberA
Remove a member from this workspace. The user loses access immediately; their pipelines and runs are preserved. Cannot remove the last owner. Destructive. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Target member's user_id (from `edgegate_list_members`). The user immediately loses access to the workspace. Their pipelines and runs are preserved — this only removes the membership row. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses key behavioral traits: immediate access revocation, preservation of pipelines/runs, the last-owner restriction, and role requirement. It also labels the operation as 'Destructive', giving the agent important safety information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four concise sentences with no redundancy. The most important information is front-loaded ('Remove a member from this workspace'), followed by critical behavioral details and constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple two-parameter mutation with no output schema and no annotations, the description covers all essential aspects: what happens, what remains unchanged, restrictions, and permissions. It is sufficiently complete for an agent to select and invoke the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; user_id has a detailed description while workspace_id does not. The tool description does not elaborate on parameters, but the schema's user_id description already adds context about the membership row and effects. The description implicitly clarifies workspace_id via 'this workspace'. It adds marginal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Remove a member from this workspace', a specific verb and resource that clearly states the action. It distinguishes from sibling tools like 'edgegate_invite_member' and 'edgegate_change_member_role' by focusing solely on removal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: immediate access loss, preservation of pipelines/runs, cannot remove last owner, destructive, and requires owner role. These constraints help an agent decide when this tool is appropriate, though it does not explicitly mention alternatives beyond the implied removal action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_rerun_bgA
Re-run an existing behavioral-gate run: clones its already-validated config (same bundle + eval set + reference + system prompt + device) into a fresh queued run — no need to re-supply artifact ids. 409 if the workspace already has an active run (cancel it first).
| Name | Required | Description | Default |
|---|---|---|---|
| run_id | Yes | An existing behavioral-gate run to re-run (same config, fresh run). | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the tool clones config into a fresh queued run, that artifact ids are not needed, and that a 409 is returned if an active run exists. This is useful behavioral context beyond the schema, though it does not mention return format or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary purpose, and no redundant information. Every clause adds value: the cloning behavior, the no-re-supply benefit, and the 409 caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the main operational details: what it does, the conflict condition, and the advice to cancel first. Given the tool's simplicity and lack of output schema, it is nearly complete. Minor gap: it does not describe the returned run object or how to track the new run, but this is not required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: run_id is described, workspace_id is not. The description adds some meaning by referencing 'workspace' in the 409 condition, but it does not explicitly clarify the workspace_id parameter's role or format. It partially compensates but not fully.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Re-run an existing behavioral-gate run') and resource, and distinguishes it from creating a new run by noting it clones an already-validated config. It also contrasts with other siblings by emphasizing no need to re-supply artifact ids.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: use when you have an existing run and want to rerun it without re-supplying config. The 409 conflict warning and 'cancel it first' offer explicit guidance on a prerequisite. However, it does not name alternative tools like edgegate_create_bg_run or edgegate_run_gate, so slight deduction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_revoke_api_keyA
Revoke an API key by id. The key is immediately rejected for all subsequent requests; the row is preserved (with revoked_at set) so the audit trail survives. Destructive. Requires owner role.
| Name | Required | Description | Default |
|---|---|---|---|
| key_id | Yes | UUID of the key to revoke (the `id` field from `edgegate_list_api_keys`). This is destructive and immediate — any CI job or client still using the plaintext will fail authentication on the next request. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses immediate rejection, preservation of the row with revoked_at, destructive nature, and owner-role requirement. This is thorough and adds significant behavioral context beyond just saying 'revoke'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action, and every phrase adds value (immediate effect, audit trail, permissions). No redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple revoke operation and no output schema, the description covers the key aspects: what happens to the key, audit preservation, and required role. The missing workspace_id explanation is a minor gap, but the overall picture is incomplete only in that one parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers key_id well but workspace_id lacks any description (50% coverage). The tool description does not compensate by explaining workspace_id or its format. While key_id semantics are clear from schema, workspace_id remains ambiguous, which is a meaningful gap for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Revoke an API key by id', with specific effects ('immediately rejected', 'row is preserved'). This clearly distinguishes it from sibling tools like edgegate_create_api_key and edgegate_list_api_keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for use: revoking a key by its id, with prerequisites ('Requires owner role'). It does not explicitly name alternatives or when-not-to-use scenarios, but the purpose is specific enough that only a small gap remains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_run_device_benchmarkA
Dispatch an ONNX benchmark to one of the customer's connected devices (Jetson, Snapdragon host, gateway) by name/id. The on-device agent picks it up within ~30s and reports latency/memory results. Multi-silicon: works for any vendor the customer has connected. Requires admin role.
| Name | Required | Description | Default |
|---|---|---|---|
| device | Yes | Device to run on: DB UUID, agent device_id, or the exact display name from edgegate_list_device_targets. | |
| model_name | No | Label for the result; defaults to the artifact filename. | |
| workspace_id | Yes | ||
| model_artifact_id | Yes | ONNX model artifact in this workspace. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses asynchronous pickup (~30s), result types (latency/memory), and admin role requirement. However, it does not explain what the function returns immediately, how to retrieve results, or behavior when devices are offline, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, and every sentence adds value: the core dispatch action, timing and result type, and prerequisites. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool description explains the end-to-end flow (dispatch, agent pickup, results) and prerequisites, which is sufficient for a launch operation. However, it does not mention how to access the results or handle failures, and there is no output schema to compensate, so a small gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, covering device and model_artifact_id. The description adds context about device types (Jetson, Snapdragon, gateway) and references edgegate_list_device_targets for name resolution, but does not significantly enhance understanding of parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: dispatching an ONNX benchmark to a connected device. It specifies the verb 'dispatch', the resource 'ONNX benchmark', and the target 'customer's connected devices', distinguishing it from siblings like edgegate_import_huggingface_model or edgegate_llm_compile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool: to run benchmarks on a customer's device, with a note on multi-silicon support and admin role requirement. However, it does not explicitly mention alternatives or exclusions, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_run_gateA
Trigger an EdgeGate run against a pipeline. Returns a run_id you can poll with edgegate_check_status.
| Name | Required | Description | Default |
|---|---|---|---|
| pipeline_id | Yes | ||
| workspace_id | Yes | ||
| model_artifact_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the asynchronous nature (returns a run_id to poll later). It does not mention side effects, required permissions, or potential failures, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that immediately states the action and the key output. It is concise without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having three parameters, no output schema, and no annotations, the description provides only minimal workflow context. It omits parameter meanings, workspace requirements, and any caveats, making it insufficient as a standalone guide for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% parameter description coverage, and the description does not compensate. It implies the role of pipeline_id via 'pipeline,' but workspace_id and model_artifact_id are entirely unexplained, making correct invocation uncertain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Trigger an EdgeGate run against a pipeline.' The verb 'Trigger' is specific, the resource is identified as an EdgeGate run tied to a pipeline, and the mention of returning a run_id to poll distinguishes it from other run-related tools like edgegate_create_bg_run.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: to start a run and then poll with edgegate_check_status. However, it does not explicitly state when not to use it or mention alternative tools such as edgegate_create_bg_run or edgegate_rerun_bg, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_setup_bg_github_actionA
Generate the Behavioral-Gate GitHub Actions setup — the self-hosted-runner prerequisites, the workflow YAML (using the edgegate-bg composite action), and the gh secret commands. Unlike the standard run gate, BG runs the model on a real device, so it needs a self-hosted runner with the device attached.
| Name | Required | Description | Default |
|---|---|---|---|
| api_url | No | EdgeGate API URL. Defaults to "https://edgegateapi.frozo.ai". | |
| adb_serial | No | adb serial of the attached device. | |
| device_label | No | ||
| runner_label | No | Self-hosted runner label. Defaults to "snapdragon". | |
| workspace_id | Yes | ||
| system_prompt | No | ||
| bundle_artifact_id | No | ||
| eval_set_artifact_id | No | ||
| reference_artifact_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explains what is generated (prerequisites, YAML, secret commands) and the device requirement, but doesn't mention any side effects, permissions, or whether the setup modifies existing files. This is adequate but not deeply transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action ('Generate the Behavioral-Gate GitHub Actions setup') and specific deliverables. The 'Unlike...' clause adds crucial context without extra fluff. Every sentence contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters, low schema coverage, and no output schema, placing a heavy burden on the description. It explains the high-level purpose and outputs, but omits parameter-specific guidance and return formats. While it's complete enough to understand the tool's role, it doesn't fully cover the information needed to invoke it correctly for complex setups.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33%, with only api_url, adb_serial, and runner_label having descriptions. The description does not compensate for the remaining 6 parameters, such as device_label, system_prompt, and artifact IDs. It mentions 'device attached' and 'self-hosted runner' but doesn't connect these to specific parameters, leaving users to infer semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: generate the Behavioral-Gate GitHub Actions setup, listing specific components (self-hosted-runner prerequisites, workflow YAML, gh secret commands). It also distinguishes this from the standard run gate, making it easy to identify as the correct tool for BG setups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on when to use this tool (for BG GitHub Actions setup) and contrasts it with the standard run gate, noting that BG requires a self-hosted runner with an attached device. It doesn't explicitly mention alternative tool names, but the distinction is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_setup_byo_storageA
Enterprise only. Zero-friction BYO storage setup — creates a pending grant with EdgeGate (returns the External ID) and returns the exact AWS CLI commands the agent should run to create the IAM role in the customer's AWS account. Pair with edgegate_attach_byo_role to finalize. Prefer this over edgegate_register_byo_bucket for new setups — the agent doesn't have to figure out the trust policy or guess at role names. Requires owner role. 402 from non-Enterprise workspaces; if a non-pending grant exists, instructs the agent to disconnect first.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | Yes | S3 bucket name (not the URI) you want EdgeGate to read model bytes from. | |
| region | Yes | AWS region the bucket lives in, e.g. us-east-1. | |
| kms_key_id | No | Optional KMS key ARN if the bucket uses SSE-KMS with a customer-managed key. The IAM role will be granted kms:Decrypt on this key. Leave unset for SSE-S3 or SSE-KMS with the AWS-managed key. | |
| workspace_id | Yes | Workspace ID. Must be Enterprise-tier with BYO storage enabled. | |
| role_name_override | No | Optional override for the IAM role name. Default mirrors the CloudFormation path: edgegate-byo-read-<first-8-chars-of-external-id>. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses auth requirements (owner role), enterprise restriction (402), workflow state (creates pending grant, returns External ID), and instructs disconnect for non-pending grants. It also clarifies that the IAM role is created by the agent running the returned CLI commands, not by the tool itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: enterprise restriction, core behavior, workflow pairing, alternative comparison, auth requirement, and error handling. No filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, external AWS steps, no output schema), the description is complete: it explains what is returned (External ID and CLI commands), how to finalize (attach_byo_role), when to prefer it, prerequisites, and error scenarios. Enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a detailed description, so the baseline is 3. The description does not add additional parameter-level semantics beyond what the schema provides, though it does reference the workflow context in which these parameters are used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it creates a pending BYO storage grant with EdgeGate, returns the External ID, and returns AWS CLI commands for creating an IAM role. It also distinguishes itself from sibling tools by recommending it over edgegate_register_byo_bucket and pairing it with edgegate_attach_byo_role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Prefer this over edgegate_register_byo_bucket for new setups' and 'Pair with edgegate_attach_byo_role to finalize.' It also states prerequisites (Enterprise, owner role) and error handling (402 for non-Enterprise, disconnect first if non-pending grant exists).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_setup_github_actionC
Generate the GitHub Actions workflow YAML + gh secret commands so every PR runs EdgeGate as a CI gate.
| Name | Required | Description | Default |
|---|---|---|---|
| pipeline_id | No | ||
| workspace_id | Yes | ||
| model_artifact_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose side effects, prerequisites, or output behavior. It only says 'generate', which implies a non-destructive action but doesn't clarify whether it modifies the repository, requires authentication, or produces only text output. This is minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no fluff. It immediately states the action (generate workflow + secret commands) and the outcome. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description doesn't explain the format of the generated YAML or gh secret commands. Parameter semantics are missing, and the relationship to sibling tools like edgegate_setup_bg_github_action is unclear. For a setup tool with three parameters, this is insufficient context for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions none of the three parameters (workspace_id, pipeline_id, model_artifact_id). There is no explanation of what these UUIDs refer to or how they affect the generated YAML/commands, making proper invocation impossible without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates GitHub Actions workflow YAML and gh secret commands, with a specific goal ('every PR runs EdgeGate as a CI gate'). It's specific but does not explicitly differentiate from the sibling tool edgegate_setup_bg_github_action, which appears to be a similar setup action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'so every PR runs EdgeGate as a CI gate' implies a use case for repo-level CI gating, but there is no explicit guidance on when to use this instead of alternatives like edgegate_setup_bg_github_action, nor when not to use it. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_setup_workspaceA
Confirm or list EdgeGate workspaces visible to the API key. Run this first in a fresh conversation to lock in which workspace_id the other tools should use.
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | No | Optional UUID. If omitted, lists all visible workspaces. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses the scope ('visible to the API key') and the intended side effect of 'locking in' a workspace_id, but does not explain what locking in entails (e.g., persistent state, return format, or whether any data is mutated). This is not contradictory, but it lacks detailed behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no unnecessary words. The first sentence front-loads the core action, and the second provides essential usage context. It is concise, clear, and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setup tool with one optional parameter and no output schema, the description is largely complete. It covers the core behavior (confirm/list) and the key usage context (run first to lock workspace_id). It could mention return format or side effects, but for this complexity level the information is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a complete description of the parameter ('Optional UUID. If omitted, lists all visible workspaces.'), so the description adds only marginal value. The phrase 'which workspace_id the other tools should use' gives a purpose, but overall the parameter semantics are well covered by the schema, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Confirm or list EdgeGate workspaces visible to the API key.' It uses a specific verb ('confirm or list') and resource ('workspaces'), and differentiates itself from 'edgegate_create_workspace' by focusing on visibility and confirmation. The additional context about locking in workspace_id further clarifies its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit guidance on when to use the tool: 'Run this first in a fresh conversation to lock in which workspace_id the other tools should use.' This provides clear context and a specific timing instruction. However, it does not mention alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_trigger_replayA
Replay pending recorded events against their certified reference (a PASSED gate run for the same model) plus the input-matched baseline. Verdicts land asynchronously — poll edgegate_recorder_status. Events with no certified reference resolve to no_reference.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max pending events to replay this call. Default 100. | |
| device_id | No | Optional — only replay events from this device. | |
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses key behaviors: asynchronous verdict delivery, the need to poll edgegate_recorder_status, and the resolution of events without a certified reference to no_reference. It explains the internal logic (replaying against a PASSED gate run and input-matched baseline). It does not mention side effects like whether pending events are removed or idempotency, but for a trigger tool, it is reasonably transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action. Each sentence adds value: the first explains what the tool does, the second explains async behavior and where to get results, and the third clarifies an edge case. No wasted words or redundant info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (async replay with edge case handling) and lack of output schema, the description covers the essential aspects: what triggers the replay, what happens after (poll status), and what happens without a reference. It does not describe the immediate return value or whether a job ID is returned, but the instruction to poll status implies this. Overall, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (limit and device_id have descriptions; workspace_id has only a format). The description itself does not add parameter-specific details, but the context of 'pending recorded events' helps infer the purpose of limit and device_id. It does not compensate for the missing workspace_id description, but the schema and tool name provide enough context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Replay pending recorded events against their certified reference... plus the input-matched baseline.' It identifies the resource (pending recorded events), the specific context (certified reference and baseline), and differentiates from sibling tools like edgegate_capture_reference and edgegate_recorder_status by describing the replay trigger and async status retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool (when pending events need replaying) and points to the sibling tool for status ('poll edgegate_recorder_status'). It does not explicitly state exclusions or alternatives for the replay action itself, but the pointer to status polling and the explanation of no_reference outcomes offer practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
edgegate_update_eval_setA
Replace ALL cases of a DRAFT eval-set version (full replacement list, not a patch). Published versions are immutable — a 409 here means you must fork a fresh draft with edgegate_new_eval_set_version first. Still leaves the version a draft; publish separately. Requires workspace write access.
| Name | Required | Description | Default |
|---|---|---|---|
| cases | Yes | The FULL replacement list of case dicts for this draft version. | |
| version_id | Yes | ||
| eval_set_id | Yes | ||
| workspace_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the operation is a full replacement (not a patch), that it only works on drafts, that published versions return 409, that the version remains a draft after the operation, and that workspace write access is required. These are crucial behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary action, followed by a critical contingency and then post-conditions/permissions. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description covers the core behavior, failure mode (409), state after operation, and permissions. It could additionally mention that the operation is destructive and irreversible, but 'Replace ALL cases' implies that. Overall, it is sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only the 'cases' parameter has a description). The tool description compensates by explaining that the cases parameter must be a full replacement list, not a patch. However, the other parameters (workspace_id, eval_set_id, version_id) are not described in the text, relying on their self-explanatory names and schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool replaces all cases of a draft eval-set version, using a specific verb and resource. It distinguishes itself from siblings like edgegate_new_eval_set_version and edgegate_publish_eval_set by noting that it leaves the version as a draft and does not publish.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool (only on draft versions) and provides a clear alternative: if a 409 occurs because the version is published, users must first fork a fresh draft with edgegate_new_eval_set_version. It also mentions that publishing is a separate step, guiding the user to edgegate_publish_eval_set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
58 tool updates
v0.19.0- First observed
edgegate_attach_byo_role - First observed
edgegate_cancel_run - First observed
edgegate_capture_reference - First observed
edgegate_change_member_role - First observed
edgegate_check_byo_bucket - First observed
edgegate_check_genie_compile_status - First observed
edgegate_check_llm_compile_status - First observed
edgegate_check_reference_capture_status - First observed
edgegate_check_status - First observed
edgegate_compare_runs - First observed
edgegate_compile_genie - First observed
edgegate_connect_huggingface - First observed
edgegate_connect_qaihub - First observed
edgegate_create_api_key - First observed
edgegate_create_bg_run - First observed
edgegate_create_eval_set - First observed
edgegate_create_pipeline - First observed
edgegate_create_promptpack - First observed
edgegate_create_workspace - First observed
edgegate_disconnect_byo_bucket - First observed
edgegate_disconnect_huggingface - First observed
edgegate_disconnect_qaihub - First observed
edgegate_export_compliance_report - First observed
edgegate_export_field_recorder_report - First observed
edgegate_export_run_report - First observed
edgegate_get_audit_report - First observed
edgegate_get_byo_audit - First observed
edgegate_get_huggingface_integration - First observed
edgegate_get_qaihub_integration - First observed
edgegate_get_report - First observed
edgegate_import_huggingface_model - First observed
edgegate_invite_member - First observed
edgegate_list_api_keys - First observed
edgegate_list_device_targets - First observed
edgegate_list_devices - First observed
edgegate_list_eval_packs - First observed
edgegate_list_eval_sets - First observed
edgegate_list_members - First observed
edgegate_list_promptpacks - First observed
edgegate_llm_compile - First observed
edgegate_new_eval_set_version - First observed
edgegate_predict_npu_coverage - First observed
edgegate_publish_eval_set - First observed
edgegate_publish_promptpack - First observed
edgegate_recorder_status - First observed
edgegate_register_byo_artifact - First observed
edgegate_register_byo_bucket - First observed
edgegate_remove_member - First observed
edgegate_rerun_bg - First observed
edgegate_revoke_api_key - First observed
edgegate_run_device_benchmark - First observed
edgegate_run_gate - First observed
edgegate_setup_bg_github_action - First observed
edgegate_setup_byo_storage - First observed
edgegate_setup_github_action - First observed
edgegate_setup_workspace - First observed
edgegate_trigger_replay - First observed
edgegate_update_eval_set
TDQS
Scored across 58 tools
Several tool groups are very similar in name, such as list_devices vs. list_device_targets, setup_github_action vs. setup_bg_github_action, and the numerous check_* tools. The descriptions help differentiate them, but the naming alone creates a risk of misselection for agents.
Most tools follow a consistent verb_noun pattern (create_*, list_*, check_*, export_*), but there are a few outliers like llm_compile and recorder_status that break the convention. The use of check vs. get for status-like operations is also somewhat inconsistent.
With 58 tools, the server presents an extremely large API surface. Many tools could potentially be consolidated (e.g., generic status-checking with a job-type parameter), and this count far exceeds what is typically manageable for an MCP server.
The server covers many domains (workspaces, integrations, eval sets, BYO storage, runs), but there are notable gaps: no way to list or delete pipelines, no update/versioning for promptpacks, and no workspace deletion. These are core lifecycle operations for the main resources.
Maintenance
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
Related MCP Servers
AlicenseNot gradedqualityFmaintenanceAn MCP server that enables dynamic tool registration and execution based on API definitions, providing seamless integration with services like Claude.ai and Cursor.ai.23MIT- FlicenseBqualityDmaintenanceAn MCP server that enables Claude Desktop to communicate with A2A protocol agents, allowing Claude to access extended capabilities through agent interactions.322-
- AlicenseAqualityBmaintenanceMCP server for AI-powered image, audio, and video generation, enabling media creation directly from Claude, Cursor, and other MCP clients.1139 npmMIT
- AlicenseNot gradedqualityAmaintenanceAn MCP server that enhances Claude Code with evidence-first engineering, protocol gates, project-aware verification, auditable traces, and durable autonomous execution.5 npmMIT