Make your app agent-drivable in minutes
You write one thing: the surface. The SDK does the wire — MCP transport, per-instance bearer tokens, instance registration, consent prompts, audit, and the live feed. Your app only describes what it can do and answers a handful of methods.
Add the SDK, implement the surface, start the host
- Reference the packages. Add the App Use abstractions and SDK to your .NET project.
- Implement the surface. Describe your screens and elements, and answer read / get / set / invoke. Most methods are one-liners over your existing state.
- Start the host. One call at startup registers your app so any local agent — or a hub — can find it.
Host it — one call
await using var host = await AppUseHost.StartAsync(
new AppUseHostOptions
{
AppId = "hello",
AppName = "Hello",
AppVersion = "1.0",
Surface = new HelloSurface(),
});
// The SDK writes an instance-registration file; a Hub
// watching the directory now sees your app and brokers
// it to any connected agent.
The surface declares an AppSpec (screens + elements + actions) and answers ReadScreenAsync, GetValueAsync, SetValueAsync, InvokeAsync, and a few navigation / window methods. The SDK gates every call against the token scope and the consent prompt before it reaches your code.
The hard parts are handled
Transport & auth
Loopback SSE MCP server with a minted per-instance bearer — you never touch the wire.
Registration
An instance file is written so hubs and agents discover your app automatically.
Consent & audit
Write / execute calls route through the consent gate and land in the hash-chained audit log.
Live observability
Every call and result streams to the tap feed an operator console can subscribe to.
Full SDK docs & the spec are on the way
The complete integration guide, the surface contract reference, the element-registry helpers, and the full protocol specification are being prepared for open publication. Want early access, the SDK, or help integrating? Reach out.