After implementing a few consumers of abilities, it seems that we need a unified effort to control what abilities are available where.
In the simplest implementation:
- Plugin can declare a "Surface" for abilities (
wp_abilities_register_consumer or something like this)
- User can choose which abilities are available where
Why?
Abilities will come from plugins and we have no control over their quality and behavior - some of them will be splendid, some of them - not so much.
We need a way for the user to say "i want this, this and this abilities to available in Claude via MCP, but i want these avialable in my AI agent available on this site"
If we don't do this centrally, I predict every plugin with a "surface" shipping its own version and we'll have a mess
Rough idea
- You may use abilities as curently - then you have access to entire catalog
- You also may register a "surface" for your use case for the abilities
- When you do, a UI automatically appears in WP-Admin so you can decide which abilities are available on that surface
- You can query abilities API via surface
- Every MCP server automatically becomes a surface
It is kind of related to #348
CC @gziolo @jorgefilipecosta
After implementing a few consumers of abilities, it seems that we need a unified effort to control what abilities are available where.
In the simplest implementation:
wp_abilities_register_consumeror something like this)Why?
Abilities will come from plugins and we have no control over their quality and behavior - some of them will be splendid, some of them - not so much.
We need a way for the user to say "i want this, this and this abilities to available in Claude via MCP, but i want these avialable in my AI agent available on this site"
If we don't do this centrally, I predict every plugin with a "surface" shipping its own version and we'll have a mess
Rough idea
It is kind of related to #348
CC @gziolo @jorgefilipecosta