Skip to main content
Glama
iit-mcp-hudu

iit-mcp-hudu

Get Asset Context

hudu_get_asset_context
Read-only

Fetch a Hudu asset and its AssetContext by identifier (ID, name, slug, or serial), with options for pagination and full-record expansion.

Instructions

Fetch an asset with its context (AssetContext). Pass identifier: id, name, slug or serial. A refused sub-list answers UNAUTHORIZED.

Input Schema

NameRequiredDescriptionDefault
optsNo
identifierYes

Output Schema

NameRequiredDescriptionDefault
contextYes
skippedNo
markdown_lossyNo
markdown_lossy_codesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv0.6.0
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • changedInput schema / properties / identifier / anyOf
      Previous value: -[
      -  {
      -    "exclusiveMinimum": 0,
      -    "maximum": 9007199254740991,
      -    "type": "integer"
      -  },
      -  {
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  {
      -    "properties": {
      -      "companyId": {
      -        "exclusiveMinimum": 0,
      -        "maximum": 9007199254740991,
      -        "type": "integer"
      -      },
      -      "id": {
      -        "exclusiveMinimum": 0,
      -        "maximum": 9007199254740991,
      -        "type": "integer"
      -      },
      -      "name": {
      -        "type": "string"
      -      },
      -      "primary_serial": {
      -        "type": "string"
      -      },
      -      "slug": {
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "exclusiveMinimum": 0,
      +    "type": "integer"
      +  },
      +  {
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  {
      +    "properties": {
      +      "companyId": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "id": {
      +        "exclusiveMinimum": 0,
      +        "type": "integer"
      +      },
      +      "name": {
      +        "type": "string"
      +      },
      +      "primary_serial": {
      +        "type": "string"
      +      },
      +      "slug": {
      +        "type": "string"
      +      }
      +    },
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties / identifier / description
      Removed value: -"Id, name, slug, primary serial or { id, companyId }."
    • changedInput schema / properties / opts / properties / expand / description
      Previous value: -"Return the full typed records instead of the compact summaries (default false)."New value: +"Full records, not compact summaries."
    • changedInput schema / properties / opts / properties / limit / description
      Previous value: -"Maximum rows returned (1-100, default 25). A larger value throws CONFIG_ERROR - the SDK never silently clamps."New value: +"1-100 rows, default 25; larger is a CONFIG_ERROR."
    • removedOutput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
    • addedOutput schema / properties / markdown_lossy
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / markdown_lossy_codes
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / skipped
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
  2. First observedv0.2.3

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful behavioral fact — that a refused sub-list returns UNAUTHORIZED, implying partial results are possible — but says nothing about pagination defaults, the effect of expand, or the size of the context payload.

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?

Three short, front-loaded sentences with no filler — the core action comes first, then the identifier forms, then the error behavior. Terse jargon like 'AssetContext' and 'UNAUTHORIZED' is used without explanation, but the structure is efficient.

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

Completeness4/5

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

With an output schema present, the description need not explain return values, and the annotations cover safety. The remaining gap is modest: opts (limit/expand) and the shape/size of the returned context are not addressed, which matters for a nested-object tool with a 100-row cap.

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

Parameters3/5

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

Schema description coverage is 0%, so the description has to compensate. It correctly enumerates the accepted identifier forms (id, name, slug, serial), which maps onto the anyOf/object schema, but it leaves opts.limit and opts.expand entirely unexplained in the description. Note the slight mismatch between 'serial' and the schema's 'primary_serial'.

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?

The description states a specific verb and resource: fetch an asset together with its context (AssetContext). That distinguishes it from generic siblings like hudu_search or hudu_read, though it does not explicitly contrast with the closely named hudu_get_company_context / hudu_get_article_context.

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?

It says how to call the tool (pass an identifier) but never says when to prefer it over hudu_search, hudu_read, hudu_resolve_any, or the other *_context siblings. There are no conditions, prerequisites, or exclusions offered.

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