Token导航 LogoToken导航TokenDH.com
MCP Oauth Sample logo
数据服务stdio官方级别未说明来源级核验

MCP Oauth Sample

MCP Server

一个使用Google OAuth认证和Supabase数据库的安全费用分析应用,提供交互式聊天界面和交易分析工具。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
Python数据分析API集成

安装说明

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

作者 / 组织

crystas-sc

提供方

crystas-sc

最后核验

2026/5/17 20:20

快速接入

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

命令预览

pip install -r requirements.txt

详细介绍

带有费用分析的MCP OAuth示例

这个项目展示了一个使用Google OAuth认证、FastMCP进行工具管理以及Gradio作为用户界面的安全支出分析应用程序。它连接到Supabase数据库以存储和查询交易数据。

特点

  • 🔐 Google OAuth 认证
  • 💬 使用Gradio的交互式聊天界面
  • 由谷歌Gemini AI驱动的ReAct智能体
  • 📊 交易分析工具
  • 🔒 安全的数据库查询
  • 🗄️ 与Supabase的集成

先决条件

  • Python 3.8或更高版本
  • 一个已配置OAuth 2.0的Google Cloud项目
  • 一个已设置好交易表的Supabase项目

数据库模式

该应用程序期望一个 transactions 在Supabase中的表格,其模式如下:

CREATE TABLE transactions (
    email_id VARCHAR(255) NOT NULL,          -- identifies the person
    amount NUMERIC(12,2) NOT NULL,           -- transaction amount with 2 decimal places
    currency VARCHAR(10) NOT NULL DEFAULT 'USD', -- ISO 4217 currency code
    transaction_type VARCHAR(50) NOT NULL,   -- e.g., 'debit', 'credit', 'refund'
    category VARCHAR(50) NOT NULL,           -- e.g., 'food', 'clothes', 'shopping', 'other'
    description TEXT,                        -- optional description
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

设置

  1. 安装依赖项:
   pip install -r requirements.txt
  1. 在(系统/环境中)设置环境变量 .env:
   # Google OAuth Configuration
   CLIENT_ID=your_google_oauth_client_id
   CLIENT_SECRET=your_google_oauth_client_secret
   GOOGLE_API_KEY=your_gemini_api_key

   # Supabase Configuration
   SUPABASE_URL=your_supabase_project_url
   SUPABASE_KEY=your_supabase_anon_key
   SUPABASE_DATABASE_URL=your_supabase_direct_connection_string

运行应用程序

  1. 启动MCP服务器:
   fastmcp run server.py --transport http --port 8000
  1. 在另一个终端中,启动聊天界面:
   python react_agent.py

聊天界面将在 http://localhost:7860

可用工具

1. 用户信息

  • get_user_info()获取已认证用户的电子邮件和姓名

2. 交易分析

  • execute_transaction_query(query: str, email_id: str)在交易表上执行自定义的SELECT查询

- 支持聚合、过滤和复杂分析 - 需要 WHERE email_id = %s 安全条款 - 示例查询:

    SELECT amount, category FROM transactions WHERE email_id = %s AND created_at < '2026-01-01'
    SELECT SUM(amount) FROM transactions WHERE email_id = %s AND transaction_type = 'debit'

聊天界面使用指南

聊天界面提供了一种交互式的方式来分析支出。示例查询:

  • “创建费用分析”
  • “有哪些可用的工具?”
  • “你能帮我分析一些数据吗?”

ReAct代理将:

  1. 理解您的需求
  2. 使用适当的工具来收集数据
  3. 处理并分析信息
  4. 提供人性化的回应

安全特性

  • 使用Google进行OAuth 2.0认证
  • 使用参数化语句确保数据库查询安全
  • 基于电子邮件的数据隔离
  • 只读事务分析
  • 需要进行电子邮件验证

屏幕截图

Google Sign-In Logs Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

建筑

  • server.py带有工具定义和OAuth设置的MCP服务器
  • react_agent.py聊天界面和ReAct代理实现
  • 用于网页界面的Gradio
  • 用于自然语言理解的Gemini AI
  • Supabase 用于安全数据存储

贡献;做出贡献

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建你的特性分支
  3. 提交您的更改
  4. 推送至分支
  5. 创建一个新的拉取请求

目录标签

目录标签

Python数据分析API集成费用分析本地部署GoogleOAuthSupabase交互式聊天交易分析

接入字段

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

stdio

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

oauth

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP