Token导航 LogoToken导航TokenDH.com
Expense Log MCP logo
数据服务stdio官方级别未说明来源级核验

Expense Log MCP

MCP Server

prisma

一个基于SSE的MCP服务器,提供记录、删除、查询和分组费用的工具。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScript数据库工具数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

evanxd

提供方

evanxd

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx prisma db push

详细介绍

MCP费用日志

基于SSE的MCP服务器,提供记录费用的工具。

✨ 特性

  • 将新的支出记入分类账。
  • 删除费用记录。
  • 检索所有可用支出类别的列表。
  • 按付款人和类别检索和分组费用。
  • 检索费用记录。

🚀 入门指南

先决条件

安装和设置

  1. 克隆存储库:
   git clone https://github.com/evanxd/expense-log-mcp.git
  1. 安装依赖项:
   npm install
  1. 设置数据库:

- 创建一个 .env 项目根目录中的文件。 - 将PostgreSQL连接字符串添加到 .env 文件:

     DB_USER="postgres"
     DB_HOST="localhost"
     DB_PORT="5432"
     DB_DATABASE="postgres"
     DB_PASSWORD="YOUR_DB_PASSWORD"
     DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_DATABASE}?schema=public"

- 将服务器配置添加到您的 .env 文件:

     MCP_SECRET_KEY="YOUR_SECRET_KEY" # A strong, unique key for authenticating with the MCP server
     PORT="8080" # The port the MCP server will listen on (default is 8080)

- 应用数据库架构:

     npx prisma db push

- 为数据库添加初始类别种子:

     npm run db:seed
  1. 构建并启动服务器:
   npm run build && npm start

此命令编译TypeScript代码,然后启动服务器,服务器将侦听指定对象上的传入请求 PORT (默认为8080)。

  1. 配置您的MCP主机(例如Gemini CLI):

- 将以下配置添加到Gemini CLI设置中(通常在 ~/.gemini-cli/config.json 或类似,具体取决于您的操作系统):

   "mcpServers": {
     "expense-log-mcp": {
       "url": "http://localhost:8080/sse",
       "headers": {
         "Authorization": "Bearer YOUR_SECRET_KEY"
       }
     }
   }

重要提示: 替换 YOUR_SECRET_KEY 与实际 MCP_SECRET_KEY 你在你的 .env 文件。此命令告诉Gemini CLI如何连接到本地运行的Expense Log MCP服务器并对其进行身份验证。

🛠️ 工具

服务器公开了以下工具:

addExpense

添加新的支出记录。

参数:

名称类型描述
ledgerIdstring要添加费用的分类账的ID
categoryIdstring费用类别的ID。
messageIdstring消息的唯一ID,以防止重复。
descriptionstring费用的描述。
amountnumber费用金额。
payerstring付款人的姓名。

退货:

已添加确认费用的JSON字符串,例如:

{
  "success": true,
  "code": "OK",
  "message": "Expense added successfully.",
  "data": {
    "expenseId": "clx...456"
  }
}

deleteExpense

删除费用记录。

参数:

名称类型描述
ledgerIdstring费用所属分类账的ID
messageIdstring要删除的费用的唯一消息ID。

退货:

一个JSON字符串,确认费用已被删除,并包括已删除费用的详细信息,例如:

{
  "success": true,
  "code": "OK",
  "message": "Expense deleted successfully.",
  "data": {
    "id": "clx...123",
    "description": "Lunch",
    "amount": 15.75,
    "createdAt": "Sun Sep 07 2025"
  }
}

getExpense

检索单个支出的详细信息。

参数:

名称类型描述
ledgerIdstring费用所属分类账的ID
messageIdstring要删除的费用的唯一消息ID。

退货:

一个JSON字符串,确认已检索到费用,并包括费用的详细信息,例如:

{
  "success": true,
  "code": "OK",
  "message": "Expense retrieved successfully.",
  "data": {
    "id": "clx...123",
    "description": "Lunch",
    "amount": 110,
    "payer": "payer1",
    "createdAt": "2025-09-07T00:00:00.000Z",
    "updatedAt": "2025-09-07T00:00:00.000Z"
  }
}

getExpenseCategories

检索所有费用类别的列表。

参数:

没有。

退货:

包含费用类别列表的JSON字符串,例如:

{
  "success": true,
  "code": "OK",
  "message": "Expense categories retrieved successfully.",
  "data": [
    {
      "expenseCategoryId": "clx...1",
      "expenseCategoryName": "Transportation"
    },
    {
      "expenseCategoryId": "clx...2",
      "expenseCategoryName": "Utilities"
    }
  ]
}

getGroupedExpenses

按付款人和类别名称检索和分组费用,返回每个类别的总金额, 具有类别ID、付款人和日期范围的可选过滤器。

参数:

名称类型描述
ledgerIdstring要从中检索费用的分类账的ID。
categoryIdsstring\[\]可选。要筛选的类别ID数组
payerstring可选。要筛选的付款人的名称
startDatestring可选。过滤费用的开始日期(ISO 8601格式)。
endDatestring可选。过滤费用的结束日期(ISO 8601格式)。

退货:

包含分组费用的JSON字符串,例如:

{
  "success": true,
  "code": "OK",
  "message": "Grouped expenses retrieved successfully.",
  "data": {
    "Payer1": {
      "expenseCategories": {
        "Entertainment": 100,
        "Transportation": 50
      },
      "totalAmount": 150
    },
    "Payer2": {
      "expenseCategories": {
        "Dining/Snacks": 75
      },
      "totalAmount": 75
    }
  }
}

🗄️ 数据库模式

此项目使用Prisma来管理数据库架构。架构在中定义 prisma/schema.prisma 包括以下型号:

  • Ledger:代表一系列费用。
  • ExpenseCategory:表示支出的类别。
  • Expense:表示单个支出记录。添加了一个独特的约束 ledgerIdmessageId 以防止重复支出。

所有型号包括 createdAtupdatedAt 时间戳。ID是通过以下方式生成的 cuid().

🙌 贡献

欢迎投稿!请随时提交拉取请求。

📄 许可证

该项目根据 MIT许可证.

目录标签

目录标签

TypeScript数据库工具数据分析费用管理本地部署SSE服务财务记录

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

prisma

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP