Skip to content
Debugging
Skill

/flutter-mcp-toolkit-intentcall-migration

Migrate Flutter app code from removed MCPCallEntry to AgentCallEntry after the hard cut. Use when upgrading mcp_toolkit, fixing compile errors after a major bump, or running flutter-mcp-toolkit migrate agent-entries.

BOOST
From plugin
mcp-flutter
38922 skills1 agent
Install
$ npx -y skills add Arenukvern/mcp_flutter --skill flutter-mcp-toolkit-intentcall-migration --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/flutter-mcp-toolkit-intentcall-migration

Context preview

The summary Claude sees to decide when to auto-load this skill.

Migrate Flutter app code from removed MCPCallEntry to AgentCallEntry after the hard cut. Use when upgrading mcp_toolkit, fixing compile errors after a major bump, or running flutter-mcp-toolkit migrate agent-entries.

SKILL.md

flutter-mcp-toolkit-intentcall-migration.SKILL.md
name: flutter-mcp-toolkit-intentcall-migration
description: >-
  Migrate Flutter app code from removed MCPCallEntry to AgentCallEntry after
  the hard cut. Use when upgrading mcp_toolkit, fixing compile errors after
  a major bump, or running flutter-mcp-toolkit migrate agent-entries.

<!-- @FMT_MODE_PRELUDE -->

IntentCall migration — MCPCallEntry → AgentCallEntry

`MCPCallEntry` is **removed** from `mcp_toolkit`. App code must use `AgentCallEntry` (from `intentcall_core`, re-exported by `mcp_toolkit`).

Canonical migration doc: [migration_mcp_call_entry_to_agent_call_entry.md](https://github.com/Arenukvern/mcp_flutter/blob/main/docs/start_here/migration_mcp_call_entry_to_agent_call_entry.md)

When to use this skill

  • `dart analyze` reports undefined `MCPCallEntry` after upgrading `mcp_toolkit`
  • User asks to migrate custom tools/resources to the new API
  • Before shipping a major `mcp_toolkit` bump to consumers

CLI (preferred)

# Preview (exit 1 if changes pending)
flutter-mcp-toolkit migrate agent-entries --check lib/

# Apply
flutter-mcp-toolkit migrate agent-entries --write lib/
flutter-mcp-toolkit migrate agent-entries --write --namespace my_app lib/main.dart

Alias: `migrate mcp-call-entry` (same behavior).

After migration — registration

  • `MCPToolkitBinding.addEntries(entries: Set<AgentCallEntry>)`
  • `addEntries(entries: { ... })` before `bootstrapFlutter(runApp: ...)`
  • `addMcpTool(AgentCallEntry)` — still a shortcut for a single entry

Handlers should return **`AgentResult`** (`AgentResult.success` / `AgentResult.failure`). For legacy `MCPCallResult` + `MCPToolDefinition` handlers, use **`mcpToolkitTool`** / **`mcpToolkitResource`** (see `flutter-mcp-toolkit-custom-tools`).

Legacy pattern (before — do not ship new code)

// BEFORE (removed in Phase 6b)
final tool = MCPCallEntry.tool(
  handler: (request) async => MCPCallResult(
    message: 'ok',
    parameters: {'n': request['n']},
  ),
  definition: MCPToolDefinition(
    name: 'my_tool',
    description: 'Example',
    inputSchema: {'type': 'object', 'properties': {}},
  ),
);

Target pattern (after)

import 'package:mcp_toolkit/mcp_toolkit.dart';

final tool = AgentCallEntry.tool(
  namespace: 'app',
  name: 'my_tool',
  description: 'Example',
  inputSchema: const {
    'type': 'object',
    'additionalProperties': false,
    'properties': {'n': {'type': 'string'}},
    'required': ['n'],
  },
  handler: (final args) async {
    final n = args['n']?.toString() ?? '';
    return AgentResult.success(
      message: 'ok',
      data: {'n': n},
    );
  },
);

await MCPToolkitBinding.instance.addEntries(entries: {tool});

Platform sync (optional)

After tool surfaces compile:

flutter-mcp-toolkit codegen sync --platform web
flutter-mcp-toolkit codegen sync --platform android,ios,macos --check

See `docs/platform-notes/android-oem.md` for Xiaomi/Huawei (same shortcuts XML as AOSP).

MCP migrate tool

`fmt_migrate_agent_entries` is **shipped** (report-only by default; `apply: true` to rewrite). CLI equivalent: `flutter-mcp-toolkit migrate agent-entries`.

Maintainer checklist (in-repo product gate)

1. `flutter-mcp-toolkit migrate agent-entries --check` on `showcase/flutter_test_app/lib` 2. `make sync-skills` after any `plugin/skills/` edit 3. `cd mcp_server_dart && dart test test/contract/` 4. Grep: no `MCPCallEntry` in skills except this file's BEFORE examples

Hosted IntentCall packages

IntentCall now lives outside this repository. Normal consumer state uses hosted `intentcall_*` packages.

1. Use hosted `intentcall_*: ^0.6.0` dependencies for committed consumer state. 2. Use local path overrides only for deliberate cross-repo development against a local IntentCall checkout. 3. Run `flutter pub get` and `migrate agent-entries --check` again after dependency changes. 4. CI: use `make check-intentcall-hosted-consumer` for hosted `mcp_flutter` proof; use `make check-intentcall-sibling-matrix` only for deliberate local IntentCall checkout matrix proof. The historical `make check-intentcall-integration` target is a compatibility alias for the sibling-matrix lane, not a fresh-adopter hosted gate.

Related skills

  • **`flutter-mcp-toolkit-custom-tools`** — authoring `AgentCallEntry` surfaces
  • **`flutter-mcp-toolkit-repo-maintainer`** — CHANGELOG, version pins, `sync-skills`
Read more
Ships withmcp-flutter

Inspect and drive a running Flutter app from your AI assistant. 📖 Docs: docs.page/arenukvern/mcp_flutter 🤝 Contribute: guide · contributors · code of conduct · security flutter-mcp-toolkit is a Dart MCP server + Flutter package for AI agents (Codex, Zed,

Get the whole plugin

Other skills on mcp-flutter.