Skip to content

docker mcp tools call double-encodes JSON arguments breaking all tool calls #2518

Description

@Echo-Computing

Bug Description

The docker mcp tools call <tool> CLI command double-encodes JSON arguments, causing all tool calls to fail.

Steps to Reproduce

  1. Run docker mcp tools call git_status --args '{"repo_path": "/repo"}'
  2. Observe verbose output: Calling tool git_status with arguments: {"{\"repo_path\": \"/repo\"}":null}

Expected vs Actual

  • Expected: Gateway receives {"repo_path": "/repo"} as a proper JSON object
  • Actual: Arguments become a STRING KEY {"repo_path": "/repo"} with value null

Impact

  • All docker mcp tools call commands fail
  • Gateway works fine when called from Claude Code (which handles JSON correctly)
  • This only affects CLI-based testing of the MCP gateway

Environment

  • Docker Desktop on Windows (WSL2 backend)
  • Docker MCP Toolkit CLI

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs triageThis issue needs to triage by our team (applied by default to new issue)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions