关于 Frontegg MCP Server
Frontegg MCP Server 帮助团队审查 Frontegg 移动 SDK 集成,并通过 MCP 客户端管理租户设置。它可识别五类 SDK、依据官方示例生成差异补丁,并在配置凭据后提供 Management API 操作。
主要功能
- 01识别 Android、iOS、Flutter、React Native 和 Ionic
- 02审查 SDK 配置与安全问题
- 03生成并应用带备份的差异补丁
- 04提供 CIAM 设置指南
- 05管理租户设置与用户
适用场景
- 01诊断移动端登录重定向问题
- 02将 SDK 版本与最新发布版比较
- 03检查应用中的凭据和 URL 风险
- 04查看或更新租户 MFA 设置
MCP 相关
它通过 MCP 提供 96 个工具,用于移动 SDK 诊断与修复,以及 Frontegg 租户和平台管理。Management API 工具需要配置 Frontegg 凭据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Frontegg MCP Server
96 个工具 — 移动 SDK 审计/修复(47 个)+ Frontegg Management API(49 个)
诊断。应用实际差异。从聊天中配置你的租户。
适用于 Claude Desktop · Cursor · Claude Code · 任何兼容 MCP 的客户端
配套仓库:
- 🧠
frontegg/coding-agent-skills— 27 个由触发条件激活的技能,可端到端编排这些工具- 🚀
frontegg/coding-agent-toolkit— 一键安装程序,可将两者接入你的 AI 客户端
目录
亮点
实时权威知识运行时从 GitHub 读取 Frontegg SDK 源码。缓存每 6 小时刷新一次,始终保持最新。 |
自动检测 5 种 SDK可检测 Android、iOS、Flutter、React Native 或 Ionic,并自动运行相应的检测器。 |
可直接应用的差异基于官方 |
CIAM 功能指南提供社交登录、通行密钥、加强身份验证、SSO、多租户、会话等功能的设置步骤和注意事项。 |
在聊天中配置租户可直接通过 Management API 读取和更新 MFA、会话、SSO、身份、密码策略、品牌、审计日志、用户和角色。 |
注重安全在发布前标记 |
支持的 SDK
| 平台 | 权威仓库 | 覆盖情况 |
|---|---|---|
frontegg/frontegg-android-kotlin | 完整 | |
frontegg/frontegg-ios-swift | 完整 | |
frontegg/frontegg-flutter | 完整 | |
frontegg/frontegg-react-native | 完整 | |
frontegg/frontegg-ionic-capacitor | 完整 |
安装
此服务可独立安装,无需其他 Frontegg 工具。该软件包发布在 npm 上,名称为 @frontegg/frontegg-mcp-server。直接将其接入任意兼容 MCP 的客户端;首次运行时,npx 会获取最新版本。
⚠️ 版本说明。 此分支 / PR 的版本是
2.0.0(96 个工具——移动端 + 平台)。npm 当前提供的是合并前的1.0.1(仅包含 49 个平台工具)。在 PR #24 合并且2.0.0发布到 npm 之前,运行npx --yes @frontegg/frontegg-mcp-server会获取1.0.1。如需立即使用完整的 96 个工具,请使用下方的开发克隆并构建流程。
需要租户配置工具(MFA、SSO、用户、品牌设置、审计日志等)? 在客户端的 MCP 配置中设置
FRONTEGG_CLIENT_ID+FRONTEGG_API_KEY环境变量。诊断 / 修复工具无需这些变量即可使用。在哪里查找 Frontegg 凭据,请参阅配置。
Cursor
编辑 ~/.cursor/mcp.json:
{
"mcpServers": {
"frontegg": {
"command": "npx",
"args": ["--yes", "@frontegg/frontegg-mcp-server"],
"env": {
"FRONTEGG_CLIENT_ID": "your-client-id",
"FRONTEGG_API_KEY": "your-api-secret"
}
}
}
}
重新加载 Cursor。工具会显示在 Agent 模式的聊天侧边栏中。
如果只需要诊断 / 修复工具(不需要租户 API),请移除
env块。
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows)。使用与 Cursor 相同的 JSON 块。退出并重新启动。
Claude Code CLI
claude mcp add frontegg \
-e FRONTEGG_CLIENT_ID=your-client-id \
-e FRONTEGG_API_KEY=your-api-secret \
-- npx --yes @frontegg/frontegg-mcp-server
如果只需要诊断 / 修复工具,请省略 -e 标志。
其他 MCP 客户端
通过 stdio 使用 MCP。使用 npx --yes @frontegg/frontegg-mcp-server 启动。如果需要租户 API 工具,请在进程环境中设置 FRONTEGG_CLIENT_ID 和 FRONTEGG_API_KEY。
需要组合工具栈(MCP + 技能 + 自动接入 + 凭据验证)?
coding-agent-toolkit 就能实现这些功能:
npx @frontegg/coding-agent-toolkit init
它会自动检测客户端,在保存凭据前通过 Management API 验证 Frontegg 凭据,接入 MCP 配置,并安装匹配的技能。如果想一次性使用 MCP 和技能,请使用它。仅需 MCP 的用户无需使用它——上面的各客户端配置片段已足够。
开发
要从源代码构建(用于贡献或运行分支版本):
git clone https://github.com/frontegg/frontegg-mcp-server.git
cd frontegg-mcp-server
npm install
npm run build # tsc → dist/
npm test # 215 jest + 89 vitest
将客户端指向 node /absolute/path/to/frontegg-mcp-server/dist/index.js,即可测试本地更改。
使用
nvm? GUI 应用不会继承 shell 的 PATH。请使用which node返回的绝对路径。
快速开始
打开你的移动项目。向助手提问:
Use frontegg_auto on this project and tell me what's wrong with my Frontegg setup.
MCP 将会:
- 检测你的 SDK(Android / iOS / Flutter / RN / Ionic)
- 获取 GitHub 上的规范 Frontegg 仓库
- 诊断项目——按深层链接、初始化、身份验证、构建、安全性归类检查结果
- 生成基于官方
example/应用的统一差异 - 按需应用,使用
frontegg_apply_diff
反复迭代,直到没有问题。
可以向它询问什么
无需工具名称。使用自然语言即可:
查找缺失的 intent-filter、URL scheme 或 Associated Domain。返回补丁。 |
将 |
返回 CIAM 指南中的设置步骤和注意事项。 |
通过 Management API 读取你租户的 MFA 配置。 |
更新 MFA 策略。无需点击门户。 |
标记硬编码凭据、HTTP URL、 |
示例
① React Native 深度链接无法正常工作
在
/Users/me/code/my-rn-app上使用frontegg_auto。登录会重定向到 Safari,之后无法返回。
检测到 RN,获取 frontegg-react-native,识别缺失的 intent-filter 和 CFBundleURLTypes,并返回示例应用中的精确差异。
npm run demo:rn
② Flutter SDK 版本过旧
在我的 Flutter 应用上运行 Frontegg MCP。仅限 flutter SDK。
读取 pubspec.yaml,并与当前的 frontegg-flutter 版本进行比较。返回一行版本升级差异。
npm run demo:flutter
③ Ionic 应用登录后打开 Safari
我的 Ionic 应用登录后会打开 Safari。请修复它 —
~/code/ionic-store。
一次检查即可识别:capacitor.config.ts 中缺少 FronteggNative 插件配置块、Android 外壳中缺少 intent-filter,以及 iOS 中缺少 CFBundleURLTypes。差异内容取自 frontegg-ionic-capacitor/example。
npm run demo:ionic
④ 安全检查
在此项目上使用
frontegg_auto。仅检查安全问题。
标记 HTTP 基础 URL、.gitignore 之外的 .env、硬编码的 clientId 和 iOS ATS 例外。每项发现都附带完成门槛——只有验证完所有项目后,才会标记工作已完成。
npm run demo:security
⑤ 在聊天中配置 MFA
显示当前的 MFA 策略。然后为除 SSO 用户外的所有人强制启用 MFA。
> frontegg_configure_mfa action=get
enforceMFAType: DontForce
allowRememberMyDevice: true
mfaDeviceExpiration: 1209600
> frontegg_configure_mfa action=update enforceMFAType=ForceExceptSAML
enforceMFAType: ForceExceptSAML ✓
工具
两个界面共提供 96 个工具。
双表面模型
此服务会将两个不同的工具表面注册到同一个 MCP 中:
- 移动端 / 审计表面(47 个工具,名称采用 snake_case,并带有
frontegg_前缀)——诊断 / 修复 SDK 集成问题、配置租户、审计用户活动。最初名为frontegg-mobile-mcp-server。 - 平台表面(49 个工具,名称采用 kebab-case)——对 Frontegg 角色、权限、应用、用户、租户、供应商集成和 API 令牌执行完整的 CRUD 操作。导入自
frontegg/frontegg-mcp-server。
两个表面共用 FRONTEGG_CLIENT_ID 和 FRONTEGG_API_KEY(别名为 FRONTEGG_SECRET_KEY)凭据。为避免破坏任一上游项目现有的集成,v1 使用了不同的命名约定;未来的 v2 可能会统一命名。
移动端 / 审计表面(47 个工具)
诊断与修复(10 个)
| 工具 | 功能 |
|---|---|
frontegg_auto | 从这里开始。 一次完成完整诊断并给出差异。 |
frontegg_apply_diff | 将差异应用到磁盘。创建 .bak 备份。支持 dry_run。 |
analyze_repo | 运行检测器。返回原始发现结果。 |
generate_diffs | 根据特定发现 ID 生成差异。 |
list_rules | 浏览规则目录。自动筛选与你的 SDK 匹配的规则。 |
explain_finding | 解释某条规则并提供故障排除步骤。 |
read_resource | 读取项目文件或目录列表。 |
detect_android_issues | 仅运行 Android 检测器。 |
detect_ios_issues | 仅运行 iOS 检测器。 |
detect_common_issues | 执行跨平台检查(环境变量、凭据、基础 URL)。 |
CIAM 功能指南(1 个)
| 工具 | 功能 |
|---|---|
frontegg_feature_guide | 以下功能的设置步骤与注意事项:社交登录、通行密钥、step-up、会话、令牌、安全规则、托管式与嵌入式、多租户、权益、短信登录、SSO、密码策略。 |
身份验证(1 个,可选)
| 工具 | 功能 |
|---|---|
frontegg_login | 使用 OAuth 2.0 PKCE 登录你的 Frontegg 租户。此工具可选——下方的 API 工具会直接使用 FRONTEGG_CLIENT_ID 和 FRONTEGG_SECRET 环境变量。 |
租户配置(10 个)
调用 Frontegg Management API。需要 FRONTEGG_CLIENT_ID 和 FRONTEGG_SECRET(参见配置)。
| 工具 | 功能 |
|---|---|
frontegg_configure_mfa | MFA 策略(强制执行、记住设备、过期时间)。 |
frontegg_configure_sessions | 会话配置。(对部分租户,供应商令牌 PATCH 可能会静默失效。) |
frontegg_configure_sso | 列出或创建社交登录提供商(google、github、microsoft、facebook、linkedin、gitlab、slack、twitter、apple)。 |
frontegg_configure_identity | 身份验证配置(策略、令牌 TTL、注册、JWT 声明、SameSite Cookie)。 |
frontegg_configure_password_policy | 密码复杂度(最小长度、历史记录)。 |
frontegg_configure_lockout_policy | 账户锁定(阈值、时长)。 |
frontegg_configure_security_rules | 读取 CAPTCHA / 威胁防护策略。(写入需要真实的 reCAPTCHA 密钥。) |
frontegg_email_templates_list / _update | 租户电子邮件模板。(部分租户会因供应商令牌限制而无法使用。) |
frontegg_branding_get / _update | 租户品牌设置(徽标、主色、主题)。 |
用户、租户、RBAC、审计(11 个)
| 工具 | 功能 |
|---|---|
frontegg_users_list | 按筛选条件列出用户。 |
frontegg_users_invite | 发送邀请电子邮件。 |
frontegg_audit_logs | 查询身份验证事件。 |
frontegg_tenants_list | 列出租户。 |
frontegg_roles_list / _create | RBAC 角色。 |
frontegg_user_sessions_list | 列出用户的活动会话。 |
frontegg_user_session_revoke | 终止一个会话。 |
frontegg_user_sessions_revoke_all | 终止用户的所有会话(需要 confirm: true)。 |
frontegg_user_mfa_get | 读取用户的 MFA 因子。 |
frontegg_user_mfa_reset | 以管理员身份重置用户的 MFA。 |
frontegg_user_mfa_enforce | (供应商令牌无法强制为单个用户启用 MFA;租户范围的设置请使用 frontegg_configure_mfa。) |
应用、Webhook、权限和 API 令牌(10)
| 工具 | 功能 |
|---|---|
frontegg_applications_list / _get / _create | 供应商环境中的应用记录。 |
frontegg_webhooks_list / _create | Webhook 订阅。 |
frontegg_features_list / _create | 功能标志(权限)。 |
frontegg_plans_list | 订阅计划。 |
frontegg_plan_feature_attach | 将功能附加到计划。(在供应商令牌租户中,写入操作可能无效果。) |
frontegg_api_tokens_list / _create / _revoke | 租户级或用户级 API 令牌。创建时仅返回一次密钥。 |
每个 API 工具:action="get"(或 "list")用于读取,action="update"(或 "create")用于写入。
已知限制
部分工具仅提供部分功能,因为 Frontegg 供应商令牌 API 未开放所需接口:
frontegg_configure_sessions的写入操作可能会静默无效果frontegg_configure_security_rules的写入操作需要真实的 reCAPTCHA 密钥frontegg_email_templates_*在供应商令牌下会返回 404(需要租户级管理员权限)frontegg_user_mfa_enforce— 未开放单用户接口frontegg_plan_feature_attach的写入操作可能无效果frontegg_configure_sso可以列出和创建,但无法删除或停用
每个受影响工具的 description 字段都会标明限制,以便 LLM 在有替代方案时选择其他工具。
平台功能(49 个工具)
从 frontegg/frontegg-mcp-server 导入——全面支持对 Frontegg 管理平面的 CRUD 操作。工具名称采用 kebab-case,以确保与已集成上游的用户兼容。
角色(5 个)
| 工具 | 功能 |
|---|---|
get-roles | 列出租户中的所有角色。 |
create-role | 创建具有名称和描述的新角色。 |
update-role | 重命名或修改现有角色的描述。 |
delete-role | 删除角色。此操作不可撤销。 |
set-permissions-to-role | 替换角色的完整权限集。 |
权限(10 个)
| 工具 | 功能 |
|---|---|
get-permissions | 列出所有权限。 |
create-permission | 创建新权限(键 + 名称 + 类别)。 |
update-permission | 重命名或修改权限的表述。 |
delete-permission | 删除权限。该操作会级联影响各个角色。 |
set-permission-to-multiple-roles | 一次将一个权限附加到 N 个角色。 |
set-permissions-classification | 对权限进行分类(PII/PHI/读写)。 |
get-permission-categories | 列出权限类别。 |
create-permission-category | 创建新的类别分组。 |
update-permission-category | 重命名类别。 |
delete-permission-category | 删除类别(仅限空类别)。 |
用户(4 个)
| 工具 | 功能 |
|---|---|
get-users | 支持筛选条件(电子邮件、租户、排序)的分页列表。 |
invite-user | 创建并邀请用户。可选参数为 skipInviteEmail。 |
update-user | 编辑用户字段。 |
delete-user | 删除用户。 |
租户(3 个)
| 工具 | 功能 |
|---|---|
create-tenant | 创建新租户。 |
update-tenant | 编辑租户字段。 |
delete-tenant | 删除租户。此操作不可撤销。 |
可通过移动端功能中的
frontegg_tenants_list列出租户。
应用(6 个)
| 工具 | 功能 |
|---|---|
get-applications | 列出标准应用。 |
get-users-for-application | 列出分配给某应用的用户。 |
assign-users-to-application | 将用户分配给某应用。 |
get-agent-applications | 列出 Agent(LLM 执行主体)应用。 |
create-agent-application | 创建新的 Agent 应用。 |
update-agent-application | 编辑 Agent 应用。 |
API 令牌(7)
| 工具 | 功能 |
|---|---|
create-token | 创建供应商 API 令牌。 |
get-tokens | 列出供应商 API 令牌。 |
delete-token | 撤销供应商 API 令牌。 |
create-client-credentials | 创建客户端凭据令牌对。 |
get-client-credentials | 列出客户端凭据令牌。 |
update-client-credentials | 编辑客户端凭据令牌的元数据。 |
delete-client-credentials | 撤销客户端凭据令牌。 |
个人令牌(6)
| 工具 | 功能 |
|---|---|
get-user-access-tokens | 列出用户的访问令牌。 |
create-user-access-token | 创建用户访问令牌。 |
delete-user-access-token | 撤销用户访问令牌。 |
get-user-api-tokens | 列出用户的 API 令牌。 |
create-user-api-token | 创建用户 API 令牌。 |
delete-user-api-token | 撤销用户 API 令牌。 |
供应商集成(6)
| 工具 | 功能 |
|---|---|
get-vendor-integrations | 列出你的租户发布的集成。 |
create-vendor-integration | 发布新的供应商集成(应用对应用或代表用户)。 |
update-vendor-integration | 编辑供应商集成。 |
delete-vendor-integration | 删除供应商集成。 |
assign-agents-to-vendor-integration | 授予 N 个 Agent 通过该集成访问的权限。 |
unassign-agents-from-vendor-integration | 撤销 Agent 的访问权限。 |
Frontegg 集成(2)
| 工具 | 功能 |
|---|---|
get-frontegg-integrations | 列出 Frontegg 提供的第一方连接器(Slack、webhook 等)。 |
get-frontegg-integration | 检查某个连接器的配置架构和激活状态。 |
除读取状态外,激活或配置 Frontegg 集成需要使用 Frontegg 门户 — v1 中的 API 仅支持读取。
检查内容
135 条以上规则,涵盖四个层面:
- 检测 — 缺少 intent-filter、CFBundleURLTypes、Associated Domains、初始化调用、INTERNET 权限、ATS 例外、
.env未列入.gitignore - 配置标志 —
embeddedMode、lateInit、useAssetsLinks、useChromeCustomTabs、enableOfflineMode、enableSessionPerTenant、useLegacySocialLoginFlow,以及各 SDK 的数十项其他配置 - 建议(真实支持案例) — 冷启动深层链接崩溃、刷新令牌致命错误、Doze Mode、R8/ProGuard 剥离、租户权限泄漏、WebView 问题
- CIAM 功能 — Apple/Google 社交登录、通行密钥(
webcredentials:/ asset links)、升级验证、SSO、会话、令牌、SMS、密码策略
在项目中运行
list_rules— 只会显示相关规则。传入all: true可查看完整目录。
配置
可选(所有工具)
GITHUB_TOKEN=ghp_xxx # Lifts GitHub rate limits — recommended for heavy use
LOG_LEVEL=info # error | warn | info | debug
Frontegg 凭据(仅租户配置工具)
frontegg_configure_*、users、tenants、roles、audit_logs、branding、webhooks、applications、features、plans、api_tokens 和 user_sessions / user_mfa 管理工具需要供应商凭据:
FRONTEGG_CLIENT_ID=your-client-id # UUID — your Frontegg environment's client ID
FRONTEGG_SECRET=your-api-secret # UUID — your Frontegg environment's API key
在 Frontegg 门户中查找凭据:
- 登录 https://portal.frontegg.com
- 选择要管理的工作区和环境
- 前往 ⚙️ Settings → Workspace Settings → Environment(不同门户版本中的路径可能略有不同;如果找不到,请搜索“API Key”或“Client ID”)
- 复制 Client ID 和 API Key 值
两者都是 UUID,格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
**没有这些凭据时:**诊断 / 修复工具(analyze_repo、apply_diff、feature_guide 等)仍可正常工作。只有租户 API 工具会报错。
填写位置:
- MCP 服务目录中的
.env文件(适用于本地开发) - MCP 客户端的配置(Cursor
~/.cursor/mcp.json、Claude Desktopclaude_desktop_config.json等)——推荐:
{
"mcpServers": {
"frontegg-mobile": {
"command": "node",
"args": ["/absolute/path/to/frontegg-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "ghp_xxx",
"FRONTEGG_CLIENT_ID": "your-client-id",
"FRONTEGG_SECRET": "your-api-secret"
}
}
}
}
验证凭据是否有效——在 MCP 客户端的聊天中询问:
Use frontegg_configure_mfa with action=get to read my tenant's MFA policy.
成功时会返回当前 MFA 配置。如果出现类似 “FRONTEGG_CLIENT_ID and FRONTEGG_SECRET environment variables are required” 的错误,说明环境变量没有传递到 MCP;请仔细检查拼写,并确认修改配置后已重启客户端。
常见问题与故障排除
它会修改我的文件吗?
只有在你提出请求时,才会通过
frontegg_apply_diff 修改文件。会创建 .bak 备份。使用 dry_run: true 预览。
API 工具会更改我的 Frontegg 环境吗?
只有使用
action="update" 时才会更改。读取操作是安全的。
它会把我的代码发送到别处吗?
不会。分析在本地进行。出站请求会发送到
raw.githubusercontent.com(公开的 SDK 仓库)和 api.frontegg.com(仅在提供凭据并使用 frontegg_configure_* 工具时)。
我需要 Frontegg 账户吗?
诊断、差异或功能指南不需要。
frontegg_configure_* 工具需要供应商凭据。
客户端中没有显示服务?
- 检查
dist/index.js的绝对路径 - 先运行
npm run build - 直接测试:
node /path/to/dist/index.js——应输出启动日志 - Cursor:切换到 Agent 模式。在 Settings 中关闭再重新开启服务。
显示“未检测到问题”,但实际有问题?
- 将路径指向项目根目录,而不是子目录
- 显式传入
sdk:android-kotlin、ios-swift、flutter、react-native或ionic-capacitor
遇到 GitHub 速率限制?
设置
GITHUB_TOKEN——即使是不需要任何范围权限的令牌也有帮助。知识缓存保留 6 小时。
连接错误?
通常是因为图形界面应用的 PATH 中没有
node。请使用 which node 输出的绝对路径,或使用随附的 bin/mcp-launcher.sh。
可以离线运行吗?
部分可以。检测器在本地运行。版本差异检查和 API 工具需要联网。
可以在 CI 中运行吗?
可以。通过 stdio 使用标准的 Node 18+。设置
GITHUB_TOKEN 以避免速率限制。
专为将 Frontegg 集成到移动应用中的开发者打造。
每个回答都引用 Frontegg SDK 文件。每个差异都可直接粘贴。每项说明都有证据支持。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。