Any instrument that can describe what it hears and propose what to change can join the room beside Control and the suite. Machine Sounds' Guitar Rig already has.
Publish what you hear.
Your instrument reports its measurements to the room service on the person's machine and answers two questions: describe, and suggest. Suggestions are proposals in the host's own parameter names, with a reason. Control applies them by the person's policy, under one undo step.
Anything you can do, the conversation can plan with.
Your abilities are listed in a small manifest beside your plug-in. Control discovers them and offers them as steps. No prompt work on your side; you speak in measurements and proposals.
Their identity, through Control.
You never hold their account. Control offers two calls to every tool: read the person's context, and remember a line with typed facts. That is how the Guitar Rig knows the person favours clean single-coil tones.
Alongside, not inside.
Your bundle is one more folder in a release and one more line in the room's manifest. The same installer handles it.
Room: newline-delimited JSON over a local socket, port 7421, with Hello, Measure, Ability and Proposal frames; a silent instance sends a heartbeat each second. Abilities: native_abilities.json beside the plug-in, naming each ability, what it takes, what it returns, and whether it changes state. Identity: the context document Control relays from the person's account, kinds and predicates listed in the ecosystem document.
The reference implementation is the suite itself; the service crate is open under the MIT licence. The current documents travel with a Control release, in its ecosystem notes.