Skip to main content
Glama

Search StyleKit styles

stylekit_search_styles
Read-onlyIdempotent

Search StyleKit design styles by keyword and/or category, with pagination. Exact slug or name matches are ranked first.

Args:

  • query (string, optional): matches slug, name, description, tags, keywords (case-insensitive).

  • category ('modern'|'retro'|'minimal'|'expressive', optional): restrict to one category.

  • limit (number 1-50, default 15): page size.

  • offset (number >=0, default 0): results to skip (for paging).

Returns structured JSON with total, count, offset, has_more, source, optional fallbackReason, and results. A valid query with no matches returns an empty results array, not a tool error.

Examples:

  • "find a glassy frosted style" -> query: "glass"

  • "next page of retro styles" -> category: "retro", offset: 15

  • For full tokens of one style, call stylekit_get_style with include: ["tokens"] instead.

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": "stylekit_search_styles"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoPage size
queryNoKeyword to match
offsetNoResults to skip for pagination
categoryNoStyle category filter

Output Schema

NameRequiredDescriptionDefault
countYes
totalYes
offsetYes
sourceYes
rankingNo
resultsYes
has_moreYes
fallbackReasonNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / offset / maximum
      Removed value: -9007199254740991
    • changedOutput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • removedOutput schema / properties / hasMore
      Removed value: -{
      -  "type": "boolean"
      -}
    • removedOutput schema / properties / has_more / description
      Removed value: -"Deprecated alias of hasMore."
    • removedOutput schema / properties / next_offset
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "number"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ]
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "total",
      -  "count",
      -  "offset",
      -  "hasMore",
      -  "next_offset",
      -  "has_more",
      -  "source",
      -  "results"
      -]New value: +[
      +  "total",
      +  "count",
      +  "offset",
      +  "has_more",
      +  "source",
      +  "results"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the description doesn't need to restate safety. It nonetheless adds real behavior: exact-match ranking, an explicit "empty results array, not a tool error" contract, and the shape of the response envelope including a fallbackReason field that implies fallback sourcing. It leaves fallbackReason and source semantics unexplained.

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?

Front-loaded purpose sentence, then compact Args/Returns/Examples sections that are easy to scan. Minor waste from restating schema-declared defaults and limits for limit/offset, but no sentence is confusing or unearned.

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?

Covers paging mechanics, empty-result semantics, ranking, and the escape hatch to stylekit_get_style for full tokens. With an output schema present, return values need no deeper explanation, and nothing an agent needs to call this 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 baseline is 3, but the description adds meaning beyond the schema by naming which fields query matches (slug, name, description, tags, keywords) and that matching is case-insensitive. It also documents limit/offset defaults and ranges, though those duplicate 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?

States a specific verb and resource ("Search StyleKit design styles") plus scope (keyword and/or category, paginated) and a distinguishing ranking rule (exact slug or name matches first). That ranking detail separates it from a plain list tool in the sibling set.

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?

Provides intent-to-parameter examples ("find a glassy frosted style" -> query: "glass", "next page of retro styles" -> category + offset) and explicitly routes token-fetching to stylekit_get_style with include: ["tokens"]. It never states when not to use it (e.g., vs. stylekit_list_assets), so it stops short of full when/when-not coverage.

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.