Skip to main content
Glama

get_innerspace_asset

Retrieve a floor-plan image from a UniFi InnerSpace project, returning base64-encoded data or metadata for larger assets.

Instructions

Download a floor-plan asset (image) from a console's InnerSpace project.

Fetches the binary asset from the documented …/integration/v1/assets/{planId}/ {filename} endpoint (a floor plan's image_url resolves here). Bytes are returned base64-encoded inline under image_base64 when at or below the 10 MiB inline cap; a larger asset returns metadata only (image_base64=null) plus a note and the connector path to fetch it out-of-band. content_type is the upstream media type (typically image/jpeg or image/png).

host: console name, ID, or composite ID (MAC:numericId format). plan_id: the id in the {planId} segment of the floor plan's image_url -- i.e. the value between '/assets/' and the trailing '/{filename}'. This is the asset-group UUID and is NOT the floor plan's own 'id' field (they differ); passing the plan 'id' returns HTTP 404. Parse both plan_id and filename from image_url (from list_innerspace_floor_plans) rather than constructing them from the plan id. filename: the asset filename as published in the floor plan's image_url.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostYes
plan_idYes
filenameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Install Server

TDQS

A5/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: base64-inline return under a 10 MiB cap, metadata-only response for larger assets, the content_type field, and the out-of-band connector path. This is rich behavioral context that exceeds what an agent could infer from a simple 'download' description.

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

Conciseness5/5

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

Although long, every sentence earns its place. The main purpose is front-loaded, the endpoint context follows, and parameter explanations are presented as a clean list. The complexity of the task justifies the length, and the structure makes it easy to scan.

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?

The description covers what the tool does, how to get the required parameters, the response format including edge cases, and the relationship to a sibling tool for extracting those parameters. For a tool with no annotations and three non-trivial parameters, nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate, and it does thoroughly. Each parameter is explained with real-world semantics: host accepts name/ID/composite ID, plan_id is clarified as the asset-group UUID not the floor plan id, and filename is tied to the image_url. This is far more than the bare names in the schema.

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?

The first sentence states a specific verb ('Download') and resource ('floor-plan asset'), immediately distinguishing this from sibling InnerSpace tools like list_innerspace_floor_plans or get_innerspace_summary. The mention of the endpoint and the asset's image_url further clarifies exactly what is fetched.

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?

The description explicitly instructs to parse plan_id and filename from image_url returned by list_innerspace_floor_plans, and warns against constructing them from the plan id. This gives clear when-to-use and when-not-to-use guidance, effectively routing the agent away from a common pitfall.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/swkstudios/unifi-fabric-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server