OpenFGA MCP Server for Claude Code - Manage authorization models, tuples, and permissions
OpenFGA MCP server has 10 tools with complete input schemas and descriptions in Korean. All tools are properly registered with enum-constrained environment parameters. However, descriptions lack depth and actionability, most are 20-60 chars, below the 50-200 char baseline for LLM optimization. No output schemas are documented, forcing LLMs to guess response structure. Parameter descriptions are minimal (e.g., 'DSL 파일 경로' without format guidance). Error handling is absent from tool definitions. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Batch tool (openfga_tuple_batch_write) is present but single-item variants dominate, missing composition optimization.
OpenFGA 권한 체크 - 사용자가 특정 권한을 가지는지 확인
OpenFGA 권한 트리 확장 - 특정 오브젝트의 권한 관계 트리 조회
OpenFGA 오브젝트 목록 조회 - 사용자가 접근 가능한 오브젝트 목록
OpenFGA Authorization Model 조회
OpenFGA Authorization Model 배포 - DSL 파일 경로 또는 DSL 문자열로 모델 배포
OpenFGA 스토어 목록 조회
OpenFGA 튜플 배치 생성 (여러 개 한번에)
No output schemas documented. LLMs cannot infer response structure, forcing guesswork on field names and types. Breaks tool chaining when downstream tools need specific response fields.
Descriptions are too brief (20-60 chars, below 50-200 baseline). Lack actionable context: when to use each tool, what it returns, prerequisites. E.g., 'OpenFGA 스토어 목록 조회' tells LLM nothing about pagination, filtering, or result structure.
No tool annotations despite clear risk levels. openfga_tuple_delete and openfga_model_write are destructive but lack destructiveHint. openfga_check and openfga_tuple_read are read-only but lack readOnlyHint. Agents cannot distinguish safe from risky operations.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
OpenFGA 튜플(권한 관계) 삭제
OpenFGA 튜플(권한 관계) 조회
OpenFGA 튜플(권한 관계) 생성
Parameter descriptions lack format guidance. 'DSL 파일 경로' does not specify file extension, encoding, or validation rules. 'DSL 문자열' does not explain syntax or constraints. LLMs will guess and pass invalid input.
No error handling guidance in tool definitions. No recovery hints, retryability classification, or actionable error messages. If a tool fails, LLM has no guidance on next steps.