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

Polaris MCP

MCP Server

一个全栈身份验证系统,支持电话OTP、Google登录和电子邮件/密码登录,并集成了Gemini 2.5 Pro驱动的AI聊天助手功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
身份验证全栈开发JavaScriptAI聊天

安装说明

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

作者 / 组织

Vivekk0712

提供方

Vivekk0712

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

Firebase身份验证应用程序——电话、谷歌和电子邮件/密码与人工智能聊天

具有AI聊天功能的全栈身份验证系统。使用React(前端)、Node.js+Express(后端)、Python FastAPI(MCP服务器)、Firebase身份验证和Supabase数据库构建。支持电话OTP、谷歌登录和带有帐户链接的电子邮件/密码,以及ChatGPT风格的人工智能助手。

特性

  • 电话OTP(带Firebase reCAPTCHA)
  • 谷歌登录
  • 电子邮件/密码登录
  • 账户链接(电话+谷歌+电子邮件)
  • 安全会话Cookie(HttpOnly、Secure、SameSite=严格)
  • Firestore规则强制每个用户隔离
  • AI聊天助手 由Gemini 2.5 Pro提供动力
  • ChatGPT风格的对话管理 带侧边栏
  • 对话隔离 -每个聊天都保持单独的上下文
  • 用户感知AI -AI知道你的名字和个人资料信息
  • 已为Firebase模拟器套件做好准备

先决条件

  • Node.js>=18
  • Python 3.10+和pip
  • Firebase项目(免费层就足够了)
  • Supabase帐户(用于数据库)
  • Firebase命令行界面(npm install -g firebase-tools)
  • Gemini API密钥(用于AI功能)

入门指南

按照以下步骤在本地计算机上启动并运行项目。

1.克隆存储库

git clone https://github.com/your-username/my-auth-app.git
cd my-auth-app

2.安装依赖项

# Backend
cd backend && npm install

# Frontend
cd ../frontend && npm install

# MCP Server (Python)
cd ../mcp_server
python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
pip install -r requirements.txt

3.Firebase项目设置

a.创建Firebase项目

  1. 转到 Firebase控制台.
  2. 单击“添加项目”并按照步骤创建新项目。

b.启用身份验证提供程序

  1. 在您的新项目中,请转到 认证 部分(来自左侧菜单)。
  2. 单击“登录方法”选项卡。
  3. 启用以下提供程序:

- 电子邮件/密码 - 谷歌 - 电话

c.获取前端配置

  1. 去你的 项目设置 (单击“项目概述”旁边的齿轮图标)。
  2. 在“常规”选项卡中,向下滚动到“您的应用程序”。
  3. 点击 网络 图标(``)创建一个新的web应用程序。
  4. 给它一个昵称并注册该应用程序。
  5. Firebase将为您提供 firebaseConfig 对象。您将需要这些值 frontend/.env 文件。

d.获取后端配置(服务帐户)

  1. 在你的 项目设置,转到“服务帐户”选项卡。
  2. 点击“生成新私钥”。这将下载一个JSON文件。
  3. 将此文件重命名为 serviceAccount.json 并将其放置在 backend 目录。

e.获取手机验证的reCAPTCHA密钥

  1. 电话身份验证使用reCAPTCHA来防止滥用。
  2. 转到 谷歌云控制台 并设置新的reCAPTCHA v3密钥。
  3. 您将获得一个“站点密钥”。这是的值 VITE_RECAPTCHA_SITE_KEY 在你的 frontend/.env 文件。

f.设置消防站

  1. 在Firebase控制台中,转到 Firestore数据库 部分。
  2. 点击“创建数据库”并开始 测试模式.

4.数据库设置

a.创建一个Supabase项目

  1. 转到 Supabase仪表板 并创建一个新项目。
  2. 创建项目后,导航到 项目设置 > API 部分。
  3. 您需要此页面中的两条信息 .env 文件夹:

- 项目Url (看起来像 https://.supabase.co) - 服务角色密钥 (在“API项目密钥”下)。此密钥绕过行级安全,应保密。

b.创建数据库架构

  1. 在您的Supabase项目中,请访问 SQL 编辑器.
  2. 点击 新建查询.
  3. 复制的全部内容 mcp_server/db/schema.sql 文件并将其粘贴到SQL编辑器中。
  4. 点击 执行脚本。这将创建 users, conversations, messages,以及 embeddings 桌子。

5.Gemini API设置

  1. 转到 谷歌人工智能工作室 获取Gemini API密钥。
  2. 创建一个新的API密钥并复制它-MCP服务器配置需要这个密钥。

6.配置环境变量

创建一个 .env 文件在 frontend, backend,以及 mcp_server 目录。

frontend/.env

VITE_API_BASE_URL=http://localhost:4000
VITE_FIREBASE_API_KEY=your-api-key-from-step-3c
VITE_FIREBASE_AUTH_DOMAIN=your-project-id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_APP_ID=your-app-id
VITE_RECAPTCHA_SITE_KEY=your-recaptcha-site-key-from-step-3e

backend/.env

PORT=4000
FIREBASE_PROJECT_ID=your-project-id
GOOGLE_APPLICATION_CREDENTIALS=./serviceAccount.json
SESSION_COOKIE_NAME=__session
SESSION_EXPIRES_IN=432000000   # 5 days in ms
MCP_SERVER_URL=http://localhost:8000
NODE_ENV=development

mcp_server/.env

SUPABASE_URL=your-supabase-project-url
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-role-key
GEMINI_API_KEY=your-gemini-api-key
NODE_ENV=development

7.部署Firestore规则

要部署Firestore的安全规则,请从项目的根目录运行以下命令:

firebase deploy --only firestore:rules

运行应用程序

您需要在单独的终端中同时运行所有三个服务。

启动后端

cd backend
npm run dev

后端服务器将于启动 http://localhost:4000.

启动MCP服务器

cd mcp_server
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
uvicorn main:app --reload

MCP服务器将启动 http://localhost:8000.

启动前端

cd frontend
npm run dev

前端开发服务器将启动,通常在 http://localhost:5173.

使用Firebase模拟器运行

要在不连接到实时Firebase项目的情况下进行本地开发,可以使用Firebase Emulator Suite。

firebase emulators:start --only auth,firestore

存储库结构

/my-auth-app
  /backend
    /src
      /routes
      /middleware
      /services
  /frontend
    /src
      /components
      /pages
      /services
  /mcp_server
    /tools
    /db
  /docs
  README.md
  firebase.json
  firebase.rules

测试

  • 单元测试: Jest+Supertest(后端),React测试库(前端)
  • E2E: 剧作家或Cypress与Firebase模拟器

安全

  • 会话Cookie是HttpOnly、安全、SameSite=Strict
  • 手机OTP需要reCAPTCHA
  • 电子邮件/密码的强密码策略
  • Firestore规则防止跨用户访问

AI聊天功能

  • Gemini 2.5 Pro集成:由谷歌最新的人工智能模型提供支持
  • 会话管理:带有对话历史记录的ChatGPT风格侧边栏
  • 上下文隔离:每个对话都保持单独的上下文
  • 用户意识:AI知道您的姓名和个人资料信息
  • 消息历史记录:Supabase中存储的持久聊天记录
  • 实时聊天:带有加载指示器的即时响应
  • 全屏模式:沉浸式聊天体验
  • 对话CRUD:创建、切换和删除对话

路线图

  • 密码重置和电子邮件验证
  • 角色(管理员/用户)
  • 多因素身份验证(MFA)
  • 人工智能对话搜索和过滤
  • 消息导出功能
  • 部署(Netlify+渲染/云运行)

许可证

麻省理工学院

目录标签

目录标签

身份验证全栈开发JavaScriptAI聊天本地部署FirebaseSupabase

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP