Skip to main content
Glama

SFCC Development MCP Server

by taurgis
query-builder.ts1.99 kB
/** * Query Builder Utility * * This module provides utilities for building query strings and handling URL parameters * for SFCC API requests with proper encoding and array handling. */ /** * Query parameter builder for SFCC APIs */ export class QueryBuilder { private params: URLSearchParams; constructor() { this.params = new URLSearchParams(); } /** * Add a parameter to the query string */ add(key: string, value: string | number | boolean): QueryBuilder { if (value !== undefined && value !== null) { this.params.append(key, value.toString()); } return this; } /** * Add an array parameter with proper handling for different parameter types */ addArray(key: string, values: (string | number)[]): QueryBuilder { if (!Array.isArray(values) || values.length === 0) { return this; } if (key === 'refine') { // Special handling for OCAPI refine parameters (multiple entries) values.forEach(value => this.params.append(key, value.toString())); } else { // Join arrays with comma for most parameters this.params.append(key, values.join(',')); } return this; } /** * Add multiple parameters from an object */ addFromObject(params: Record<string, any>): QueryBuilder { Object.entries(params).forEach(([key, value]) => { if (value !== undefined && value !== null) { if (Array.isArray(value)) { this.addArray(key, value); } else { this.add(key, value); } } }); return this; } /** * Build the final query string */ build(): string { return this.params.toString(); } /** * Reset the builder */ reset(): QueryBuilder { this.params = new URLSearchParams(); return this; } /** * Static method to build query string from object */ static fromObject(params: Record<string, any>): string { return new QueryBuilder().addFromObject(params).build(); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/taurgis/sfcc-dev-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server