A composable family of packages — bundle schema, MCP client/server, transport-agnostic IO, knowledge subsystem, and a Material 3 UI runtime. Each ships independently. None require ceremony.
1import 'package:mcp_client/mcp_client.dart'; 2import 'package:flutter_mcp_ui_runtime/runtime.dart'; 3 4// Connect through any supported transport. 5final client = await McpClient.connect( 6 transport: StdioTransport(), 7); 8 9// Server publishes tools + a UI definition. 10final ui = await client.fetchUi(); 11 12// Render. Tool calls flow back from UI actions. 13runApp(McpUiRuntime( 14 client: client, 15 definition: ui, 16));
Open specs at the base, the apps at the top, the package layers between. Most packages depend only on mcp_bundle — no circular dependencies.
Pub.dev publication is independent — depend on what you need. Most depend only on mcp_bundle.
Specs are documents, not code — the formats and contracts the runtime implements. Open at github.com/app-appplayer/specs (MIT).
The kernels the apps run on. Each ships independently on pub.dev.
Finished, installable apps built on the stack — not libraries. AppPlayer Standard is the open reference edition: one Flutter codebase across six platforms.
The packages do not require each other to be used together. These are common compositions — start small, grow as you need.
mcp_client alone is enough to talk to any MCP server. No UI, no bundle — just the wire.
Describe tools and a Material 3 UI definition; clients render it through the runtime.
Facts, skills, profile, ops, and philosophy behind one facade — for AI personas with memory and ethos.
Bring physical and network devices under one contract — eight transports out of the box, orchestrated declaratively.
Route between MCP servers and clients with namespace separation, session, audit, and policy.
Connection lifecycle, sessions, and bundle install on top of client, bundle, and the UI runtime.
Three steps. Less than five minutes if pub.dev cooperates.