Money Lover MCP服务器

一个基于Node.js的Money Lover MCP服务器,提供认证和钱包管理功能,使AI助手或兼容的MCP客户端能够登录、检查钱包、查询交易和创建新交易。

  • by ferdhika31
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 ferdhika31/moneylover-mcp

使用说明

金钱爱好者MCP服务器

Node.js实现了一个模型上下文协议(MCP)服务器,该服务器封装了非官方的Money Lover REST API。该服务器将身份验证和钱包管理功能作为MCP工具公开,使AI助手或兼容的MCP客户端能够登录、检查钱包、查询交易和创建新交易。

特性

  • 登录工具通过公共OAuth流返回Money Lover JWT令牌。
  • 用于检索用户信息、钱包、类别和交易的工具。
  • 用于添加新事务的工具,反映Go引用客户端的行为。
  • 基于Stdio的服务器入口点,可供MCP感知客户端使用。
  • 节点友好的REST包装器,用于直接编程使用。

先决条件

  • Node.js 22或更新版本。
  • Money Lover帐户凭证,用于真实的API访问。

安装

npm install

用法

通过stdio启动MCP服务器(适用于Claude Code、Cursor或其他MCP主机等工具):

npm start

MCP客户端配置

配置符合MCP的客户端(例如,Claude桌面或Cursor)以通过以下方式调用已发布的包 npx 并通过环境变量提供凭据:

{
  "mcpServers": {
    "mcp-moneylover": {
      "command": "npx",
      "args": ["@ferdhika31/moneylover-mcp@latest"],
      "env": {
        "EMAIL": "alamat-email-anda@example.com",
        "PASSWORD": "kata-sandi-anda"
      }
    }
  }
}

服务器使用提供的凭据自动登录,并在需要时刷新会话令牌。供应a token 工具的参数会覆盖基于环境的身份验证。

通过 login 工具或环境凭据缓存在以下每个电子邮件中 ~/.moneylover-mcp/.缓存的令牌在后续运行中重复使用,并在API报告它们已过期时自动刷新。

服务器注册了以下工具:

工具 描述 必需参数
login 使用电子邮件和密码检索JWT令牌。 email, password
get_user_info 返回与令牌关联的配置文件信息。 token
get_wallets 列出经过身份验证的用户可用的钱包。 token
get_categories 列出钱包的类别。 token, walletId
get_transactions 检索日期范围内的事务。 token, walletId, startDate, endDate
add_transaction 创建新交易。 token, walletId, categoryId, amount, date (年-月-日);可选的 note, with

令牌不会持久化;在调用除以下工具之外的其他工具时明确提供它们 login.

图书馆使用情况

底层REST包装器可供重用:

import { MoneyloverClient } from '@ferdhika31/moneylover-mcp';

const token = await MoneyloverClient.getToken(email, password);
const client = new MoneyloverClient(token);
const wallets = await client.getWallets();

测试

运行自动化测试套件:

npm test

测试依赖于模拟的获取响应,不会访问实时Money Lover服务。

安全说明

  • 永远不要提交真实的凭据或令牌。
  • 该项目有意避免持久化代币;MCP客户端应安全地存储机密。
  • 缓存令牌存储在本地,文件权限仅限于当前用户。删除 ~/.moneylover-mcp/ 如果您需要撤销存储的会话,请访问目录。