expense-log-mcp
Version:
A MCP server that provides tools for logging expenses.
30 lines (29 loc) • 991 B
JavaScript
import { z } from "zod";
import prisma from "../db.js";
import { successResponse, errorResponse, getErrorMessage } from "./utils.js";
const deleteExpenseParameters = z.object({
ledgerId: z.string(),
messageId: z.string(),
});
export const deleteExpense = {
name: "deleteExpense",
description: "Delete a certain expense.",
parameters: deleteExpenseParameters,
execute: async ({ ledgerId, messageId }) => {
try {
const expense = await prisma.expense.delete({
where: { ledgerId_messageId: { ledgerId, messageId } },
});
const { id, description, amount, createdAt } = expense;
return successResponse("Expense deleted successfully.", {
id,
description,
amount,
createdAt: createdAt.toDateString(),
});
}
catch (e) {
return errorResponse("DATABASE_ERROR", getErrorMessage(e));
}
},
};