Skip to main content
Glama

Search Catalogue Assets

search_assets
Read-only

Search the public kernelCAD asset catalogue of published models. This is not find_part (screws, bearings, NEMA). Read-only. Anonymous callers are allowed. Do not send an API key. Use source:"library" for the free built-in model library. Search its titles, tags or kit IDs, and download editable .kcad.ts from downloads.source. Library slugs are kit/id. For community projects use source:"community". With no source, an empty or unavailable community search falls back to the library for supported filters. Library supports q, category (kit or manufacturing), tags, license, triangle bounds, kit, limit and cursor. Its default order is kit/id; use sort:"triangles" for descending complexity. Rig, IK, latest and remixed are community metadata. For category:"kit", usage gives explicit evaluate_script and render_preview options for visual scene geometry. These skip mechanism checks and leave mechanical behavior unverified. Keep the checks enabled for manufacturing or engineering verification. Each community row has slug, title, license (SPDX, always present), category, tags, kit, stats, has_rig, has_ik, ik_type, remix_count and thumbnail_url. UNITS: stats.size_m is {x, y, z} in metres. Y is up. stats.origin_y is the model origin height in metres. stats.triangles is the triangle count. RIG: has_rig means the asset has named moving parts. Pass rig:true to keep only those. get_asset returns rig as { : { type: "rotate" or "slide", axis: "x"|"y"|"z" (local), range: [min, max] (degrees for rotate, metres for slide), node } }. has_ik / ik_type mark an inverse-kinematics target. ik is "any", "arm" or "legs". FILTERS, all optional: q (title, tags and description), category, tags (every listed tag must match), license (SPDX id), min_triangles, max_triangles, rig (true = moving parts only), ik ("any"|"arm"|"legs"), kit, sort ("latest"|"triangles"|"remixed"), cursor (next_cursor from the previous page), limit (1-100, default 24). Only public, gallery-listed assets with a redistributable licence are returned. Use get_asset(slug) for params, presets and the rig. Use get_asset_pack(slug) for a short-lived signed zip URL.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "search_assets"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoWords matched against title, tags and description.
ikNoInverse-kinematics filter. "any" is any IK target; "arm" and "legs" match ik_type.
kitNoExact kit id.
rigNotrue = only assets with named moving parts (has_rig).
sortNolatest (default), triangles, or remixed.
tagsNoEvery tag must be present on the asset.
limitNoPage size, 1-100. Default 24.
cursorNonext_cursor from the previous page. Must be used with the same sort.
sourceNolibrary = downloadable built-in models; community = published projects.
licenseNoSPDX licence id. Every row also carries license.
categoryNoExact category label, e.g. "mechanism".
max_trianglesNoKeep assets with at most this many triangles.
min_trianglesNoKeep assets with at least this many triangles.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / source
      Added value: +{
      +  "description": "library = downloadable built-in models; community = published projects.",
      +  "enum": [
      +    "library",
      +    "community"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only/open-world/non-destructive, but the description adds genuine behavioural context: anonymous callers are permitted and no API key should be sent, results are limited to public gallery-listed assets with redistributable licences, and community fallback semantics. It does not discuss rate limits or pagination edge behaviour, keeping it short of a 5.

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?

Purpose and disambiguation are front-loaded, but the body is ten dense paragraphs with several items (row field lists, stats units) that restate what an output schema already provides. The RIG and UNITS blocks are useful but could be tightened without losing meaning.

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 13-parameter, dual-source search tool, every calling decision an agent must make — which source, which filters apply where, sort semantics, pagination, and where to go next — is resolved within the description. Nothing needed to invoke it correctly 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 coverage is 100%, so the baseline is 3; the description earns above that by explaining that filters are source-conditional — library supports q/category/tags/license/triangle bounds/kit/limit/cursor with default ordering kit/id, while rig, ik, latest and remixed are community metadata. That applicability mapping is not derivable from the schema alone.

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 ("Search the public kernelCAD asset catalogue of published models") and immediately disambiguates from a plausible sibling: "This is not find_part (screws, bearings, NEMA)." The library-vs-community distinction further sharpens what corpus is being searched.

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?

Explicit routing is given: source:"library" for built-in downloadable models, source:"community" for published projects, with the documented fallback when community is empty or unavailable. It also names downstream steps (get_asset, get_asset_pack, evaluate_script, render_preview) and warns to keep mechanism checks enabled for manufacturing verification.

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.