ACP Mode: Title in "sessionUpdate":"tool_call" object should be Title (or Name if no Title) of the MCP tool.
What happened?
The payload returned in ACP mode forwards the input json as the title. Better to include the MCP tool title or name attribute, and use rawInput, rawOutput for in/out json imo.
For example, for a tool named/titled: "listProblems", Gemini ACP returns
{
"jsonrpc":"2.0",
"method":"session/update",
"params":{
"sessionId":"f1fb46f8-008f-4ba5-b695-15dbe17952e8",
"update":{
"sessionUpdate":"tool_call",
"toolCallId":"listProblems-1765359923416",
"status":"in_progress",
"title":"{\"resourceURI\":\"file:/Users/jflicke/runtime-New_configurationAgents1234/XMLEditor\"}",
"content":[
],
"locations":[
],
"kind":"other"
}
}
}
where it seems like the "TITLE" gets the input content sent into the tool call. The spec says:
title: A human-readable title describing what the tool is doing for example:
"toolCallId": "call_001", "title": "Reading configuration file",
Meanwhile, the MCP spec for listProblems is:
{ name: "listProblems"
title: "List Problems",
description: "list Eclipse IDE compilation and configuration problems",
inputSchema: { ... },
annotations: {
title: "List Problems",
...
}
}
What did you expect to happen?
The json input should probably be moved to rawInput. And the title (if exists, else name) of the MCP tool should be used for title in the "sessionUpdate"/"tool_call"
Client information
0.9.0
Login information
No response
Anything else we need to know?
No response
https://github.com/orgs/agentclientprotocol/discussions/327