Skip to main content
Glama

cad_artifact

Read-only

List, stat, read, or hash job artifacts and text files in the workspace to inspect HDL build outputs, logs, and generated files.

Instructions

List or read job artifacts and text files inside the workspace.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "request": "<request>"
    },
    "name": "cad_artifact"
  }
}

Input Schema

NameRequiredDescriptionDefault
requestYes

Output Schema

NameRequiredDescriptionDefault
okYes
jobNo
textNo
errorNo
valueNo
actionYes
summaryNo
artifactNo
artifactsNo
truncatedNo
total_bytesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. Beyond that, the description adds only the phrase "inside the workspace", which is a useful scope constraint, but says nothing about read-size limits (max_bytes up to 4 MiB), offset-based partial reads, hashing behavior, or what happens for missing paths.

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

Conciseness3/5

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

A single front-loaded sentence with no filler, which is structurally sound. It is nonetheless too terse for a tool whose payload is a six-field request object, so brevity here costs information rather than earning it.

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

Completeness2/5

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

An output schema exists, so return-value explanation is not required. Even so, for a tool exposing an action enum and paging controls, the description leaves the agent unable to choose an action or set sizes without reverse-engineering the schema, which is a real completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries full responsibility for explaining the wrapped request object, and it does not. It never mentions path, action, job_id, artifact_id, offset, or max_bytes, and the action enum (list, stat, read_text, hash) is only obliquely hinted at by "List or read".

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States verbs ("List or read") and a resource ("job artifacts and text files"), which is clearer than a tautology. However, it omits two of the four supported actions (stat, hash) declared in the schema and gives no differentiation from siblings such as cad_job, so an agent cannot fully scope the tool from the text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no exclusions, and no mention of alternatives for retrieving job output. The agent must infer that this tool is the artifact-inspection path rather than, say, cad_job for job state.

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