flexible_search
Execute FlexibleSearch queries to retrieve data from SAP Commerce Cloud (Hybris) databases using FlexibleSearch syntax for product, order, and system data management.
Instructions
Execute a FlexibleSearch query against the Hybris database. Use FlexibleSearch syntax.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | FlexibleSearch query (e.g., "SELECT {pk}, {code} FROM {Product}") | |
| maxCount | No | Maximum number of results (default: 100) |
Implementation Reference
- src/hybris-client.ts:467-483 (handler)The actual implementation of the executeFlexibleSearch logic which makes the API call to the Hybris HAC console.
async executeFlexibleSearch(query: string, maxCount = 100): Promise<FlexibleSearchResult> { const formData = new URLSearchParams({ flexibleSearchQuery: query, maxCount: maxCount.toString(), }); return this.hacRequest<FlexibleSearchResult>( `${this.hacPrefix}/console/flexsearch/execute`, { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: formData, } ); } - src/index.ts:194-210 (schema)MCP tool definition and input schema for flexible_search.
{ name: 'flexible_search', description: 'Execute a FlexibleSearch query against the Hybris database. Use FlexibleSearch syntax.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'FlexibleSearch query (e.g., "SELECT {pk}, {code} FROM {Product}")', }, maxCount: { type: 'number', description: 'Maximum number of results (default: 100)', }, }, required: ['query'], }, - src/index.ts:416-421 (registration)The handler switch-case that dispatches the tool call to the Hybris client implementation.
case 'flexible_search': result = await hybrisClient.executeFlexibleSearch( validateString(args, 'query', true), validateNumber(args, 'maxCount', { min: 1, max: 10000 }) ); break;