授权管理服务

OpenFGA MCP Server是一个AI驱动的授权管理服务,用于设计、生成代码和管理OpenFGA实例,适用于权限模型设计和实现。

  • by evansims
  • PHP
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 evansims/openfga-mcp

使用说明

OpenFGA MCP Server

AI-powered authorization management for OpenFGA


连接 OpenFGA 和 身份验证0 FGA 通过模型上下文协议连接到AI代理。

用例

  • 规划与设计 -使用最佳实践模式设计高效的授权模型
  • 生成代码 -通过全面的文档上下文生成准确的SDK集成
  • 管理实例 -通过AI代理查询和控制实时OpenFGA服务器

快速开始

离线模式(默认)

无需服务器即可设计模型和生成代码:

{
  "mcpServers": {
    "OpenFGA": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--pull=always",
        "evansims/openfga-mcp:latest"
      ]
    }
  }
}

联机模式

连接到OpenFGA以获得完整的管理功能:

{
  "mcpServers": {
    "OpenFGA": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--pull=always",
        "-e",
        "OPENFGA_MCP_API_URL=http://host.docker.internal:8080",
        "evansims/openfga-mcp:latest"
      ]
    }
  }
}

安全: 默认情况下,写入操作被禁用。集 OPENFGA_MCP_API_WRITEABLE=true 以启用。

Docker网络: 为了你 OPENFGA_MCP_API_URL 使用 host.docker.internal 在本地计算机上运行OpenFGA时,Docker网络的容器名称,或远程实例的完整URL。

使用 克劳德桌面, 克劳德代码, 光标, 帆板运动, 泽德以及其他MCP客户端。

配置

MCP传输

变量 默认值 描述
OPENFGA_MCP_TRANSPORT stdio 支持 stdio 或 http (流式HTTP。)
OPENFGA_MCP_TRANSPORT_HOST 127.0.0.1 IP用于监听连接。仅适用于使用 http 运输。
OPENFGA_MCP_TRANSPORT_PORT 9090 用于监听连接的端口。仅适用于使用 http 运输。
OPENFGA_MCP_TRANSPORT_SSE true 为响应启用服务器发送事件(SSE)流。
OPENFGA_MCP_TRANSPORT_STATELESS false 为无会话客户端启用无状态模式。

OpenFGA

变量 默认值 描述
OPENFGA_MCP_API_URL OpenFGA服务器URL
OPENFGA_MCP_API_WRITEABLE false 启用写入操作
OPENFGA_MCP_API_STORE 对特定商店ID的默认请求
OPENFGA_MCP_API_MODEL 对特定型号ID的默认请求
OPENFGA_MCP_API_RESTRICT false 将请求限制到配置的默认存储/型号

OpenFGA身份验证

身份验证 变量 默认值 描述
预共享密钥 OPENFGA_MCP_API_TOKEN API代币
客户端凭据 OPENFGA_MCP_API_CLIENT_ID 客户端ID
OPENFGA_MCP_API_CLIENT_SECRET 客户端密码
OPENFGA_MCP_API_ISSUER 代币发行人
OPENFGA_MCP_API_AUDIENCE API受众

看 docker-compose.example.yml 查看完整示例。

特性

管理工具

  • 商店:创建、列出、获取、删除商店
  • 模型:使用创建模型 DSL公司、列出、获取、验证
  • 权限:检查、授予、撤销权限;查询用户和对象

SDK文档

用于准确生成代码的全面文档:

  • 所有OpenFGA SDK(PHP、Go、Python、Java、.NET、JavaScript、Laravel)
  • 带有代码示例的类和方法文档
  • 具有语言过滤功能的高级搜索

AI提示

设计与规划

  • 领域特定模型设计
  • RBAC到ReBAC的迁移
  • 层次关系
  • 性能优化

实施

  • 逐步创建模型
  • 关系模式
  • 测试生成
  • 安全模式

故障排除

  • 权限调试
  • 安全审计
  • 最小特权实现

资源和URI

  • openfga://stores -列出商店
  • openfga://store/{id}/model/{modelId} -型号详细信息
  • openfga://docs/{sdk}/class/{className} -SDK文档
  • openfga://docs/search/{query} -搜索文档

智能完工

连接时自动完成商店ID、模型ID、关系、用户和对象。