From 441ff436c47e262e4dd9d8479b211ba5aa9a5a9d Mon Sep 17 00:00:00 2001 From: Dmytro Stanchiev Date: Fri, 23 Jan 2026 09:55:37 -0500 Subject: [PATCH] feat(mcp): extend Kijiji tool with filtering parameters --- packages/mcp-server/src/protocol/tools.ts | 64 +++++++++++++++++------ 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/packages/mcp-server/src/protocol/tools.ts b/packages/mcp-server/src/protocol/tools.ts index 0e2947c..63cc116 100644 --- a/packages/mcp-server/src/protocol/tools.ts +++ b/packages/mcp-server/src/protocol/tools.ts @@ -3,25 +3,57 @@ */ export const tools = [ - { - name: "search_kijiji", - description: "Search Kijiji marketplace for listings matching a query", - inputSchema: { - type: "object", - properties: { - query: { - type: "string", - description: "Search query for Kijiji listings", - }, - maxItems: { - type: "number", - description: "Maximum number of items to return", - default: 5, + { + name: "search_kijiji", + description: "Search Kijiji marketplace for listings matching a query", + inputSchema: { + type: "object", + properties: { + query: { + type: "string", + description: "Search query for Kijiji listings", + }, + location: { + type: "string", + description: "Location name or ID (e.g., 'toronto', 'gta', 'ontario')", + }, + category: { + type: "string", + description: "Category name or ID (e.g., 'computers', 'furniture', 'bikes')", + }, + keywords: { + type: "string", + description: "Additional keywords to filter results", + }, + sortBy: { + type: "string", + description: "Sort results by field", + enum: ["relevancy", "date", "price", "distance"], + default: "relevancy", + }, + sortOrder: { + type: "string", + description: "Sort order", + enum: ["asc", "desc"], + default: "desc", + }, + maxPages: { + type: "number", + description: "Maximum pages to fetch (~40 items per page)", + default: 5, + }, + priceMin: { + type: "number", + description: "Minimum price in cents", + }, + priceMax: { + type: "number", + description: "Maximum price in cents", + }, }, + required: ["query"], }, - required: ["query"], }, - }, { name: "search_facebook", description: "Search Facebook Marketplace for listings matching a query",