
OpenFGA MCP Server

2025.04.16
8
Python授权管理数据管理开发效率数据库
OpenFGA MCP Server 是一个实验性的 Model Context Protocol (MCP) 服务器,旨在使大型语言模型 (LLMs) 能够读取、搜索和操作 OpenFGA 存储。它为代理式 AI 解锁了授权功能,并为人类提供了细粒度的 vibe coding 功能。
View on GitHub
Overview
基本能力
产品定位
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 运行服务器:
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 受众。
示例:
uvx openfga-mcp@latest \
--openfga_url="http://127.0.0.1:8000" \
--openfga_store="your-store-id" \
--openfga_model="your-model-id"
调试方式
运行开发服务器:
uv run openfga-mcp