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));
Most packages depend only on mcp_bundle. There are no circular dependencies — pick the parts you need and compose without ceremony.
Pub.dev publication is independent — depend on what you need. Most depend only on mcp_bundle.
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.