Designs JSON Schemas for WebMCP tool inputs/outputs with types, constraints, nested objects, and agent docs. Use when defining/refining schemas for agent tool validation and guidance.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin webmcp-browser-agentsThis skill is limited to using the following tools:
**Fetch live docs**:
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Fetch live docs:
https://webmachinelearning.github.io/webmcp/ for the inputSchema specification and any constraintswebmcp inputSchema JSON Schema requirements for schema format detailsJSON Schema draft specification for the JSON Schema version used by WebMCPwebmcp tool schema best practices for community guidanceThe inputSchema in a tool definition serves two purposes:
executeWebMCP uses standard JSON Schema. Each tool's inputSchema is a JSON Schema object:
inputSchema: {
type: "object",
properties: {
paramName: { type: "string", description: "What this parameter is" },
// ...more properties
},
required: ["paramName"]
}
| JSON Schema Type | Use For | Example |
|---|---|---|
string | Text, IDs, codes | Product ID, search query, coupon code |
number | Decimal values | Price, weight, rating |
integer | Whole numbers | Quantity, page number |
boolean | True/false flags | In-stock filter, gift wrap option |
array | Lists | Product IDs, selected categories |
object | Nested structures | Address, payment details |
Always add description to properties — agents use these to decide what values to provide:
properties: {
query: {
type: "string",
description: "Search keywords for product catalog"
},
maxPrice: {
type: "number",
description: "Maximum price in USD. Omit to search all prices."
}
}
Use JSON Schema constraints to guide agent input:
minLength / maxLength for stringsminimum / maximum for numbersenum for fixed value setspattern for regex validationminItems / maxItems for arraysdefault for optional parameters with defaultsProduct search:
{
type: "object",
properties: {
query: { type: "string", description: "Search keywords" },
category: { type: "string", enum: ["electronics", "clothing", "home"] },
maxPrice: { type: "number", minimum: 0 },
sortBy: { type: "string", enum: ["relevance", "price_asc", "price_desc", "rating"] }
},
required: ["query"]
}
Add to cart:
{
type: "object",
properties: {
productId: { type: "string", description: "Product identifier" },
quantity: { type: "integer", minimum: 1, maximum: 99, default: 1 },
variant: { type: "string", description: "Size, color, or variant ID" }
},
required: ["productId"]
}
Shipping address:
{
type: "object",
properties: {
street: { type: "string" },
city: { type: "string" },
state: { type: "string" },
zipCode: { type: "string", pattern: "^[0-9]{5}(-[0-9]{4})?$" },
country: { type: "string", enum: ["US", "CA", "UK"] }
},
required: ["street", "city", "state", "zipCode", "country"]
}
While WebMCP doesn't formally specify an output schema, tools should return predictable JSON:
status or success fieldtotal, page, pageSize)code and message for failuresdescriptionenum, minimum, maximum to prevent invalid inputsFetch the WebMCP spec for the exact JSON Schema version supported and any WebMCP-specific constraints before designing schemas.