composer.json•3.8 kB
{
"name": "evansims/openfga-mcp",
"description": "Query and administer OpenFGA and Auth0 FGA using AI agents.",
"license": "Apache-2.0",
"type": "library",
"keywords": [
"openfga",
"authorization",
"fine-grained-authorization",
"access-control",
"permissions",
"rbac",
"abac",
"relationship-based-access-control",
"zanzibar",
"auth0-fga",
"security",
"authentication",
"policy-engine",
"observability",
"opentelemetry"
],
"authors": [
{
"name": "Evan Sims",
"homepage": "https://evansims.com"
}
],
"homepage": "https://github.com/evansims/openfga-mcp",
"support": {
"issues": "https://github.com/evansims/openfga-mcp/issues",
"source": "https://github.com/evansims/openfga-mcp",
"docs": "https://github.com/evansims/openfga-mcp#readme"
},
"require": {
"php": "^8.3",
"evansims/openfga-php": "^1.5",
"guzzlehttp/guzzle": "^7.2",
"php-mcp/server": "^3.2"
},
"require-dev": {
"ergebnis/composer-normalize": "^2",
"friendsofphp/php-cs-fixer": "^3",
"mockery/mockery": "^1.6",
"nikic/php-fuzzer": "0.0.11",
"pestphp/pest": "^4",
"phpstan/phpstan": "^2",
"phpstan/phpstan-strict-rules": "^2",
"rector/rector": "^2",
"vimeo/psalm": "^6",
"wikimedia/composer-merge-plugin": "^2"
},
"minimum-stability": "stable",
"prefer-stable": true,
"autoload": {
"psr-4": {
"OpenFGA\\MCP\\": "src/"
},
"files": [
"src/Helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"OpenFGA\\MCP\\Tests\\": "tests/"
}
},
"bin": [
"bin/openfga-mcp"
],
"config": {
"allow-plugins": {
"ergebnis/composer-normalize": true,
"pestphp/pest-plugin": true,
"wikimedia/composer-merge-plugin": true
},
"optimize-autoloader": true,
"preferred-install": "dist",
"process-timeout": 0,
"sort-packages": true
},
"extra": {
"merge-plugin": {
"ignore-duplicates": false,
"include": [
"composer.local.json"
],
"merge-dev": true,
"merge-extra": false,
"merge-extra-deep": false,
"merge-scripts": true,
"recurse": true,
"replace": true
}
},
"scripts": {
"lint": [
"@php vendor/bin/phpstan analyze",
"@php vendor/bin/psalm",
"@php vendor/bin/rector process src --dry-run",
"@php vendor/bin/php-cs-fixer fix --dry-run --diff"
],
"lint:fix": [
"@php vendor/bin/rector process src",
"@php vendor/bin/php-cs-fixer fix"
],
"test": [
"@test:unit",
"@test:fuzz",
"@test:integration"
],
"test:unit": [
"@putenv XDEBUG_MODE=coverage",
"@php -d memory_limit=2G vendor/bin/pest --testsuite unit --strict-global-state --fail-on-risky --fail-on-warning --coverage --coverage-cobertura coverage/cobertura.xml --log-junit junit.xml"
],
"test:integration": [
"docker compose -f docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from test-runner; EXIT_CODE=$?; docker compose -f docker-compose.test.yml down -v; exit $EXIT_CODE"
],
"test:fuzz": [
"@putenv FUZZING_DURATION=60",
"@php tests/Fuzzing/run-fuzzers.php"
],
"docker": [
"docker build -t openfga-mcp:local ."
],
"docs:sync": [
"@composer install -d tools/documentation-sync --no-interaction",
"@php tools/documentation-sync/sync.php -v -o docs"
],
"docs:sync:quiet": [
"@composer install -d tools/documentation-sync --no-interaction --quiet",
"@php tools/documentation-sync/sync.php -o docs"
],
"docs:sync:source": "composer install -d tools/documentation-sync --no-interaction && php tools/documentation-sync/sync.php -v -o docs -s"
}
}