Skip to main content
Glama

Get a Resource

get_resource
Read-onlyIdempotent

Fetch one Control Plane resource by kind + name (no name for kind="org"). Returns a summary plus the full JSON; a volume set also lists its snapshots. The single read-one tool for every resource kind. Secrets return metadata only: the API never includes their data. Read the target here before update_* or delete_resource; job tools such as rollback_workload and diagnose_workload read it themselves. schema: true returns the kind's apply-ready schema and REST endpoints instead (no name): read it before writing a cpln apply manifest or an API body; never guess field names.

Input Schema

NameRequiredDescriptionDefault
gvcNoGVC slug — REQUIRED only for GVC-scoped kinds (workload, identity, volumeset); ignored otherwise.
orgNoOrganization slug.
kindYesResource kind to fetch.
nameNoResource name. Required except for kind `org` (singular) and with `schema`. Most kinds use lowercase kebab-case names; exceptions: domain = the full hostname ("app.example.com"), image = NAME or NAME:TAG ("my-app:v1.2").
pathNoWith `schema`: a dot-path to expand, e.g. "spec.containers" or an {"_expand":"<path>"} stub value.
schemaNotrue returns the kind's schema, not a resource.
maxDepthNoWith `schema`: object levels to expand from `path`; default: whole when small.

Output Schema

NameRequiredDescriptionDefault
okYes
dataNoThe full result. Read this, not only the summary.
detailsNo
summaryYes
nextStepsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / maxDepth
      Added value: +{
      +  "description": "With `schema`: object levels to expand from `path`; default: whole when small.",
      +  "maximum": 8,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • changedInput schema / properties / name / description
      Previous value: -"Resource name. Required for every kind except `org` (which is singular). Most kinds use lowercase kebab-case names; exceptions: domain = the full hostname (\"app.example.com\"), image = NAME or NAME:TAG (\"my-app:v1.2\")."New value: +"Resource name. Required except for kind `org` (singular) and with `schema`. Most kinds use lowercase kebab-case names; exceptions: domain = the full hostname (\"app.example.com\"), image = NAME or NAME:TAG (\"my-app:v1.2\")."
    • addedInput schema / properties / path
      Added value: +{
      +  "description": "With `schema`: a dot-path to expand, e.g. \"spec.containers\" or an {\"_expand\":\"<path>\"} stub value.",
      +  "type": "string"
      +}
    • addedInput schema / properties / schema
      Added value: +{
      +  "description": "true returns the kind's schema, not a resource.",
      +  "type": "boolean"
      +}
  2. Changed20 schema fields changed
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / gvc / maxLength
      Removed value: -63
    • removedInput schema / properties / gvc / minLength
      Removed value: -1
    • removedInput schema / properties / gvc / pattern
      Removed value: -"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$"
    • changedInput schema / properties / kind / description
      Previous value: -"Resource kind to fetch. One of: org, workload, identity, volumeset, gvc, secret, policy, group, domain, cloudaccount, agent, ipset, mk8s, serviceaccount, auditctx, image, location, user."New value: +"Resource kind to fetch."
    • removedInput schema / properties / name / maxLength
      Removed value: -257
    • removedInput schema / properties / name / minLength
      Removed value: -1
    • changedInput schema / properties / org / description
      Previous value: -"Organization slug (lowercase kebab-case). NEVER guess — if the user has not named one, ask. On org-not-found, stop and ask; do not retry variants."New value: +"Organization slug."
    • removedInput schema / properties / org / maxLength
      Removed value: -63
    • removedInput schema / properties / org / minLength
      Removed value: -1
    • removedInput schema / properties / org / pattern
      Removed value: -"^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$"
    • changedInput schema / required
      Previous value: -[
      -  "kind",
      -  "org"
      -]New value: +[
      +  "kind"
      +]
    • removedOutput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / additionalProperties
      Removed value: -false
    • changedOutput schema / properties / data / description
      Previous value: -"The full machine-readable result — list rows, the resource object, query results. Read THIS, not just the summary."New value: +"The full result. Read this, not only the summary."
    • addedOutput schema / properties / details
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / nextSteps / description
      Removed value: -"Recommended follow-up actions for this task, in order."
    • removedOutput schema / properties / ok / description
      Removed value: -"Whether the call succeeded."
    • removedOutput schema / properties / summary / description
      Removed value: -"One-line summary of the result."
  3. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is free. The description adds genuine behavioral context: secrets return metadata only because the API never includes their data, and a volume set also lists its snapshots. It stops short of describing payload size or truncation behavior, but the output schema covers the return shape.

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

Conciseness4/5

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

Densely front-loaded: the core operation comes first, then return shape, then routing guidance, then the schema mode. It is somewhat run-on (multiple clauses chained with semicolons), but nearly every sentence carries distinct information.

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 read tool with full annotations, a complete 7-parameter schema, and an output schema, this description covers everything an agent needs: naming rules, org exception, GVC scoping implications, secret data restrictions, and the schema-lookup path. Nothing material is left to inference.

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 the baseline is 3; the description earns an extra point by explaining cross-parameter interaction — omit `name` for kind='org', omit it again when `schema: true` — and by clarifying that the call returns a schema plus REST endpoints rather than a resource. That is semantics the schema states piecemeal but the description makes operationally clear.

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

Purpose5/5

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

States a specific verb and resource ('Fetch one Control Plane resource by `kind` + `name`') and immediately scopes it as 'The single read-one tool for every resource kind', which separates it from list_resources, search_control_plane, and the query_* siblings. The org exception and the schema mode are called out up front.

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

Usage Guidelines5/5

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

Explicitly says to read the target here before update_* or delete_resource, and that job tools (rollback_workload, diagnose_workload) read it themselves — a real when-not-use signal. It also gives a distinct use case for `schema: true` (before writing a cpln apply manifest or API body) with the warning 'never guess field names'.

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.