OpenFGA MCP Server
A Model Context Protocol (MCP) server providing tools to read, search, and manipulate OpenFGA stores programmatically via Large Language Models (LLMs.)
Overview
OpenFGA MCP is an experimental Model Context Protocol (MCP) server that allows Large Language Models (LLMs) to read, search, and manipulate OpenFGA stores programmatically, enabling advanced authorization capabilities for AI applications.
To use OpenFGA MCP, install it via pip or from source, then run the server and connect your LLM application to the MCP server endpoint.
- Programmatic access to OpenFGA stores via LLMs - Dynamic access control based on natural language - Policy management through conversational interfaces - Explainable authorization and policy debugging
- Dynamic Access Control: LLMs interpret natural language to determine permissions based on context.
- Policy Management: Create or adjust authorization policies through conversational interfaces.
- Explainable Authorization: Provide clear justifications for access decisions.
- Policy Debugging: Diagnose permissions issues conversationally.
- Secure Collaboration: Grant temporary access with precise scope.
Add to your AI client
Use these steps to connect OpenFGA MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"openfga-mcp-evansims": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"openfga-mcp-evansims": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"openfga-mcp-evansims": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"openfga-mcp-evansims": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"openfga-mcp-evansims": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"openfga-mcp-evansims": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-openfga-mcp-evansims"
]
}
}
}FAQ
What are the requirements to run OpenFGA MCP?
You need Python 3.10+ and OpenFGA installed.
Is OpenFGA MCP compatible with other clients?
Yes, it is compatible with various MCP clients like Cursor, Windsurf, and Claude Desktop.
What license does OpenFGA MCP use?
OpenFGA MCP is licensed under the Apache License 2.0.