Skip to content

Claude Code not using Tools / hot_reload doesn’t work #41

@torbenkeller

Description

@torbenkeller

I want to use Claude Code with this MCP, but it can not use the tools as expected. When I promt to use a tool, it tries, but then it fails:

⏺ flutterInspector:hot_reload_flutter (MCP)
  ⎿  Error: MCP error -32603: Error calling ext.mcpdevtools.hotReload: Unknown method "ext.mcpdevtools.hotReload".

These are the rpcs it gets:

⏺ flutterInspector:get_extension_rpcs (MCP)(port: 8181)
  ⎿  [
       "ext.ui.window.scheduleFrame",
       "ext.ui.window.reinitializeShader",
       "ext.ui.window.impellerEnabled",
       "ext.dart.io.httpEnableTimelineLogging",
       "ext.dart.io.getSocketProfile",
       "ext.dart.io.socketProfilingEnabled",
       "ext.dart.io.clearSocketProfile",
       "ext.dart.io.getVersion",
       "ext.dart.io.getHttpProfile",
       "ext.dart.io.getHttpProfileRequest",
       "ext.dart.io.clearHttpProfile",
       "ext.flutter.reassemble",
       "ext.flutter.exit",
       "ext.flutter.connectedVmServiceUri",
       "ext.flutter.activeDevToolsServerAddress",
       "ext.flutter.platformOverride",
       "ext.flutter.brightnessOverride",
       "ext.flutter.timeDilation",
       "ext.flutter.evict",
       "ext.flutter.profilePlatformChannels",
       "ext.flutter.invertOversizedImages",
       "ext.flutter.debugPaint",
       "ext.flutter.debugPaintBaselinesEnabled",
       "ext.flutter.repaintRainbow",
       "ext.flutter.debugDumpLayerTree",
       "ext.flutter.debugDisableClipLayers",
       "ext.flutter.debugDisablePhysicalShapeLayers",
       "ext.flutter.debugDisableOpacityLayers",
       "ext.flutter.debugDumpRenderTree",
       "ext.flutter.debugDumpSemanticsTreeInTraversalOrder",
       "ext.flutter.debugDumpSemanticsTreeInInverseHitTestOrder",
       "ext.flutter.profileRenderObjectPaints",
       "ext.flutter.profileRenderObjectLayouts",
       "ext.flutter.debugDumpApp",
       "ext.flutter.debugDumpFocusTree",
       "ext.flutter.showPerformanceOverlay",
       "ext.flutter.didSendFirstFrameEvent",
       "ext.flutter.didSendFirstFrameRasterizedEvent",
       "ext.flutter.profileWidgetBuilds",
       "ext.flutter.profileUserWidgetBuilds",
       "ext.flutter.debugAllowBanner",
       "ext.flutter.inspector.structuredErrors",
       "ext.flutter.inspector.show",
       "ext.flutter.inspector.trackRebuildDirtyWidgets",
       "ext.flutter.inspector.widgetLocationIdMap",
       "ext.flutter.inspector.trackRepaintWidgets",
       "ext.flutter.inspector.disposeAllGroups",
       "ext.flutter.inspector.disposeGroup",
       "ext.flutter.inspector.isWidgetTreeReady",
       "ext.flutter.inspector.disposeId",
       "ext.flutter.inspector.setPubRootDirectories",
       "ext.flutter.inspector.addPubRootDirectories",
       "ext.flutter.inspector.removePubRootDirectories",
       "ext.flutter.inspector.getPubRootDirectories",
       "ext.flutter.inspector.setSelectionById",
       "ext.flutter.inspector.getParentChain",
       "ext.flutter.inspector.getProperties",
       "ext.flutter.inspector.getChildren",
       "ext.flutter.inspector.getChildrenSummaryTree",
       "ext.flutter.inspector.getChildrenDetailsSubtree",
       "ext.flutter.inspector.getRootWidget",
       "ext.flutter.inspector.getRootWidgetSummaryTree",
       "ext.flutter.inspector.getRootWidgetSummaryTreeWithPreviews",
       "ext.flutter.inspector.getRootWidgetTree",
       "ext.flutter.inspector.getDetailsSubtree",
       "ext.flutter.inspector.getSelectedWidget",
       "ext.flutter.inspector.getSelectedSummaryWidget",
       "ext.flutter.inspector.isWidgetCreationTracked",
       "ext.flutter.inspector.screenshot",
       "ext.flutter.inspector.getLayoutExplorerNode",
       "ext.flutter.inspector.setFlexFit",
       "ext.flutter.inspector.setFlexFactor",
       "ext.flutter.inspector.setFlexProperties",
       "ext.mcp.toolkit.app_errors",
       "ext.mcp.toolkit.view_screenshots",
     "ext.mcp.toolkit.view_details"
     ]

When I tell it to use one, it does not execute it and says it has no tool for that:

⏺ Available Flutter extension RPCs including screenshot capabilities (ext.flutter.inspector.screenshot) and custom MCP toolkit extensions
  (ext.mcp.toolkit.view_screenshots, ext.mcp.toolkit.view_details, ext.mcp.toolkit.app_errors).

> now use "ext.mcp.toolkit.view_screenshots"

⏺ I can see that ext.mcp.toolkit.view_screenshots is available as an extension RPC, but I don't have a direct tool to call arbitrary Flutter
  extension RPCs. The Flutter Inspector tools I have access to are limited to specific predefined functions.

  However, I can try using the test custom extension tool which might be able to access these custom MCP toolkit extensions:

⏺ flutterInspector:test_custom_ext (MCP)
  ⎿ {
      "message": "No errors found. Here are possible reasons: \n1) There were really no errors. \n2) Errors occurred before they were captured by
     MCP server. \nWhat you can do (choose wisely): \n1) Try to reproduce action, which expected to cause errors. \n2) If errors still not
    visible, try to navigate to another screen and back. \n3) If even then errors still not visible, try to restart app.",
      "errors": [],
      "type": "_extensionType",
      "method": "ext.mcp.toolkit.app_errors"
    }

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtestingSomething to test

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions