MySQL预算管理服务器

一个基于MySQL的预算管理服务器,提供部门预算信息查询、申请记录和错误处理功能。

  • by w2pwinlinux
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 w2pwinlinux/mcp-server-presupuesto-mysql1

使用说明

MySQL MCP服务器v2

该MCP服务器(消息控制协议)提供了一个接口,可以通过MySQL数据库管理和查询部门预算信息。

特征

  • 到 MySQL 数据库的安全连接
  • 部门预算管理
  • 按部门代码划分的查询
  • 按部门名称搜索
  • 预售登记处
  • 稳健的错误处理和连接

要求

  • Python 3.6以上
  • MySQL服务器(XAMPP或类似)
  • 需要的 Python 软件包:
    • 主控程序
    • mysql连接器python

安装

  1. 克隆存储库
  2. 安装依赖项:
pip install mcp mysql-connector-python

配置

服务器配置为使用以下默认参数连接到MySQL数据库:

db_config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'reporte',
    'password': 'reporte',
    'database': '_REPORTE',
    'raise_on_warnings': True
}

根据您的数据库设置调整这些参数。

功能

1.完整状态查询

get_estado_completo(codigo: int)

按其代码返回部门的完整信息,包括:

  • 代码
  • 姓名
  • 初步预算
  • 征求意见书
  • 可用余额
  • 付款期限[T]

2.律师注册处

registrar_solicitud(codigo: int, monto: float)

记录一个部门的新预算请求:

  • 更新请求的金额
  • 重新计算可用余额
  • 安全处理事务

3.按名称搜索

buscar_por_nombre(nombre: str)

按名称搜索部门:

  • 部分搜索(使用LIKE)
  • 返回多个结果
  • 包括发现的每个部门的完整信息

证据

该项目包括验证功能的测试脚本:

  • test_buscar_nombre.py:测试按名称搜索功能
  • 执行测试:
python test_buscar_nombre.py

错误处理

服务器实现了健壮的错误处理:

  • 数据库连接错误
  • 查询错误
  • 数据有效期
  • 事务错误时自动回滚

数据库结构

主表 departamentos 包含以下字段:

  • codigo (int):部门的唯一标识符
  • nombre (瓦尔查尔):部门名称
  • inicial (小数):初步预算
  • solicitado (小数):申请金额
  • saldo (小数):可用余额
  • pagado (十进制):蒙托帕加多

执行

要启动服务器:

python mysql_mcp_server_v2.py

安全注意事项

  • 数据库凭据在代码中硬编码。在生产环境中,建议使用环境变量或安全配置文件。
  • 使用上下文管理器模式实现安全连接处理。
  • 事务通过适当的提交/回滚处理。

孔特里布西翁

  1. 叉库
  2. 为您的功能创建分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推拉拉马(git push origin feature/AmazingFeature)
  5. 取消拉取请求

许可证

这个项目是在麻省理工学院的许可下进行的。查看文件 LICENSE 更多细节。