Skip to main content
Glama

search_docs

Full-text search across every UploadKit docs page (88+ pages — getting-started, core-concepts, SDK reference, API reference, dashboard, guides). Ranks matches by keyword frequency in title, description, and body.

When to use: any question about UploadKit behaviour, configuration, or integration that the component tools do not answer — middleware, onUploadComplete callbacks, REST API endpoints, webhooks, presigned URLs, CSS theming variables, type-safety setup, migration from UploadThing, rate limits, etc.

Returns: JSON { query, count, indexGeneratedAt, matches: [{ path, url, title, description, snippet, score }] }. Sorted by score descending. Read-only. Bundled index (no network call) — results reflect docs at build time.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of matches to return. Default: 8. Range 1-50. Use smaller values (3-5) when you already have a narrow query; use larger values (15-20) for exploratory scans across the whole docs site.
queryYesFree-text search query. Multiple words are ANDed with per-field weighting (title matches score highest). Examples: "middleware onUploadComplete", "theming css variables", "presigned url", "migration uploadthing".

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries full burden and discloses key behaviors: 'Read-only. Bundled index (no network call) — results reflect docs at build time.' It also explains ranking logic ('Ranks matches by keyword frequency') and the return format with sorted order, going beyond a basic read/write hint.

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?

The description is organized into clear sections: scope, when to use, and return format. Every sentence adds value—no fluff. Despite moderate length, it remains focused and front-loaded with the core purpose, making it easy for an agent to quickly assess relevance.

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?

Given no output schema, the description thoroughly explains the return JSON structure with field names and sorting, plus metadata fields like query, count, and indexGeneratedAt. It covers use cases, behavior, limitations (build-time index), and parameter semantics, making it self-sufficient for an agent to invoke correctly.

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 100%, but the description adds valuable usage guidance: for limit it gives default, range, and context-specific advice ('Use smaller values (3-5) when you already have a narrow query; use larger values (15-20) for exploratory scans'); for query it explains ANDed multi-word behavior and per-field weighting with concrete examples. This significantly enriches schema definitions.

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 description states 'Full-text search across every UploadKit docs page (88+ pages)' with a specific verb and resource, covering all docs. It distinguishes itself from siblings like search_components and get_doc by clearly scoping to docs pages and listing covered categories (getting-started, SDK reference, etc.).

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 provides a 'When to use' section: 'any question about UploadKit behaviour, configuration, or integration that the component tools do not answer — middleware, onUploadComplete callbacks, REST API endpoints...' This gives clear usage context and implies alternatives (component tools) without naming them directly, covering exclusions effectively.

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.

TDQS

A4.7/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: docs (list/search/get), components (list/search/get), scaffolding (route handler/provider), install, quickstart, BYOS config, and image transform. Even the most similar pairs (list_docs vs search_docs vs get_doc) have clear boundaries between enumerating, searching, and fetching a specific page.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern: get_*, list_*, search_*, scaffold_*, plus transform_image. The verbs are semantically grouped (list = enumerate, search = fuzzy find, get = fetch specific, scaffold = generate code), making the naming predictable and scannable.

Tool Count5/5

With 12 tools, the server is well-scoped. It covers the full array of UploadKit integration tasks—docs discovery, component exploration, setup scaffolding, install commands, and image transformations—without unnecessary duplication or bloat.

Completeness5/5

The tool surface is highly complete for its purpose: agents can discover and fetch docs, search and inspect components, generate all necessary setup code (route handler, provider, install, BYOS), and create transformed image URLs. The only possible gap is upload management, but that is outside the server's stated integration-guidance scope, so no dead ends exist.

Resources