Better Auth MCP Server 使用说明
项目简介
Better Auth MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM (大型语言模型) 应用提供企业级的身份验证和授权管理服务。它通过 MCP 协议与 LLM 客户端通信,提供了一系列工具和资源,帮助开发者在 LLM 应用中集成和管理用户身份验证。
主要功能点
- 安全凭证管理: 使用 AES-256 加密安全地管理用户凭证。
- 多协议身份验证: 支持 OAuth2, SAML, LDAP 等多种身份验证协议。
- 实时威胁检测: 提供实时的威胁检测和预防机制,保障身份验证系统的安全。
- 项目结构分析工具 (analyze_project): 分析项目结构,为身份验证设置提供建议。
- Better Auth 设置工具 (setup_better_auth): 使用项目 ID 和 API 密钥配置身份验证提供程序。
- 现有身份验证检测工具 (analyze_current_auth): 检测现有的 auth.js/next-auth 实现。
- 迁移计划生成工具 (generate_migration_plan): 创建从现有身份验证系统迁移到 Better Auth 的详细步骤。
- 身份验证流程测试工具 (test_auth_flows): 验证登录、注册、密码重置和 2FA 流程。
- 安全测试工具 (test_security): 运行符合 OWASP 标准的安全检查。
- 日志分析工具 (analyze_logs): 分析身份验证系统日志以发现问题。
- 身份验证流程监控工具 (monitor_auth_flows): 实时监控身份验证流程。
- 配置资源 (better-auth://config): 获取当前的 Better Auth 配置设置。
- 日志资源 (better-auth://logs): 访问身份验证系统日志。
安装步骤
- 克隆仓库:
git clone https://github.com/nahmanmate/better-auth-mcp-server.git cd better-auth-mcp-server - 安装依赖:
npm install - 构建服务器:
npm run build
服务器配置
要将 Better Auth MCP Server 集成到 MCP 客户端(例如 Claude Desktop),您需要配置客户端以启动该服务器。以下是配置示例,通常需要在 MCP 客户端的配置文件中进行设置(以 Claude Desktop 为例,配置文件为 'claude_desktop_config.json'):
{ "mcpServers": { "better-auth-mcp-server": { "command": "node", "args": ["/path/to/better-auth-mcp-server/build/index.js"], "disabled": false, "alwaysAllow": [] } } }
配置参数说明:
- '"better-auth-mcp-server"': 服务器名称,客户端用此名称来标识和调用该服务器。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时环境。
- '"args": ["/path/to/better-auth-mcp-server/build/index.js"]': 传递给启动命令的参数,指定服务器入口文件 'index.js' 的路径。请将 '/path/to/better-auth-mcp-server' 替换为 Better Auth MCP Server 在您本地文件系统中的实际路径。
- '"disabled": false': 设置为 'false' 表示启用该 MCP 服务器。
- '"alwaysAllow": []': 允许始终访问的工具或资源的列表,默认为空。
基本使用方法
在您的 LLM 应用代码中,您可以使用 MCP 客户端 SDK 来调用 Better Auth MCP Server 提供的工具和资源。以下是一些使用示例 (TypeScript 代码):
初始化 Better Auth:
// 假设您已经初始化了 MCP 客户端 mcp // 初始化 Better-Auth await mcp.useTool('setup_better_auth', { projectPath: './my-next-app', // 您的项目路径 config: { projectId: process.env.BETTER_AUTH_PROJECT_ID, // 您的 Better Auth 项目 ID (从环境变量获取) apiKey: process.env.BETTER_AUTH_API_KEY // 您的 Better Auth API 密钥 (从环境变量获取) } });
测试身份验证流程:
// 测试核心身份验证流程 await mcp.useTool('test_auth_flows', { flows: ['login', 'register', '2fa'] // 要测试的流程 });
从 Auth.js/NextAuth 迁移:
// 分析当前身份验证实现 await mcp.useTool('analyze_current_auth', { projectPath: './my-next-app' // 您的项目路径 }); // 生成迁移步骤 await mcp.useTool('generate_migration_plan', { projectPath: './my-next-app', // 您的项目路径 currentAuthType: 'next-auth' // 当前使用的身份验证系统类型 });
请参考仓库的 README.md 文件和源代码以获取更详细的使用信息和工具参数说明。
信息
分类
开发者工具