The Gemini CLI client was unable to correctly parse the tools/list response from the neo-github-workflow MCP server due to strict validation rules and issues with npm run output. This ticket addresses these compatibility issues by adjusting the server's response format and startup command.
Acceptance Criteria
- The
command and args for neo-github-workflow in .gemini/settings.json are updated to directly invoke node ai/mcp/server/github-workflow/mcp-stdio.mjs, eliminating extraneous npm run output.
toolService.mjs is modified to ensure that outputSchema is always a valid JSON Schema object, even for primitive types or when no schema is explicitly defined, by wrapping primitive types in an object schema and returning an empty object schema for undefined outputs.
toolService.mjs is modified to omit the nextCursor field entirely from the listTools response when its value is null.
mcp-stdio.mjs is modified to conditionally include nextCursor in the tools/list response only if it is not undefined.
- The Gemini CLI client successfully lists all tools from the
neo-github-workflow server without errors.
The Gemini CLI client was unable to correctly parse the
tools/listresponse from theneo-github-workflowMCP server due to strict validation rules and issues withnpm runoutput. This ticket addresses these compatibility issues by adjusting the server's response format and startup command.Acceptance Criteria
commandandargsforneo-github-workflowin.gemini/settings.jsonare updated to directly invokenode ai/mcp/server/github-workflow/mcp-stdio.mjs, eliminating extraneousnpm runoutput.toolService.mjsis modified to ensure thatoutputSchemais always a valid JSON Schema object, even for primitive types or when no schema is explicitly defined, by wrapping primitive types in an object schema and returning an empty object schema for undefined outputs.toolService.mjsis modified to omit thenextCursorfield entirely from thelistToolsresponse when its value isnull.mcp-stdio.mjsis modified to conditionally includenextCursorin thetools/listresponse only if it is notundefined.neo-github-workflowserver without errors.