@@ -147,10 +147,12 @@ message ServerInfo {
147147 google.protobuf.StringValue fallback_protocol_version = 3 ;
148148}
149149
150+ // Configuration for sending locally-generated responses to tools/list requests.
150151message ToolsListLocal {
151152}
152153
153154// Configuration for the MCP tool capability of the server.
155+ // [#next-free-field: 5]
154156message ServerToolConfig {
155157 // List of MCP tools configurations.
156158 repeated ToolConfig tools = 1 ;
@@ -163,8 +165,6 @@ message ServerToolConfig {
163165 // Optional configuration for tools/list requests. If not set: The ``tools/list`` request is
164166 // passed through. This allows subsequent extension or the backend itself to handle the tools/list
165167 // request if they support it.
166- //
167- // Note: tools/list should be mapped to a GET request with an empty body.
168168 oneof tool_list_config {
169169 // Configuration to transcode the tools/list requests to a standard HTTP request. If provided:
170170 // The extension transcodes the request and forwards it down the filter chain. The response
@@ -173,12 +173,14 @@ message ServerToolConfig {
173173 // https://modelcontextprotocol.io/specification/2025-11-25/schema#listtoolsresult
174174 HttpRule tool_list_http_rule = 3 ;
175175
176- // If provided: The extension sends a local response.
176+ // If provided: The extension sends a local response, according to each tool's
177+ // ToolsListSpecificConfig.
177178 ToolsListLocal tool_list_local = 4 ;
178179 }
179180}
180181
181- // Configuration for a specific MCP tool.
182+ // Configuration for a tool's entry in tools/list responses.
183+ // [#next-free-field: 5]
182184message ToolsListSpecificConfig {
183185 // Optional, human-readable name of the tool for display purposes.
184186 string title = 1 ;
@@ -196,22 +198,17 @@ message ToolsListSpecificConfig {
196198 string output_schema = 4 ;
197199}
198200
199- // Path and host of MCP server that hosts this tool
200- message McpServerInfo {
201- string path = 1 ;
202- string host = 2 ;
203- }
204-
201+ // [#next-free-field: 4]
205202message ToolConfig {
206203 // Unique identifier of the tool. Used both for tools/list and tools/call transcoding.
207204 string name = 1 [(validate.rules ).string = {min_len : 1 }];
208205
209206 // The HTTP configuration rules that apply to the normal backend.
210207 HttpRule http_rule = 2 ;
211208
209+ // Config for this tool's entry in a local tools/list response. Used when tool_list_local is set
210+ // in the ServerToolConfig.
212211 ToolsListSpecificConfig tool_list_config = 3 ;
213-
214- McpServerInfo server_info = 4 ;
215212}
216213
217214// Defines the schema of the JSON-RPC to REST mapping. It specifies how the "arguments"
0 commit comments