使用说明
项目简介
OpenFGA MCP Server 是一个实验性的 MCP 服务器,它允许大型语言模型(LLM)读取、搜索和操作 OpenFGA 授权服务的 stores。该服务器旨在为 Agentic AI 应用提供权限管理能力,并支持人类进行细粒度的权限控制。简单来说,它充当 LLM 和 OpenFGA 之间的桥梁,让 LLM 能够利用 OpenFGA 的权限管理功能。
主要功能点
- 工具 (Tools):提供了一系列预定义的工具,允许 LLM 调用 OpenFGA 的功能,例如:
- 'check': 检查用户是否对某个对象具有特定关系。
- 'list_objects': 列出用户有权访问的特定类型的对象。
- 'write_tuples': 向 OpenFGA store 写入权限元组(关系)。
- 'read_tuples': 从 OpenFGA store 读取权限元组。
- 'get_authorization_model': 获取当前 OpenFGA 授权模型。
- 资源 (Resources) 和 Prompt 模板 (Prompts):虽然仓库描述中提及,但在当前版本中可能尚未明确实现资源和 Prompt 模板的管理功能,主要聚焦于通过工具集成 OpenFGA 的能力。
安装步骤
-
环境准备:
- 确保已安装 Python 3.12 或更高版本。
- 确保已运行 OpenFGA 服务器 (根据仓库 'README.md' 链接安装和配置)。
-
安装 OpenFGA MCP Server:
- 推荐使用 UVX 运行服务器。如果尚未安装 UVX,请先安装 UVX。
- 使用 UVX 运行 OpenFGA MCP Server,命令如下:
uvx openfga-mcp@latest
服务器配置 (MCP 客户端配置)
对于 MCP 客户端(例如 Claude Desktop, Raycast, Cursor, Windsurf),需要配置连接到 OpenFGA MCP Server 的信息。配置格式通常为 JSON,以下是 Claude Desktop 的配置示例,其他客户端配置方式类似,请参考各自客户端的 MCP 服务器配置文档。
{ "mcpServers": { "openfga-mcp": { "command": "uvx", "args": [ "openfga-mcp@latest", // 以下为 OpenFGA MCP Server 的启动参数,根据实际 OpenFGA 环境配置 // "--openfga_url", "http://127.0.0.1:8000", // OpenFGA 服务器 URL (必填) // "--openfga_store", "your-store-id", // OpenFGA Store ID (必填) // "--openfga_model", "your-model-id" // OpenFGA Authorization Model ID (可选) // "--openfga_token", "YOUR_API_TOKEN" // OpenFGA API Token 认证 (可选) // 或者使用 Client Credentials 认证 // "--openfga_client_id", "YOUR_CLIENT_ID", // "--openfga_client_secret", "YOUR_CLIENT_SECRET", // "--openfga_api_issuer", "YOUR_API_ISSUER", // "--openfga_api_audience", "YOUR_API_AUDIENCE" ] } } }
配置说明:
- '"server name": "openfga-mcp"': 为 MCP 服务器指定一个名称,客户端通过此名称引用。
- '"command": "uvx"': 运行 MCP 服务器的命令,这里使用 'uvx'。
- '"args": [...]': 传递给 'uvx' 命令的参数列表。
- '"openfga-mcp@latest"': 指定要运行的 OpenFGA MCP Server。
- '--openfga_url': (可选,但通常必填) OpenFGA 服务器的 URL 地址。请替换为你的 OpenFGA 服务器地址。
- '--openfga_store': (可选,但通常必填) OpenFGA Store 的 ID。请替换为你的 OpenFGA Store ID。
- '--openfga_model': (可选) OpenFGA Authorization Model 的 ID。如果需要指定模型,请配置。
- '--openfga_token': (可选) 用于 API Token 认证。如果你的 OpenFGA 服务器需要 API Token 认证,请配置。
- '--openfga_client_id', '--openfga_client_secret', '--openfga_api_issuer', '--openfga_api_audience': (可选) 用于 Client Credentials 认证。如果你的 OpenFGA 服务器使用 Client Credentials 认证,请配置这些参数。
重要提示:
- 请根据你的 OpenFGA 服务器配置,取消注释并填写 'args' 数组中相应的参数值。
- 你可能需要指定 'uvx' 可执行文件的完整路径,可以使用 'which uvx' 命令查找。
- 修改客户端配置后,通常需要重启客户端应用才能生效。
基本使用方法
- 启动 OpenFGA MCP Server (根据上述安装和配置步骤)。
- 配置 MCP 客户端 (例如 Claude Desktop, Raycast, Cursor, Windsurf) 连接到 OpenFGA MCP Server (根据上述服务器配置部分)。
- 在 MCP 客户端中,你可以通过自然语言指令或特定方式调用 OpenFGA MCP Server 提供的工具,例如询问 "用户 Alice 是否可以查看文档 Document-123?",客户端会将请求转换为对 'check' 工具的调用,并返回 OpenFGA 的授权结果。
注意: 具体的使用方式和工具调用方法取决于你使用的 MCP 客户端的功能和操作方式。请参考你所用 MCP 客户端的文档。
信息
分类
AI与计算