Skip to main content

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

MethodDescription
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

NameTypeDefaultDescription
$containerGF_Service_ContainerThe 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

NameTypeDefaultDescription
$containerGF_Service_ContainerThe 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

NameTypeDefaultDescription
$toolsarrayThe 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

NameTypeDefaultDescription
$adapter\WP\MCP\Core\McpAdapterThe MCP adapter instance.

Returns

  • void

Since: 3.1.0

Source: includes/abilities/class-gf-abilities-service-provider.php:417