Skip to content

non-JSON stdio version log at server startup cause some MCP clients to fail #147

@jposert

Description

@jposert

The MCP server was logging version information to stdout during startup:

console.log("Azure DevOps MCP Server version : " + packageVersion);

This causes issues when the server was used with MCP clients (like Claude Desktop) because:

  • MCP protocol requires stdout to be reserved exclusively for JSON-RPC messages;
  • Any non-JSON output on stdout breaks the protocol communication;
  • Clients receive parsing errors like: Unexpected token 'A', "Azure DevO"... is not valid JSON which caused MCP client to fail;
    image

https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#stdio

"The server MUST NOT write anything to its stdout that is not a valid MCP message."

The solution for the problem is to just simply remove the version logging at startup as suggested here:
#146

Version info is still accessible via MCP server properties (server.name and server.version).

Metadata

Metadata

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions