UNPKG

expense-log-mcp

Version:

A MCP server that provides tools for logging expenses.

30 lines (29 loc) 991 B
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)); } }, };