claudeus-wp-mcp
Version:
The most comprehensive WordPress MCP server - 145 production-ready tools for complete WordPress management with AI
61 lines • 2.13 kB
JavaScript
import { DEFAULT_SITE } from '../../config.js';
export async function handleShopTools(name, args, shopAPI) {
// Debug logging
console.error('Debug - Tool name:', name);
console.error('Debug - Args:', JSON.stringify(args, null, 2));
// Always set the default site
args = {
site: DEFAULT_SITE,
...args
};
console.error('Debug - Args after default:', JSON.stringify(args, null, 2));
console.error('Debug - Filters:', JSON.stringify(args.filters, null, 2));
// Helper function to parse filters
const parseFilters = (filters) => {
if (typeof filters === 'string') {
try {
return JSON.parse(filters);
}
catch (error) {
const e = error;
throw new Error(`Invalid filters format: ${e.message}`);
}
}
return filters;
};
switch (name) {
case 'claudeus_wp_shop__get_products': {
const filters = parseFilters(args.filters);
const response = await shopAPI.getProducts(filters);
return {
content: [{
type: "text",
text: JSON.stringify(response, null, 2)
}]
};
}
case 'claudeus_wp_shop__get_orders': {
const filters = parseFilters(args.filters);
const response = await shopAPI.getOrders(filters);
return {
content: [{
type: "text",
text: JSON.stringify(response, null, 2)
}]
};
}
case 'claudeus_wp_shop__get_sales': {
const filters = parseFilters(args.filters);
const response = await shopAPI.getSalesStats(filters);
return {
content: [{
type: "text",
text: JSON.stringify(response, null, 2)
}]
};
}
default:
throw new Error(`Unknown shop tool: ${name}`);
}
}
//# sourceMappingURL=handlers.js.map