feat(mcp): add search options to Kijiji and eBay tools
This commit is contained in:
@@ -97,7 +97,23 @@ export async function handleMcpRequest(req: Request): Promise<Response> {
|
|||||||
error: { code: -32602, message: "query parameter is required" },
|
error: { code: -32602, message: "query parameter is required" },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const items = await fetchKijijiItems(query, args.maxItems || 5);
|
const searchOptions = {
|
||||||
|
location: args.location,
|
||||||
|
category: args.category,
|
||||||
|
keywords: args.keywords,
|
||||||
|
sortBy: args.sortBy,
|
||||||
|
sortOrder: args.sortOrder,
|
||||||
|
maxPages: args.maxPages || 5,
|
||||||
|
priceMin: args.priceMin,
|
||||||
|
priceMax: args.priceMax,
|
||||||
|
};
|
||||||
|
const items = await fetchKijijiItems(
|
||||||
|
query,
|
||||||
|
1,
|
||||||
|
"https://www.kijiji.ca",
|
||||||
|
searchOptions,
|
||||||
|
{}
|
||||||
|
);
|
||||||
result = items || [];
|
result = items || [];
|
||||||
} else if (name === "search_facebook") {
|
} else if (name === "search_facebook") {
|
||||||
const query = args.query;
|
const query = args.query;
|
||||||
@@ -110,10 +126,11 @@ export async function handleMcpRequest(req: Request): Promise<Response> {
|
|||||||
}
|
}
|
||||||
const items = await fetchFacebookItems(
|
const items = await fetchFacebookItems(
|
||||||
query,
|
query,
|
||||||
args.maxItems || 5,
|
1,
|
||||||
args.location || "toronto",
|
args.location || "toronto",
|
||||||
25,
|
args.maxItems || 25,
|
||||||
args.cookiesSource
|
args.cookiesSource,
|
||||||
|
undefined
|
||||||
);
|
);
|
||||||
result = items || [];
|
result = items || [];
|
||||||
} else if (name === "search_ebay") {
|
} else if (name === "search_ebay") {
|
||||||
@@ -125,7 +142,7 @@ export async function handleMcpRequest(req: Request): Promise<Response> {
|
|||||||
error: { code: -32602, message: "query parameter is required" },
|
error: { code: -32602, message: "query parameter is required" },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const items = await fetchEbayItems(query, args.maxItems || 5, {
|
const items = await fetchEbayItems(query, 1, {
|
||||||
minPrice: args.minPrice,
|
minPrice: args.minPrice,
|
||||||
maxPrice: args.maxPrice,
|
maxPrice: args.maxPrice,
|
||||||
strictMode: args.strictMode || false,
|
strictMode: args.strictMode || false,
|
||||||
@@ -134,7 +151,9 @@ export async function handleMcpRequest(req: Request): Promise<Response> {
|
|||||||
buyItNowOnly: args.buyItNowOnly !== false,
|
buyItNowOnly: args.buyItNowOnly !== false,
|
||||||
canadaOnly: args.canadaOnly !== false,
|
canadaOnly: args.canadaOnly !== false,
|
||||||
});
|
});
|
||||||
result = items || [];
|
|
||||||
|
const results = args.maxItems ? items.slice(0, args.maxItems) : items;
|
||||||
|
result = results || [];
|
||||||
} else {
|
} else {
|
||||||
return Response.json({
|
return Response.json({
|
||||||
jsonrpc: "2.0",
|
jsonrpc: "2.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user