v2.2.0 - Dynamic Client Side Tools
🎉 Dart Server + Dynamic Tools Registration
🔄 BREAKING CHANGES.
- Server Migration: The main server is now
mcp_server_dart(Dart-based), replacing the previous TypeScript server (mcp_server) - Configuration Changes: Updated command-line arguments and removed environment variables
- Package Version: Updated
mcp_toolkitto^0.2.0
✨ New Features
-
🆕 Dynamic Tools Registration
Flutter apps can now register custom tools at runtime.
See video of how it works and how to use it. -
MCP Tools for Dynamic Registry (part of Dynamic Tools Registration)
listClientToolsAndResources- Discover all dynamically registered tools and resources if they are not listed in the AI Assistant (Cursor, Cline, Copilot, Roo Code etc..)runClientTool- Execute custom tools registered by Flutter applicationsrunClientResource- Read custom resources registered by Flutter applicationsgetRegistryStats- Get statistics about the dynamic registry (debug mode only)
📦 Migration Guide
- Update AI Assistant Configuration:
If supports resources (Cline, Claude Code etc..)
{
"mcpServers": {
"flutter-inspector": {
"command": "/path/to/mcp_flutter/mcp_server_dart/build/flutter_inspector_mcp",
"args": [
"--dart-vm-host=localhost",
"--dart-vm-port=8181",
"--resources",
"--images",
"--dynamics"
],
"env": {}
}
}
}If doesn’t support resources:
{
"mcpServers": {
"flutter-inspector": {
"command": "/path/to/mcp_flutter/mcp_server_dart/build/flutter_inspector_mcp",
"args": [
"--dart-vm-host=localhost",
"--dart-vm-port=8181",
"--no-resources",
"--images",
"--dynamics"
],
"env": {}
}
}
}- Update Flutter App Dependencies:
dependencies: mcp_toolkit: ^0.2.0
For New Users
Follow the updated Quick Start Guide for complete setup instructions.
🔧 Technical Changes
- Command Line Interface
- Instead of environment variables, now you can use command-line flags:
--resources,--no-resources,--images,--dumps,--dynamics - Improved logging with
--log-leveloption
- MCPToolkit API Updates
- New
addEntries()method to register tools and resources from Flutter app. - New
MCPCallEntry.tool()andMCPCallEntry.resource()constructors - Improved error handling with
MCPCallResult
🐛 Bug Fixes
- Fixed connection stability issues
- Improved error handling for VM service disconnections
- Enhanced port scanning reliability
- Better resource cleanup on app restart
🙏 Acknowledgments
Special thanks to the community for feedback and testing, and to the Flutter team for the new Dart MCP Server which made Dart MCP Server possible.
Code Rabbit Poem :)
In the warren of code, new features appear,
Dynamic tools hop in—now discovery is clear!
Registries and managers with event-driven flair,
Flutter and MCP, a seamless new pair.
With docs and examples, the future looks bright—
This bunny approves: the registry's just right!
🐇✨