Token导航 LogoToken导航TokenDH.com
Test Remote MCP Server logo
运维云端stdio官方级别未说明来源级核验

Test Remote MCP Server

MCP Server

一个生产就绪的个人财务系统,提供AI原生工具和全栈仪表板,用于跟踪和管理个人支出、预算和周期性费用。

工具数

24

提示词数

0

GitHub Stars

1

资源数

0
财务管理PythonClaudeClaude DesktopClaudeCursor

安装说明

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

作者 / 组织

Sanjoy-Chattopadhay

提供方

Sanjoy-Chattopadhay

最后核验

2026/5/17 20:20

运行时

Python

快速接入

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

命令预览

uv run python main.py

详细介绍

💸 ExpenseTracker——MCP服务器+全栈Web应用程序

一个适用于生产的个人理财系统 两种方式同时:

模式它是什么URL
MCP服务器适用于Claude、ChatMCP和任何MCP客户端的AI原生工具https://academic-gold-weasel.fastmcp.app/mcp
网络应用带有身份验证、表单和报告的全栈仪表板https://academic-gold-weasel.fastmcp.app

这两种模式共享相同的SQLite数据库、类别分类、预算规则和经常性费用引擎,因此您通过web UI输入的任何内容都可以立即被AI工具看到,反之亦然。

______________________________________________________________________

目录

  1. 实时链接
  2. 功能概述
  3. MCP服务器——完整参考

- 如何连接 - 所有工具 - 所有资源 - 示例提示

  1. Web应用程序——完整参考

- 认证 - 仪表盘 - 费用管理 - 预算 - 经常性支出 - 配置文件和设置

  1. 数据模型
  2. 分类
  3. 本地开发
  4. 环境变量
  5. 部署
  6. 建筑
  7. 技术栈

______________________________________________________________________

实时链接

资源URL
🌐 Web应用程序https://academic-gold-weasel.fastmcp.app
🤖 MCP端点https://academic-gold-weasel.fastmcp.app/mcp
❤️ 健康检查https://academic-gold-weasel.fastmcp.app/api/health
📂 类别APIhttps://academic-gold-weasel.fastmcp.app/api/categories

______________________________________________________________________

功能概述

MCP侧(AI/Claude)

  • ✅ 21种工具,涵盖整个费用生命周期
  • ✅ 6个实时资源(类别、今天的支出、本月、预算、经常性、历史统计数据)
  • ✅ 无状态HTTP传输——适用于任何兼容MCP的客户端
  • ✅ 异步SQLite后端(aiosqlite)使用WAL模式

Web应用端

  • ✅ Google OAuth登录
  • ✅ 电话OTP登录(Twilio验证)
  • ✅ 每用户数据隔离
  • ✅ 月度仪表板,包括总计、类别细分、趋势
  • ✅ 费用、预算和经常性项目的完整CRUD
  • ✅ 带有系统偏好检测的暗/亮主题
  • ✅ “复制MCP URL”按钮——直接从UI获取服务器端点
  • ✅ 响应式设计(移动+桌面)

______________________________________________________________________

MCP服务器——完整参考

如何连接

MCP端点:

https://academic-gold-weasel.fastmcp.app/mcp

运输: 无状态HTTP(POST /mcp)

克劳德桌面(claude_desktop_config.json)

{
  "mcpServers": {
    "ExpenseTracker": {
      "url": "https://academic-gold-weasel.fastmcp.app/mcp"
    }
  }
}

ChatMCP/检查员

将端点URL直接粘贴到服务器字段中:

https://academic-gold-weasel.fastmcp.app/mcp

光标/风帆/VS代码(MCP扩展名)

{
  "mcp": {
    "servers": {
      "ExpenseTracker": {
        "url": "https://academic-gold-weasel.fastmcp.app/mcp",
        "transport": "http"
      }
    }
  }
}

______________________________________________________________________

所有工具

🧾 原油费用

工具参数说明
add_expensedate, amount, category, subcategory?, note?, tags?, payment_mode?, currency?添加单个费用条目
update_expenseexpense_id,要更改的任何字段编辑现有费用的一个或多个字段
delete_expenseexpense_id永久删除费用
bulk_add_expensesexpenses (对象列表)在一次通话中插入许多费用
get_expenseexpense_id按ID获取单个支出

add_expense --完整参数参考:

参数类型必填备注
datestring格式: YYYY-MM-DD
amount浮动正数
categorystring必须与类别名称匹配(请参见 分类)
subcategorystring--可选子类别
notestring--自由文本描述
tagsstring--逗号分隔,例如。 "work,reimbursable"
payment_modestring--cash / upi / card / netbanking / emi / other
currencystring--3个字母的代码,默认值 INR

______________________________________________________________________

🔍 查询和列表

工具参数说明
list_expensesstart_date, end_date, category?, payment_mode?, min_amount?, max_amount?, tags?, limit?使用丰富的过滤器列出费用
search_expenseskeyword, start_date?, end_date?, limit?在笔记、子类别、标签、类别中进行全文搜索
top_expensesstart_date, end_date, n?, category?返回一个范围内N个最大的支出

______________________________________________________________________

📊 报告和分析

工具参数返回
summarizestart_date, end_date, category?, group_by_subcategory?包含交易计数的类别(或子类别)总计
monthly_reportyear, month总计、类别细分、每日总计、前5项支出、预算状态
yearly_reportyear年度总计、逐月细分、类别细分
compare_monthsmonth1, month2 (YYYY-MM)并列总计和每个类别的变化,差异百分比
spending_trendsmonths? (默认值6), category?过去N个月的环比趋势
daily_breakdownstart_date, end_date, category?每日支出总额
expense_statsstart_date, end_date总计、计数、平均值、中位数、最小值、最大值、标准偏差、平均值/天
payment_mode_summarystart_date, end_date按付款方式分组的支出
export_csvstart_date, end_date, category?返回准备保存或显示的CSV字符串

______________________________________________________________________

💰 预算管理

工具参数说明
set_budgetmonth (YYYY-MM), category, amount设置或更新某个类别的每月支出上限
get_budgetsmonth一个月的所有预算,包括实际预算和已使用百分比
delete_budgetmonth, category删除预算条目

______________________________________________________________________

🔁 经常性支出

工具参数说明
add_recurringdescription, amount, category, subcategory?, payment_mode?, frequency, next_due?注册定期模板(租金、EMI、订阅)
list_recurringactive_only?列出所有活动的重复模板
log_recurringrecurring_id, date_override?从模板中发布实际费用并预付 next_due
delete_recurringrecurring_id软删除(停用)定期模板

frequency 值: monthly · weekly · yearly

______________________________________________________________________

所有资源

资源是以JSON形式公开的只读快照。任何MCP客户端都可以直接读取它们。

URI描述
expense:///categories完整类别+子类别分类 categories.json
expense:///summary/today今天的总数和每个类别的细分
expense:///summary/this_month当月总计、每个类别的预算进度、已用天数
expense:///recurring/due_soon所有重复项目 next_due 在接下来的7天内
expense:///budgets/status本月预算与每个配置类别的实际预算
expense:///stats/all_time所有时间交易计数、总计、平均值、前5类

______________________________________________________________________

示例提示

将这些直接粘贴到Claude或任何与MCP连接的AI中:

Add an expense: ₹450 for lunch today, category food, subcategory dining_out, paid by UPI.
Show all my expenses from April 1 to April 5, 2026.
Give me a full monthly report for March 2026.
Compare my spending in February and March 2026.
Set a budget of ₹8000 for food in April 2026.
Show my budget status for this month.
What are my top 10 largest expenses this year?
Add a recurring expense: Netflix ₹649/month, category subscriptions/streaming, next due 2026-05-01.
Log this month's Netflix payment.
Show spending trends for the last 6 months.
Export my April 2026 expenses as CSV.
Search for all expenses with the note "office".
Show stats for Q1 2026 (Jan 1 to Mar 31).

______________________________________________________________________

Web应用程序——完整参考

实时网址: https://academic-gold-weasel.fastmcp.app

认证

web应用程序支持两种登录方法:

谷歌登录

  • 使用您的Google帐户单击OAuth
  • 无需密码
  • 自动提取个人资料图片、姓名和电子邮件

电话OTP

  • 输入您的电话号码和国家代码(例如。 +91XXXXXXXXXX)
  • 通过短信接收一次性代码(由Twilio Verify提供支持)
  • 输入登录代码

会话将持续 30天。浏览器重新启动后,您仍保持登录状态。

______________________________________________________________________

仪表盘

登录后,仪表板是主屏幕。它显示:

第节显示内容
月度总计本日历月迄今为止的总支出
类别细分带有预算进度条的每个类别总计(如果已设置预算)
近期开支最近几笔交易概览
定期到期7天内即将进行的定期付款
MCP连接面板带有一键复制按钮的实时MCP端点URL

______________________________________________________________________

费用管理(网络)

可在 开支 选项卡:

  • 增加支出 --日期、金额、类别(下拉菜单)、子类别、备注、标签、支付方式、货币
  • 查看费用 --可按日期范围筛选的分页列表
  • 编辑费用 --单击任何条目以更新任何字段
  • 删除费用 --确认后删除
  • 所有更改都会立即同步到共享数据库(在AI工具中也可见)

______________________________________________________________________

预算(网络)

可在 预算 选项卡:

  • 设定预算 --选择一个月,选择一个类别,设置一个金额
  • 预算跟踪器 --显示支出与限额的可视化进度条
  • 超预算警报 --当类别超过其上限时,突出显示行
  • 删除预算 --删除任何预算条目

______________________________________________________________________

经常性费用(网络)

可在 循环的 选项卡:

  • 添加定期 --描述、金额、类别、频率(每月/每周/每年)、下一个到期日
  • 查看活动重复 --按下一个截止日期排序
  • 记录付款 --将一次事件标记为已支付,并自动提前下一个到期日
  • 停用 --软删除而不丢失历史记录

______________________________________________________________________

配置文件和设置

可在 简介 选项卡:

字段描述
全名仪表板上显示的显示名称
城市可选位置
月收入用于计算储蓄百分比
储蓄目标每月目标储蓄金额
默认货币UI上显示的货币

______________________________________________________________________

数据模型

费用字段

字段类型注释
idinteger自动递增的主键
date文本YYYY-MM-DD
amount实数正数
categorytext主要类别
subcategorytext可选子类别
notetext自由形式描述
tagstext逗号分隔的标签
payment_mode文本cash, upi, card, netbanking, emi, other
currencytext默认值 INR
created_attext插入时设置的UTC时间戳

其他桌子

目的
budgets每个类别的月度上限(month, category, amount)
recurring具有频率和重复性的模板 next_due
app_usersWeb应用程序用户配置文件(Google+手机身份验证)
app_sessions过期会话令牌
app_otp_codes带TTL的一次性密码
app_expenses每用户费用记录(网络应用程序)
app_budgets每用户预算(网络应用程序)
app_recurring每个用户的重复模板(web应用程序)

______________________________________________________________________

分类

20个顶级类别,每个类别都定义了子类别 categories.json:

类别子类别示例
food杂货、水果蔬菜、外出就餐、咖啡茶、外卖
transport燃料、公共交通、出租车、停车场、车辆服务
housing租金、维修费、物业税、维修服务、家具
utilities电、水、互联网、宽带、手机、电视
health药物、医生咨询、诊断实验室、健康知识
education书籍、课程、在线订阅、考试费、研讨会
family_kids学费、日托、玩具、游戏、衣服、活动、生日
entertainment电影_活动,流媒体_订阅,游戏_应用程序,郊游
shopping服装、鞋类、电子产品、小工具、电器、家居装饰
subscriptionssaas_tools、cloud_ai、音乐视频、存储备份
personal_care盐_水疗、美容、化妆品、卫生
gifts_donations礼物_个人,慈善_捐赠,节日
finance_fees银行收费、滞纳金、利息、经纪费
business软件工具、托管域名、营销广告、承包商付款
travel航班、酒店、火车巴士、签证护照、当地交通
home家居用品、清洁用品、厨具、香蒜酱控制
pet食物、兽医、美容、用品
taxes所得税、消费税、专业税、薪酬
investments共同基金、股票、fd_rd、黄金、加密货币
misc未分类、四舍五入、其他

______________________________________________________________________

本地开发

先决条件

  • Python 3.13+
  • uv 包管理器

设置

# Clone the repo
git clone https://github.com/Sanjoy-Chattopadhay/Expense-Tracker-Expense-Manager.git
cd Expense-Tracker-Expense-Manager

# Install dependencies
uv sync

# Copy env template and fill in values
cp .env.example .env

# Start the server (web app + MCP endpoint)
uv run python main.py
端点URL
Web应用程序http://localhost:8000
MCP端点http://localhost:8000/mcp
健康检查http://localhost:8000/api/health

直接与Uvicorn一起跑步

uv run uvicorn app:app --host 0.0.0.0 --port 8000 --reload

将本地MCP连接到Claude Desktop

{
  "mcpServers": {
    "ExpenseTracker-local": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

______________________________________________________________________

环境变量

复制 .env.example.env 并配置:

cp .env.example .env
变量必填默认描述
PORT8000服务器端口
DB_PATH--自动检测显式SQLite文件路径。自动解析为 ./data/expenses.db 然后 /tmp/expenses.db
SECURE_COOKIEStrue设置 false 仅用于本地HTTP开发
SESSION_TTL_DAYS30网络会话持续多长时间
OTP_TTL_MINUTES10手机OTP码的有效期有多长
GOOGLE_CLIENT_ID✅ 用于Google身份验证--来自Google Cloud控制台的OAuth Web客户端ID
MCP_URL✅ 用于UI复制按钮--您的公共MCP端点URL
TWILIO_ACCOUNT_SID----Twilio帐户SID(如果未设置,OTP将回退到演示模式)
TWILIO_AUTH_TOKEN----Twilio授权令牌
TWILIO_VERIFY_SERVICE_SID----Twilio验证服务SID
注: 没有Twilio凭据,应用程序仍然可以工作——OTP代码被记录到服务器控制台,而不是通过短信发送,这对开发很有用。

______________________________________________________________________

部署

FastMCP地平线(当前)

此服务器部署在 FastMCP地平线.推到 main 以触发重新部署。

MCP端点: https://academic-gold-weasel.fastmcp.app/mcp

渲染(替代)

A. render.yaml 包含用于一键渲染部署的持久磁盘,安装在 /app/data:

  1. 在Render仪表板中连接您的GitHub仓库
  2. 渲染将检测 render.yaml 自动地
  3. 在Render仪表板中设置secret env变量:

- GOOGLE_CLIENT_ID - MCP_URL - TWILIO_ACCOUNT_SID - TWILIO_AUTH_TOKEN - TWILIO_VERIFY_SERVICE_SID

  1. 部署

码头工人

# Build
docker build -t expense-tracker .

# Run
docker run -p 8000:8000 \
  -e GOOGLE_CLIENT_ID=your_id \
  -e MCP_URL=http://localhost:8000/mcp \
  -v $(pwd)/data:/app/data \
  expense-tracker

数据库持久性说明

该应用程序使用SQLite。对于托管部署:

  • 持久磁盘/卷装载/app/data → 数据在重启和重新部署后仍能存活✅
  • 临时文件系统 (例如Vercel、AWS Lambda)→ 重新部署时擦除数据❌

Render、Railway、Fly.io和自托管Docker都支持卷挂载。

______________________________________________________________________

建筑

┌─────────────────────────────────────────────────────────┐
│                        main.py                          │
│                                                         │
│  FastMCP("ExpenseTracker")                              │
│  ├── 21 MCP Tools  (async, aiosqlite)                   │
│  ├── 6  MCP Resources (sync, sqlite3)                   │
│  └── register_web_routes(mcp, DB_PATH, ...)             │
│       └── webapp.py                                     │
│            ├── /api/auth/*    (Google + OTP)            │
│            ├── /api/expenses  (CRUD)                    │
│            ├── /api/budgets   (CRUD)                    │
│            ├── /api/recurring (CRUD + log)              │
│            ├── /api/dashboard                           │
│            ├── /api/public-config  → MCP_URL            │
│            └── /  → serves web/index.html              │
│                                                         │
│  SQLite DB (data/expenses.db)                           │
│  ├── expenses        budgets         recurring          │
│  ├── app_users       app_sessions    app_otp_codes      │
│  ├── app_expenses    app_budgets     app_recurring       │
│                                                         │
└─────────────────────────────────────────────────────────┘
         ▲                              ▲
   MCP Clients                    Web Browser
   (Claude, ChatMCP,           (web/index.html +
    Cursor, Inspector)          app.js + styles.css)

关键设计决策:

  • 单个FastMCP实例通过以下方式为MCP协议和自定义HTTP路由提供服务 @mcp.custom_route
  • MCP工具使用 aiosqlite (异步);MCP资源使用 sqlite3 (同步——FastMCP的资源模型要求)
  • web应用程序有自己的用户/会话表(app_*)用于多用户隔离;MCP工具在共享平台上运行 expenses 桌子
  • DB路径在启动时通过写探测回退链解析,因此服务器可以在任何平台上启动

______________________________________________________________________

技术栈

技术
MCP框架FastMCP 3.2+
Web框架Starlette(通过FastMCP自定义路由)
ASGI服务器Uvicorn
数据库SQLite通过 aiosqlite (异步)+ sqlite3 (同步)
身份验证谷歌OAuth 2.0(google-auth)+Twilio验证OTP
前端普通HTML+CSS+JS(零框架依赖)
包管理器uv
运行时Python 3.13+
部署FastMCP Horizon/Docker/Render

______________________________________________________________________

项目结构

.
├── main.py              # MCP server — all tools, resources, and app entry point
├── webapp.py            # Web app routes — auth, CRUD API, static file serving
├── app.py               # Minimal ASGI entry point for uvicorn
├── categories.json      # Expense category + subcategory taxonomy
├── web/
│   ├── index.html       # Single-page web application
│   ├── app.js           # Frontend logic (state, API calls, UI handlers)
│   └── styles.css       # Theme system, layout, responsive design
├── data/
│   └── expenses.db      # SQLite database (git-ignored)
├── Dockerfile           # Container image definition
├── render.yaml          # Render.com deployment config with persistent disk
├── pyproject.toml       # Python project metadata and dependencies
├── uv.lock              # Locked dependency tree
└── .env.example         # Template for all required environment variables

______________________________________________________________________

许可证

麻省理工学院——自由使用,感谢归因。

目录标签

目录标签

财务管理PythonClaude本地部署预算跟踪AI工具支出分析周期性费用

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

24

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP