基本能力
产品定位
OpenFGA MCP Server 是一个实验性的 MCP 服务器,专注于为大型语言模型提供 OpenFGA 存储的读写和搜索能力,同时支持代理式 AI 的授权功能。
核心功能
- 授权检查:检查用户是否与对象有关系。
- 对象列表:列出用户有关系的特定类型的对象。
- 元组操作:支持对 OpenFGA 存储中的元组进行读写操作。
- 授权模型获取:获取当前的授权模型。
适用场景
- 代理式 AI 的授权管理。
- 细粒度的权限控制和数据管理。
- 开发者在 AI 应用中集成 OpenFGA 存储功能。
工具列表
check
:检查用户是否与对象有关系。list_objects
:列出用户有关系的特定类型的对象。write_tuples
:向 OpenFGA 存储写入元组。read_tuples
:从 OpenFGA 存储读取元组。get_authorization_model
:获取当前的授权模型。
常见问题解答
- 如何配置 OpenFGA 服务器:需要在启动时提供 OpenFGA 服务器的 URL、存储 ID 和授权模型 ID。
- 如何认证:支持 API 令牌认证和客户端凭证认证。
使用教程
使用依赖
- Python 3.12+
- OpenFGA 服务器
安装教程
推荐使用 UVX 运行服务器:
bash
uvx openfga-mcp@latest
配置
服务器接受以下参数:
- --openfga_url
:OpenFGA 服务器的 URL。
- --openfga_store
:OpenFGA 存储的 ID。
- --openfga_model
:OpenFGA 授权模型的 ID。
对于 API 令牌认证:
- --openfga_token
:用于 OpenFGA 服务器的 API 令牌。
对于客户端凭证认证:
- --openfga_client_id
:用于 OpenFGA 服务器的客户端 ID。
- --openfga_client_secret
:用于 OpenFGA 服务器的客户端密钥。
- --openfga_api_issuer
:用于 OpenFGA 服务器的 API 签发者。
- --openfga_api_audience
:用于 OpenFGA 服务器的 API 受众。
示例:
bash
uvx openfga-mcp@latest \
--openfga_url="http://127.0.0.1:8000" \
--openfga_store="your-store-id" \
--openfga_model="your-model-id"
调试方式
运行开发服务器:
bash
uv run openfga-mcp