From 83cec0fd70888dce425aa583c3108bc68177a94f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 1 Feb 2026 23:57:08 +0000 Subject: [PATCH 1/3] Initial plan From f9c60a31b833fa4d5022590592dfb5ec6cef5722 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Feb 2026 00:02:37 +0000 Subject: [PATCH 2/3] Add payloadDir field to gateway configuration in MCP Gateway Specification v1.8.0 Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com> --- docs/public/schemas/mcp-gateway-config.schema.json | 5 +++++ docs/src/content/docs/reference/mcp-gateway.md | 11 ++++++++++- pkg/workflow/schemas/mcp-gateway-config.schema.json | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/public/schemas/mcp-gateway-config.schema.json b/docs/public/schemas/mcp-gateway-config.schema.json index ae1f20cc12..cd50f1556b 100644 --- a/docs/public/schemas/mcp-gateway-config.schema.json +++ b/docs/public/schemas/mcp-gateway-config.schema.json @@ -225,6 +225,11 @@ "description": "Tool invocation timeout in seconds. The gateway enforces this timeout for individual tool/method calls to MCP servers.", "minimum": 1, "default": 60 + }, + "payloadDir": { + "type": "string", + "description": "Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files.", + "minLength": 1 } }, "required": ["port", "domain", "apiKey"], diff --git a/docs/src/content/docs/reference/mcp-gateway.md b/docs/src/content/docs/reference/mcp-gateway.md index 6563f8a685..0559bc7748 100644 --- a/docs/src/content/docs/reference/mcp-gateway.md +++ b/docs/src/content/docs/reference/mcp-gateway.md @@ -7,7 +7,7 @@ sidebar: # MCP Gateway Specification -**Version**: 1.7.0 +**Version**: 1.8.0 **Status**: Draft Specification **Latest Version**: [mcp-gateway](/gh-aw/reference/mcp-gateway/) **JSON Schema**: [mcp-gateway-config.schema.json](/gh-aw/schemas/mcp-gateway-config.schema.json) @@ -245,6 +245,7 @@ The `gateway` section is required and configures gateway-specific behavior: | `apiKey` | string | Yes | API key for authentication | | `startupTimeout` | integer | No | Server startup timeout in seconds (default: 30) | | `toolTimeout` | integer | No | Tool invocation timeout in seconds (default: 60) | +| `payloadDir` | string | No | Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files. | #### 4.1.3a Top-Level Configuration Fields @@ -1347,6 +1348,14 @@ Content-Type: application/json ## Change Log +### Version 1.8.0 (Draft) + +- **Added**: `payloadDir` field to gateway configuration (Section 4.1.3) + - Optional directory path where the gateway places large payload JSON files for authenticated clients + - Enables efficient handling of large response payloads by offloading them to the filesystem + - Gateway implementations MUST ensure proper isolation between clients' payload files when this feature is used + - Payload files are accessible to clients authenticated with the corresponding API key + ### Version 1.7.0 (Draft) - **Added**: Comprehensive volume mount documentation for stdio servers (Section 4.1.5) diff --git a/pkg/workflow/schemas/mcp-gateway-config.schema.json b/pkg/workflow/schemas/mcp-gateway-config.schema.json index ae65b8015d..ae3c1cea3c 100644 --- a/pkg/workflow/schemas/mcp-gateway-config.schema.json +++ b/pkg/workflow/schemas/mcp-gateway-config.schema.json @@ -189,6 +189,11 @@ "description": "Tool invocation timeout in seconds. The gateway enforces this timeout for individual tool/method calls to MCP servers.", "minimum": 1, "default": 60 + }, + "payloadDir": { + "type": "string", + "description": "Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files.", + "minLength": 1 } }, "required": ["port", "domain", "apiKey"], From 955c01b9b50fbe74a666a6e680ae39d096938b08 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Feb 2026 00:04:43 +0000 Subject: [PATCH 3/3] Simplify payloadDir descriptions per code review feedback Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com> --- docs/public/schemas/mcp-gateway-config.schema.json | 2 +- docs/src/content/docs/reference/mcp-gateway.md | 2 +- pkg/workflow/schemas/mcp-gateway-config.schema.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/public/schemas/mcp-gateway-config.schema.json b/docs/public/schemas/mcp-gateway-config.schema.json index cd50f1556b..2022ebf4be 100644 --- a/docs/public/schemas/mcp-gateway-config.schema.json +++ b/docs/public/schemas/mcp-gateway-config.schema.json @@ -228,7 +228,7 @@ }, "payloadDir": { "type": "string", - "description": "Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files.", + "description": "Directory path for storing large payload JSON files for authenticated clients.", "minLength": 1 } }, diff --git a/docs/src/content/docs/reference/mcp-gateway.md b/docs/src/content/docs/reference/mcp-gateway.md index 0559bc7748..8f8f4d296a 100644 --- a/docs/src/content/docs/reference/mcp-gateway.md +++ b/docs/src/content/docs/reference/mcp-gateway.md @@ -245,7 +245,7 @@ The `gateway` section is required and configures gateway-specific behavior: | `apiKey` | string | Yes | API key for authentication | | `startupTimeout` | integer | No | Server startup timeout in seconds (default: 30) | | `toolTimeout` | integer | No | Tool invocation timeout in seconds (default: 60) | -| `payloadDir` | string | No | Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files. | +| `payloadDir` | string | No | Directory path for storing large payload JSON files for authenticated clients | #### 4.1.3a Top-Level Configuration Fields diff --git a/pkg/workflow/schemas/mcp-gateway-config.schema.json b/pkg/workflow/schemas/mcp-gateway-config.schema.json index ae3c1cea3c..9f9982bf94 100644 --- a/pkg/workflow/schemas/mcp-gateway-config.schema.json +++ b/pkg/workflow/schemas/mcp-gateway-config.schema.json @@ -192,7 +192,7 @@ }, "payloadDir": { "type": "string", - "description": "Directory path where the gateway places large payload JSON files for authenticated clients. Each client (identified by API key) can access their respective payload files from this directory. The gateway MUST ensure proper isolation between clients' payload files.", + "description": "Directory path for storing large payload JSON files for authenticated clients.", "minLength": 1 } },