Token导航 LogoToken导航TokenDH.com
financial bot logo
数据服务未说明官方级别未说明来源级核验

financial bot

MCP Server

Servidor MCP是一个基于TypeScript和PostgreSQL的个人财务助手,提供账户余额查询、交易记录和错误处理等功能。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
财务管理PostgreSQL数据分析TypeScript

安装说明

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

作者 / 组织

cserna98

提供方

cserna98

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

个人财务助理

使用PostgreSQL进行财务管理的MCP服务器(模型上下文协议),在TypeScript中实现。

🚀 特点

  • 余额查询:获取所有帐户的余额
  • 交易记录:创建自动更新资产负债表的交易
  • 错误处理:强大的数据库错误管理
  • 严格类型脚本:在编译时进行强类型和验证
  • 原子交易:使用BEGIN/COMMIT/ROLLBACK进行数据完整性

📋 先决条件

  • Node.js v18高级版
  • 带有表的PostgreSQL: accounts, ledger, assets
  • SSH隧道活跃(如果DB在远程VPS上)

🔧 安装

  1. 安装依赖项:
npm install
  1. 配置环境变量:
cp .env.example .env

编辑 .env 使用您的PostgreSQL凭据:

DB_HOST=localhost
DB_PORT=5432
DB_NAME=financial_db
DB_USER=postgres
DB_PASSWORD=tu_contraseña
  1. 编译项目:
npm run build

🎯 使用

发展

npm run dev

生产

npm run build
npm start

🛠️ 可用的工具

1. consultar_saldos

查询所有账户的当前余额。

参数:无

示例响应:

[
  {
    "name": "Cuenta Corriente",
    "balance": 5000.50
  },
  {
    "name": "Ahorro",
    "balance": 15000.00
  }
]

2. registrar_transaccion

记录新交易并更新账户余额。

参数:

  • description (字符串):事务描述
  • amount (数字):金额(必须为正)
  • debit_account_id (号码):借记账户ID(钱从哪里来)
  • credit_account_id (号码):信用账户ID(钱到达的地方)

示例响应:

{
  "id": 123,
  "mensaje": "Transacción registrada exitosamente con ID 123"
}

🗄️ 数据库结构

Tabla accounts

CREATE TABLE accounts (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  balance DECIMAL(15, 2) DEFAULT 0
);

Tabla ledger

CREATE TABLE ledger (
  id SERIAL PRIMARY KEY,
  description TEXT NOT NULL,
  amount DECIMAL(15, 2) NOT NULL,
  debit_account_id INTEGER REFERENCES accounts(id),
  credit_account_id INTEGER REFERENCES accounts(id),
  created_at TIMESTAMP DEFAULT NOW()
);

🔒 安全

  • ✅ 所有工具中的参数验证
  • ✅ 使用参数化查询(防止SQL注入)
  • ✅ 出错时使用回滚的原子事务
  • ✅ 通过明确的信息全面处理错误
  • ✅ 敏感凭据的环境变量

📁 项目结构

MCP/
├── src/
│   └── index.ts          # Servidor MCP principal
├── build/                # Código TypeScript compilado
├── .env                  # Variables de entorno (no commitear)
├── .env.example          # Plantilla de variables de entorno
├── package.json          # Dependencias y scripts
├── tsconfig.json         # Configuración de TypeScript
└── README.md             # Este archivo

🐛 错误处理

如果出现错误,服务器将向LLM返回明确的响应:

{
  "error": true,
  "mensaje": "Descripción detallada del error"
}

处理的常见错误:

  • 数据库连接失败
  • 无效或丢失的参数
  • 不存在的账户
  • 违反参考完整性

📝 附加说明

  • 服务器使用 StdioServerTransport 与客户沟通
  • 系统日志被写入 stderr 为了不干扰MCP通信
  • 交易使用双重会计分录:一个账户的借方,另一个账户的贷方

目录标签

目录标签

财务管理PostgreSQL数据分析TypeScript本地部署数据库管理交易处理

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP