Skip to main content
Glama

OpenFGA MCP

listDocumentationResponse.php5.52 kB
<?php declare(strict_types=1); namespace OpenFGA\MCP\Responses; use JsonSerializable; use OpenFGA\MCP\Models\{GuideDocumentation, SdkDocumentation}; use Override; use function array_map; use function count; final readonly class listDocumentationResponse extends AbstractResponse implements JsonSerializable { /** * @param array<SdkDocumentation> $sdkDocumentation List of SDK documentation * @param array<GuideDocumentation> $guidesDocumentation List of guides documentation * @param string $status Status message indicating the availability of OpenFGA documentation * @param int|null $totalSdks Total number of SDKs available * @param array<string, string> $endpoints List of endpoints for accessing documentation */ public function __construct( private array $sdkDocumentation, private array $guidesDocumentation, private string $status = '✅ OpenFGA Documentation Available', private ?int $totalSdks = null, private array $endpoints = [ 'openfga://docs' => 'List all OpenFGA documentation', 'openfga://docs/{sdk}' => 'Get OpenFGA SDK overview', 'openfga://docs/{sdk}/class/{className}' => 'Get OpenFGA SDK class documentation', 'openfga://docs/{sdk}/method/{className}/{methodName}' => 'Get OpenFGA SDK method documentation', 'openfga://docs/{sdk}/section/{sectionName}' => 'Get OpenFGA documentation section', 'openfga://docs/{sdk}/chunk/{chunkId}' => 'Get OpenFGA specific content chunk', ], ) { } /** * Create and serialize the response in one step. * * @param array<SdkDocumentation> $sdkDocumentation * @param array<GuideDocumentation> $guidesDocumentation * @param string $status * @param int|null $totalSdks * @param array<string, string> $endpoints * @return array{status: string, sdk_documentation: array<array{sdk: string, name: string, sections: int, classes: int, chunks: int, uri: string}>, guides_documentation: array<array{type: string, name: string, sections: int, chunks: int, uri: string}>, total_sdks: int, endpoints: array<string, string>} */ public static function create( array $sdkDocumentation, array $guidesDocumentation, string $status = '✅ OpenFGA Documentation Available', ?int $totalSdks = null, array $endpoints = [ 'openfga://docs' => 'List all OpenFGA documentation', 'openfga://docs/{sdk}' => 'Get OpenFGA SDK overview', 'openfga://docs/{sdk}/class/{className}' => 'Get OpenFGA SDK class documentation', 'openfga://docs/{sdk}/method/{className}/{methodName}' => 'Get OpenFGA SDK method documentation', 'openfga://docs/{sdk}/section/{sectionName}' => 'Get OpenFGA documentation section', 'openfga://docs/{sdk}/chunk/{chunkId}' => 'Get OpenFGA specific content chunk', ], ): array { return (new self($sdkDocumentation, $guidesDocumentation, $status, $totalSdks, $endpoints))->jsonSerialize(); } /** * Serialize the response to JSON format. * * @return array{status: string, sdk_documentation: array<array{sdk: string, name: string, sections: int, classes: int, chunks: int, uri: string}>, guides_documentation: array<array{type: string, name: string, sections: int, chunks: int, uri: string}>, total_sdks: int, endpoints: array<string, string>} */ #[Override] public function jsonSerialize(): array { return [ 'status' => $this->status, 'sdk_documentation' => array_map(static fn (SdkDocumentation $doc): array => $doc->jsonSerialize(), $this->sdkDocumentation), 'guides_documentation' => array_map(static fn (GuideDocumentation $doc): array => $doc->jsonSerialize(), $this->guidesDocumentation), 'total_sdks' => $this->totalSdks ?? count($this->sdkDocumentation) + count($this->guidesDocumentation), 'endpoints' => $this->endpoints, ]; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/evansims/openfga-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server