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): 访问身份验证系统日志。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/nahmanmate/better-auth-mcp-server.git
    cd better-auth-mcp-server
  2. 安装依赖:
    npm install
  3. 构建服务器:
    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 文件和源代码以获取更详细的使用信息和工具参数说明。

信息

分类

开发者工具