个人财务管理服务器

MCP服务器用于个人财务管理,支持PHP 8.1+、MySQL或SQLite数据库,提供多种财务工具。

  • by Lobaton2020
  • PHP
  • 本地部署
  • 更新于
在 GitHub 查看 Lobaton2020/manejo-finanzas-mcp

使用说明

MCP服务器-财务

用于个人财务管理的MCP服务器(模型上下文协议)。

技术

  • PHP 8.1+
  • 数据库:MySQL或SQLite
  • 协议:MCP(模型上下文协议)支持HTTP

书店

包 版本 描述
mcp/sdk ^0.4.0 MCP for PHP官方SDK
illuminate/database ^11.0 弹性ORM(Laravel)
nyholm/psr7 ^1.8 实施PSR-7
nyholm/psr7-server ^1.1 PSR-7服务器适配器

要求

  • PHP 8.1以上
  • 作曲家
  • MySQL 5.7+o SQLite 3
  • PHP扩展: pdo, json, mbstring

安装

# Instalar dependencias
composer install

配置

新建_文档 .env 使用数据库凭据:

DB_HOST=localhost
DB_NAME=finanzas
DB_USER=root
DB_PASSWORD=tu_password
DB_PORT=3306
DB_DRIVER=mysql
DB_CHARSET=utf8

对于 SQLite,请使用:

DB_DRIVER=sqlite
DB_DATABASE=finanzas.db

执行

服务器开发(PHP内置)

php -S 127.0.0.1:8080 -t public

Usando Composer脚本

composer run server

阿帕奇

  1. 创建虚拟主机:
<VirtualHost *:80>
    ServerName finanzas-mcp.local
    DocumentRoot /path/to/finanzas-mcp/public
    
    <Directory /path/to/finanzas-mcp/public>
        AllowOverride All
        Require all granted
        Options -Indexes +FollowSymLinks
        
        # Rewrites para eliminar index.php
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php [QSA,L]
    </Directory>

    # Configuración de logs
    ErrorLog ${APACHE_LOG_DIR}/finanzas-mcp-error.log
    CustomLog ${APACHE_LOG_DIR}/finanzas-mcp-access.log combined
</VirtualHost>
  1. 启用站点并重新启动Apache:
# En Debian/Ubuntu
sudo a2ensite finanzas-mcp.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

# En Windows (XAMPP)
# Copiar el archivo de configuración a C:\xampp\apache\conf\extra\
# Editar C:\xampp\apache\conf\httpd.conf para incluir el archivo
  1. 添加到主机文件:
# Windows
127.0.0.1 finanzas-mcp.local

# Linux/Mac
sudo bash -c 'echo "127.0.0.1 finanzas-mcp.local" >> /etc/hosts'

可用的MCP工具

get_outflow_types

获取活动的退出类型。

get_类别

获取按出口类型筛选的类别。

获取可用存款

他用他的可用资产负债表(收入-支出)获得所有存款。

流出资金

创建新的出口记录。

参数:

  • idOutflowType (必需):出口类型ID
  • idCategory (必需):类别ID
  • idPorcent (必需):存款ID
  • amount (必需):要提取的金额(>0)
  • setDate (可选):出发日期
  • isInBudget (可选):如果在预算中(默认值:true)
  • description (可选):附加说明
  • idUser (可选):用户ID(默认值:1)
  • dryRun (可选):在不持久的情况下验证(默认值:false)

有用的命令

# Instalar dependencias
composer install

# Actualizar dependencias
composer update

# Ver dependencias instaladas
composer show

# Ver autoload
composer dump-autoload

# Ver configuración
php -i | grep -i pdo

项目结构

finanzas-mcp/
├── public/
│   └── index.php          # Punto de entrada
├── src/
│   ├── Database/
│   │   └── Connection.php # Conexión a BD
│   └── MCP/
│       ├── Server.php     # Servidor MCP
│       └── Tools/
│           ├── BaseTool.php
│           └── EgressMoney/
│               ├── GetOutflowTypesTool.php
│               ├── GetCategoriesTool.php
│               ├── GetAvailableByDepositsTool.php
│               └── OutflowMoneyTool.php
├── logs/                  # Archivos de log
├── sessions/             # Sesiones MCP
├── composer.json
├── .env
└── finanzas.db           # SQLite (si se usa)

故障排除

MySQL连接错误

验证MySQL是否正在运行,以及 .env 是正确的。

会话错误

确保目录 sessions/ 有写作许可证。

日志删除错误

确保目录 logs/ 有写作许可证。