Skip to main content
Glama

get_artifact

Read-onlyIdempotent

Fetches artifact details and, when requested, the API URL for step one of downloading its bytes; bytes are never inlined.

Instructions

Get artifact details. The bytes are never inlined: download them with the two GETs below. Downloading an artifact is two GETs. Step 1: GET /api/v1/artifacts//download with header X-Agent-Key: -> 200 JSON {"url": ""}. Step 2: GET that url with NO headers -> 200, the file bytes. Pitfalls: on step 1 only X-Agent-Key is accepted (X-API-Key and Authorization: Bearer give 401); on step 2 any extra header, Authorization in particular, breaks the presigned signature (400). The artifact's download_path is step 1's path. Never fetch browser_only_url with an agent key: it is a human page and answers 401 by design.

Input Schema

NameRequiredDescriptionDefault
artifact_idYesArtifact ID.
include_contentNoAdds download_api_url: step 1 of the download (the API endpoint you call with X-Agent-Key), NOT the file and NOT a link to open. The bytes are never inlined.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover read-only/idempotent safety, and the description adds rich behavioral context beyond them: bytes are never inlined, download requires two sequential GETs, header handling differs per step, and specific failure modes (401 on step 1 with wrong auth, 400 on step 2 if any header is added). This is exactly the extra operational detail annotations cannot carry.

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

Conciseness3/5

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

The core is front-loaded and actionable, but there is redundant phrasing ('download them with the two GETs below. Downloading an artifact is two GETs.'). The download procedure is dense yet compact, but a sentence or two could be trimmed without loss.

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

Completeness5/5

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

With no output schema, the description carries the return-value burden and does so: it specifies the step-1 JSON shape ({url: presigned}) and that step 2 returns raw bytes. Combined with auth pitfalls and the browser_only_url warning, an agent has everything needed to call and consume this tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so both parameters are already documented, but the description adds meaning by tying 'download_path' to step 1's endpoint and reinforcing that include_content yields an API URL rather than file bytes. It complements the schema rather than merely repeating it.

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

Purpose4/5

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

States a specific verb+resource ('Get artifact details') and immediately distinguishes it from upload_artifact/list_artifacts by clarifying that the bytes are never inlined. It is clear what the tool retrieves, though the bulk of the text is procedural download guidance rather than further sibling differentiation.

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

Usage Guidelines4/5

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

Gives concrete when-to-use context (fetch artifact details, then follow the two-step download to get bytes) and explicit when-not guidance ('browser_only_url is a human page, 401 by design'). It does not, however, contrast this tool with list_artifacts or define prerequisites beyond the auth mechanics.

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