Gravity_Forms\Gravity_Forms\Abilities\GF_Abilities_Service_Provider
Registers Gravity Forms abilities and categories with the Abilities API.
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:17
Details
- Kind:
class - Namespace:
Gravity_Forms\Gravity_Forms\Abilities - Extends:
GF_Service_Provider
Methods
| Method | Description |
|---|---|
register() | Register services. |
init() | Initialize the service provider. |
filter_tools_by_permission() | Remove from the MCP tool list all tools that the current user cannot execute. |
register_categories() | Register ability categories. |
register_abilities() | Register abilities. |
register_dedicated_server() | Register a dedicated Gravity Forms MCP server. |
Method Reference
register()
public function register( GF_Service_Container $container )
Register services.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$container | GF_Service_Container | The service container. |
Returns
void
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:157
init()
public function init( GF_Service_Container $container )
Initialize the service provider.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$container | GF_Service_Container | The service container. |
Returns
void
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:178
filter_tools_by_permission()
public function filter_tools_by_permission( $tools )
Remove from the MCP tool list all tools that the current user cannot execute.
The adapter lists every tool without a permission check. This filter applies only to Gravity Forms tools and keeps the tools of other plugins.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$tools | array | The tool objects that the server returns. |
Returns
array
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:212
register_categories()
public function register_categories()
Register ability categories.
Returns
void
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:278
register_abilities()
public function register_abilities()
Register abilities.
Returns
void
Examples
add_action( 'gform_abilities_init', function() {
wp_register_ability( 'gravityforms/myaddon/my-action', [
'label' => __( 'My Action', 'gravityforms-myaddon' ),
'description' => __( 'Does something useful.', 'gravityforms-myaddon' ),
'permission_callback' => function() { return GFCommon::current_user_can_any( 'gravityforms_edit_forms' ); },
'ability_class' => GF_Ability::class,
'execute_callback' => [ $this, 'handle_my_action' ],
'input_schema' => [],
'output_schema' => [],
'meta' => [ 'mcp' => [ 'public' => true ], 'annotations' => [ 'readonly' => false, 'destructive' => false, 'idempotent' => false ] ],
] );
} );
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:309
register_dedicated_server()
public function register_dedicated_server( $adapter )
Register a dedicated Gravity Forms MCP server.
Called on 'mcp_adapter_init' at priority 20 (after default server at 10) to ensure abilities are already registered and resolvable.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
$adapter | \WP\MCP\Core\McpAdapter | The MCP adapter instance. |
Returns
void
Since: 3.1.0
Source: includes/abilities/class-gf-abilities-service-provider.php:417