Skip to main content
Glama

Get Component Source

get_component_source
Read-only

Read an exact component source as complete JSON. Supply sourceVersionId from the selected catalog card to read that immutable revision, retaining sourceSnapshot with its complete versioned definition, manifest and template beside its exact pin and schema metadata. For an explicitly selected builtin, also supply builtinCollection:'native'|'curated-definitions' and its exact sourceVersionId; without builtinCollection resolution is scoped to the authenticated org. An unavailable exact pin refuses; never retry a head or another scope. To fork, keep the version-4 snapshot whole, change its componentId (the template root's data-composition-id too) and template, and send it to create_component. Builtins always require an exact collection and pin; ID-only builtin reads are refused. Declared slots are bound per placement in execution.assets, never caller params.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
componentIdYescomponentId (path).
sourceVersionIdNo
builtinCollectionNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo
originNo
sourceNo
tokensNo
examplesNoUsage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back.
manifestNo
tsxSourceNo
propSchemaNo
descriptionNo
ejectedFromNo
metadataStatusNoHistorical source-only reads omit unavailable discovery name/description instead of borrowing current metadata.
sourceSnapshotNoCanonical immutable source snapshot (version 4 template, or a retired version 3 TSX module); source remains provenance.
sourceVersionIdNoExact immutable source pin; distinct from bundle revisions.
durationInFramesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • removedOutput schema / properties / manifest / additionalProperties
      Removed value: -{}
    • removedOutput schema / properties / manifest / properties
      Removed value: -{}
    • removedOutput schema / properties / manifest / type
      Removed value: -"object"
    • removedOutput schema / properties / sourceSnapshot / additionalProperties
      Removed value: -{}
    • changedOutput schema / properties / sourceSnapshot / description
      Previous value: -"Canonical immutable v3 source snapshot; source remains provenance."New value: +"Canonical immutable source snapshot (version 4 template, or a retired version 3 TSX module); source remains provenance."
    • removedOutput schema / properties / sourceSnapshot / properties
      Removed value: -{}
    • removedOutput schema / properties / sourceSnapshot / type
      Removed value: -"object"
  2. First observed

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: unavailable exact pins are refused, retrying a head or another scope is forbidden, builtins always require exact collection plus pin, ID-only builtin reads are refused, and slots are bound per placement in execution.assets rather than caller params. These are precisely the failure and scoping behaviors an agent needs and none of them are derivable from the structured fields.

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 action and pin requirement are front-loaded, but the middle sentence is an overstuffed clause stack ('retaining sourceSnapshot with its complete versioned definition, manifest and template beside its exact pin and schema metadata') that largely restates return-value content the output schema already covers. The fork procedure is useful, but the same content could be stated in considerably fewer words.

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?

For a three-parameter read tool with an output schema and no nested objects, the definition covers everything an agent needs: when the pin is required, how builtins differ, what refusal means, what the snapshot contains, and how to reuse it for a fork. Nothing material is missing.

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 description coverage is only 33% (componentId is described as '(path)', sourceVersionId and builtinCollection are undocumented), so the description must compensate and largely does: it explains what sourceVersionId pins, what the builtinCollection enum values select, and the org-scoping that applies when builtinCollection is omitted. The componentId parameter itself still has no added meaning beyond the schema.

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 and resource: 'Read an exact component source as complete JSON' pinned to an immutable revision via sourceVersionId. It implicitly distinguishes itself from preview_component and resolve_builtin_component by requiring an exact pin and refusing ID-only builtin reads, but it never names those siblings directly, so the differentiation is inferential rather than explicit.

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 selection conditions: supply sourceVersionId from the selected catalog card, and for an explicitly selected builtin also supply builtinCollection. It also states the negative case (without builtinCollection resolution is org-scoped) and redirects forking work to create_component, but it does not compare this tool against resolve_builtin_component or preview_component as alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.