Skip to content

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

@Echo-Computing

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions