bulk_asset_search
Search for multiple digital assets simultaneously to find models, textures, or media files across queries in one operation.
Instructions
Search for multiple asset queries in bulk
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assets | Yes | Array of asset search queries |
Input Schema (JSON Schema)
{
"properties": {
"assets": {
"description": "Array of asset search queries",
"items": {
"properties": {
"limit": {
"default": 10,
"description": "Number of results per query (default: 10)",
"type": "number"
},
"query": {
"description": "Search query",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"assets"
],
"type": "object"
}
Implementation Reference
- server.js:852-865 (handler)The handler function for the 'bulk_asset_search' tool. It validates input using BulkAssetSearchSchema, calls the apiClient's bulkAssetSearch method, and returns a formatted JSON response with the results.handler: async (args) => { const { assets } = BulkAssetSearchSchema.parse(args); const result = await apiClient.bulkAssetSearch(assets); return { content: [{ type: "text", text: JSON.stringify({ success: true, data: result, message: `Bulk search completed for ${assets.length} queries` }, null, 2) }] }; }
- server.js:52-57 (schema)Zod input validation schema for the bulk_asset_search tool, defining an array of search queries each with a required query string and optional limit.const BulkAssetSearchSchema = z.object({ assets: z.array(z.object({ query: z.string().describe('Search query'), limit: z.number().optional().default(10).describe('Number of results per query') })) });
- server.js:824-866 (registration)The registration of the 'bulk_asset_search' tool in the tools array, including its name, description, JSON inputSchema, and handler function.{ name: "bulk_asset_search", description: "Search for multiple asset queries in bulk", inputSchema: { type: "object", properties: { assets: { type: "array", items: { type: "object", properties: { query: { type: "string", description: "Search query" }, limit: { type: "number", description: "Number of results per query (default: 10)", default: 10 } }, required: ["query"] }, description: "Array of asset search queries" } }, required: ["assets"] }, handler: async (args) => { const { assets } = BulkAssetSearchSchema.parse(args); const result = await apiClient.bulkAssetSearch(assets); return { content: [{ type: "text", text: JSON.stringify({ success: true, data: result, message: `Bulk search completed for ${assets.length} queries` }, null, 2) }] }; } },
- server.js:195-200 (helper)Supporting API client method that performs the actual bulk asset search by POSTing the assets array to the WebSim API endpoint.async bulkAssetSearch(assets) { return this.makeRequest('/api/v1/search/assets/bulk', { method: 'POST', body: JSON.stringify({ assets }) }); }