Hi @moeinich . Yes, and nothing special is needed on this plugin’s side.
Register your ability with the standard API on wp_abilities_api_init, and include the MCP metadata so the adapter exposes it:
add_action( 'wp_abilities_api_init', function () {
wp_register_ability( 'my-theme/get-something', array(
'label' => 'Get Something',
'description' => 'What the assistant will read to decide when to call it.',
'input_schema' => array( 'type' => 'object', 'properties' => array() ),
'permission_callback' => fn() => current_user_can( 'edit_posts' ),
'execute_callback' => fn( $input ) => array( 'ok' => true ),
'meta' => array( 'mcp' => array( 'public' => true ) ),
) );
} );
meta.mcp.public is the part people usually miss: without it the ability is registered but never exposed to MCP clients.
Once registered, it shows up automatically under Settings › WP Abilities, in a “Third-party” section named after your namespace, where it can be switched on or off like any built-in ability — and it is reachable through this plugin’s OAuth connector too.