server.tool("query_supplier_inventory", "查询供应商库存和报价", {
productCode: { type: "string", description: "产品编号" },
quantity: { type: "number", description: "需求数量" },
supplierId: { type: "string", description: "供应商ID" }
}, async ({ productCode, quantity, supplierId }) => {
const quote = await supplierApi.getQuote(supplierId, productCode, quantity);
const data = {
supplier: quote.supplierName,
product: quote.productName,
unitPrice: quote.unitPrice,
totalPrice: quote.totalPrice,
currency: quote.currency,
leadTime: quote.leadTimeDays,
moq: quote.minimumOrderQuantity,
inStock: quote.availableQuantity
};
return {
content: [{
type: "text",
text: JSON.stringify(data, null, 2)
}],
structuredContent: data
};
});
server.tool("compare_suppliers", "对比多个供应商的报价", {
productCode: { type: "string", description: "产品编号" },
quantity: { type: "number", description: "需求数量" },
supplierIds: { type: "string", description: "供应商ID列表,逗号分隔" }
}, async ({ productCode, quantity, supplierIds }) => {
const ids = supplierIds.split(",").map(s => s.trim());
const quotes = await Promise.all(
ids.map(id => supplierApi.getQuote(id, productCode, quantity))
);
const comparison = quotes
.sort((a, b) => a.unitPrice - b.unitPrice)
.map((q, i) => ({
rank: i + 1,
supplier: q.supplierName,
unitPrice: q.unitPrice,
leadTime: q.leadTimeDays,
moq: q.minimumOrderQuantity
}));
return {
content: [{
type: "text",
text: JSON.stringify(comparison, null, 2)
}]
};
});