💳 Paytm UPI报表分析器
使用Claude AI的自然语言查询您的Paytm UPI交易-100%本地,隐私优先。
  
🎯 这是什么?
一个简单的MCP(模型上下文协议)服务器,允许您通过用简单的英语向Claude提问来分析您的Paytm UPI交易历史。您的所有财务数据都保留在您的机器上,无需上传云!
问以下问题:
- “这个月我花了多少钱?”
- “显示我的前10名商家”
- “搜索Swiggy交易”
- “我每月的支出明细是多少?”
______________________________________________________________________
🔄 运作原理
┌─────────────────────────────────────────────────────────────────────────────┐
│ WORKFLOW │
└─────────────────────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ PAYTM APP │ │ EXCEL │ │ JSON │
│ │ ───► │ Statement │ ───► │ File │
│ 📱 Export │ │ 📊 .xlsx │ │ 📄 .json │
└──────────────┘ └──────────────┘ └──────────────┘
│
┌────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────────────────┐
│ MCP SERVER (paytm.py) │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 📥 Import Tool │ │ 🔍 Query Tools │ │ 📊 SQLite DB │ │
│ │ │───►│ │◄──►│ │ │
│ │ JSON → Database │ │ Search, Summary │ │ paytm.db │ │
│ └─────────────────┘ │ Top Merchants │ └─────────────────┘ │
│ │ Monthly View │ │
│ └─────────────────┘ │
└──────────────────────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────────┐
│ CLAUDE DESKTOP │
│ │
│ You: "How much did I spend on Swiggy?" │
│ │
│ Claude: "You spent ₹8,500 on Swiggy across 42 transactions. │
│ Your average order was ₹202." │
│ │
└──────────────────────────────────────────────────────────────────────────┘______________________________________________________________________
🧩 MCP角色(主机、客户端、服务器、LLM)
在本地运行此项目时:
- MCP服务器:
paytm.py(FastMCP)在MCP上暴露工具。 - 客户:
clients.py连接到服务器并调用工具。 - LLM:Groq模型(例如。,
qwen/qwen3-32b)由客户使用。 - 主机:驱动对话的应用程序。如果你跑
clients.py,您的终端应用程序是主机。如果您使用Claude Desktop或Copilot Chat,它们将成为主机。
______________________________________________________________________
🔗 LangChain+LangGraph角色
在本项目中:
- LangChain:构建代理并将LLM连接到MCP工具。
- LangGraph:以图形形式运行代理(模型步骤→ 工具步骤→ 模型步骤),包括状态和流。
零件如何连接
- 您在主机中键入消息(终端运行
clients.py). - LangChain
create_agent接收消息并决定是否调用工具。 - LangGraph执行代理循环和工具调用。
- 工具由MCP服务器执行
paytm.py. - 最终响应将返回给主机并打印出来。
📁 项目结构
paytm-mcp-server/
├── paytm.py # 🔧 MCP Server - main file
├── clients.py # 🤖 LangGraph + Groq chat client
├── convert_to_json.py # 🔄 Excel to JSON converter
├── paytm.json # 📄 Your transaction data (generated)
├── paytm.db # 🗄️ SQLite database (generated)
├── pyproject.toml # 📦 Dependencies
└── README.md # 📖 This file______________________________________________________________________
🚀 快速开始
先决条件
- Python 3.12+
- 克劳德桌面 安装
______________________________________________________________________
步骤0:安装UV和FastMCP
# Install UV (Python package manager)
pip install uv
# Initialize project (if starting fresh)
uv init .
# Add FastMCP dependency
uv add fastmcp
# Verify installation
uv run fastmcp version or fastmcp version______________________________________________________________________
步骤1:导出您的Paytm对账单
- 打开 Paytm应用程序
- 首选 平衡与历史 → 单击右上角的三个点(⋮)
- 轻按 下载UPI声明
- 选择日期范围(建议最近6个月)
- 下载为 Excel(.xlsx)
- 保存到此文件夹
步骤2:将Excel转换为JSON
# Install the openpyxl library which is required to read Excel files.
uv add openpyxl
# Edit convert_to_json.py with your file name
uv run convert_to_json.py输出: paytm.json 与您的所有交易
步骤3:运行并安装MCP服务器
# Test the server locally (optional)
uv run fastmcp run paytm.py
# Optional: install in Claude Desktop
uv run fastmcp install claude-desktop paytm.py步骤3.1:运行聊天客户端(langchain&LangGraph+Groq)
# Ensure GROQ_API_KEY is set in your environment or .env
uv run clients.py步骤4:重新启动克劳德桌面
完全关闭并重新打开Claude Desktop。
第五步:开始查询!
在Claude Desktop中,键入:
Import my Paytm data or add as resource from claude desktop + button something name appears like add from PaytmTracker然后问任何问题:
Show my spending summary
Who are my top 5 merchants?
Search for Amazon
Show November spendingClaude桌面工作示例
Claude Desktop working example
______________________________________________________________________
🛠️ 可用工具
| 工具 | 说明 | 查询示例 |
|---|---|---|
import_paytm_data | 将JSON加载到数据库 | “导入我的Paytm数据” |
get_paytm_summary | 总支出/已收/净额 | “显示我的摘要” |
search_paytm | 按关键字搜索 | “搜索Swiggy” |
get_paytm_by_date | 日期交易 | “我在2025-11-15花了多少钱?” |
get_top_merchants | 按金额排名的顶级消费者 | “十大商家” |
get_monthly_summary | 按月细分 | “每月支出” |
______________________________________________________________________
🧪 MCP检查器(Web UI)
您可以通过MCP检查器检查工具。
选项A:SSE(推荐)
- 启动服务器:
uv run fastmcp run paytm.py- 启动检查器:
npx @modelcontextprotocol/inspector- 在检查器UI中:
- 运输类型:
SSE - 服务器URL:
http://127.0.0.1:8000/sse
选项B:STDIO(通过紫外线)
在以下情况下使用此功能 fastmcp 不在你的路径上。
- 运输类型:
STDIO - 命令:
uv - 论据:
run fastmcp run paytm.py --no-banner
📊 数据格式
您的Paytm Excel有以下列:
| 列 | 示例 | 数据库中 |
|---|---|---|
| 日期 | 2025年11月28日 | 2025-11-28 |
| 时间:18:34:46 | ||
| 交易详情 | 支付给Swiggy | 交易详情 |
| 金额 | -245.00 | -245.0(浮动) |
| 合众社参考号 | 53xxxxxx | UPI_Ref_No |
| 标签 | #🛒 杂货 | 标签 |
______________________________________________________________________
🔒 隐私
✅ 100%本地 -所有数据都保留在您的计算机上\ ✅ 无云 -任何地方都没有上传任何内容\ ✅ 没有API密钥 -使用免费的克劳德桌面\ ✅ 你控制 -随时删除
______________________________________________________________________
🗺️ 路线图
v1.0(当前)-版本
- \[x\] 导入Paytm Excel报表
- \[x\] 搜索交易记录
- \[x\] 汇总统计
- \[x\] 顶级商家
- \[x\] 月度明细
- \[x\] 本地聊天客户端(LangChain+LangGraph+Groq)
v1.1(计划中)-MCP应用程序功能
- \[\]MCP应用程序打包(服务器+客户端的单主机应用程序)
- \[\]服务器端提示工具行为一致
- \[\]MCP工具访问的身份验证
- \[\]每个用户的配置文件和权限
- \[\]内置工具使用日志/审计跟踪
v1.2(计划中)-高级代理功能
- \[\]动态工具过滤(按上下文限制工具)
- \[\]流媒体用户界面(实时工具调用状态的网络聊天)
- \[\]计划报告(每周/每月摘要)
- \[\]导出报告(CSV、PDF)
______________________________________________________________________
🔧 故障排除
“Claude中未显示MCP服务器”
# Fully close Claude Desktop
taskkill /IM "Claude.exe" /F
# Reinstall
fastmcp install claude-desktop paytm.py
# Reopen Claude“导入失败”
- 检查
paytm.json存在 - 验证JSON格式是否正确
- 检查列名是否匹配
“未找到交易记录”
- 首先运行“导入我的Paytm数据”
- 检查
paytm.db被创建
______________________________________________________________________
📄 许可证
MIT许可证-自由使用!
______________________________________________________________________
🙏 致谢
______________________________________________________________________
Farhan制造
