Skip to main content
Glama

Bargainer MCP Server

types.tsβ€’2.41 kB
import { z } from 'zod'; // Deal schema export const DealSchema = z.object({ id: z.string(), title: z.string(), description: z.string().optional(), price: z.number().optional(), originalPrice: z.number().optional(), discount: z.number().optional(), discountPercentage: z.number().optional(), rating: z.number().optional(), reviewCount: z.number().optional(), category: z.string().optional(), store: z.string(), url: z.string().url(), imageUrl: z.string().url().optional(), expirationDate: z.string().optional(), tags: z.array(z.string()).optional(), source: z.string(), createdAt: z.string(), popularity: z.number().optional(), verified: z.boolean().optional() }); export type Deal = z.infer<typeof DealSchema>; // Search parameters schema export const SearchParamsSchema = z.object({ query: z.string(), category: z.string().optional(), minPrice: z.number().optional(), maxPrice: z.number().optional(), minRating: z.number().optional(), store: z.string().optional(), sortBy: z.enum(['price', 'rating', 'popularity', 'date']).optional(), sortOrder: z.enum(['asc', 'desc']).optional(), limit: z.number().min(1).max(100).default(20), sources: z.array(z.string()).optional() }); export type SearchParams = z.infer<typeof SearchParamsSchema>; // Deal source configuration export const DealSourceSchema = z.object({ name: z.string(), baseUrl: z.string().url(), apiKey: z.string().optional(), headers: z.record(z.string()).optional(), rateLimit: z.number().optional(), enabled: z.boolean().default(true) }); export type DealSource = z.infer<typeof DealSourceSchema>; // API response schemas export const ApiResponseSchema = z.object({ success: z.boolean(), data: z.array(DealSchema).optional(), error: z.string().optional(), total: z.number().optional(), page: z.number().optional(), limit: z.number().optional() }); export type ApiResponse = z.infer<typeof ApiResponseSchema>; // Filter schema export const FilterSchema = z.object({ categories: z.array(z.string()).optional(), stores: z.array(z.string()).optional(), priceRange: z.object({ min: z.number().optional(), max: z.number().optional() }).optional(), ratingRange: z.object({ min: z.number().optional(), max: z.number().optional() }).optional(), tags: z.array(z.string()).optional() }); export type Filter = z.infer<typeof FilterSchema>;

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/karthiksivaramms/bargainer-mcp-client'

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