Skip to content

MCP Mode: Stdout logs break Claude MCP compatibility due to non-JSON output #6

@FayyasHussain

Description

@FayyasHussain

this is what LLM suggested (Copy-Pasting)

When using jarvis-appium as an MCP server with Claude (Anthropic), the stdout logs like All tools registered, Waiting for client connections, etc., are not valid JSON and cause Claude to fail MCP connection with errors like:

Image

Expected Behavior

Claude expects valid JSON-RPC 2.0 messages over stdio. Any plain-text logs on stdout cause JSON parsing to break.

Suggested Fix

Add a CLI flag like --mcp or --quiet that:

  • suppresses all console.log() output on stdout
  • uses stderr for debug logs instead
  • only sends structured JSON-RPC responses on stdout

Environment

  • OS: macOS
  • Claude Desktop App
  • Device connected: Android real device
  • Command: npx jarvis-appium

Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions