From 5ed42b583f675d55f7b47d55a2734b54150fb73d Mon Sep 17 00:00:00 2001 From: Jiaping Zeng Date: Tue, 4 Nov 2025 00:54:42 -0800 Subject: [PATCH] make credential optional in mcp connectors Signed-off-by: Jiaping Zeng --- .../ml/common/connector/McpConnector.java | 18 +++++++++++------- .../connector/McpStreamableHttpConnector.java | 18 +++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/common/src/main/java/org/opensearch/ml/common/connector/McpConnector.java b/common/src/main/java/org/opensearch/ml/common/connector/McpConnector.java index 74d00c8e2d..d6d06eb8b7 100644 --- a/common/src/main/java/org/opensearch/ml/common/connector/McpConnector.java +++ b/common/src/main/java/org/opensearch/ml/common/connector/McpConnector.java @@ -206,19 +206,23 @@ protected Map createDecryptedHeaders(Map headers @Override public void decrypt(String action, BiFunction function, String tenantId) { - Map decrypted = new HashMap<>(); - for (String key : credential.keySet()) { - decrypted.put(key, function.apply(credential.get(key), tenantId)); + if (credential != null) { + Map decrypted = new HashMap<>(); + for (String key : credential.keySet()) { + decrypted.put(key, function.apply(credential.get(key), tenantId)); + } + this.decryptedCredential = decrypted; } - this.decryptedCredential = decrypted; this.decryptedHeaders = createDecryptedHeaders(headers); } @Override public void encrypt(BiFunction function, String tenantId) { - for (String key : credential.keySet()) { - String encrypted = function.apply(credential.get(key), tenantId); - credential.put(key, encrypted); + if (credential != null) { + for (String key : credential.keySet()) { + String encrypted = function.apply(credential.get(key), tenantId); + credential.put(key, encrypted); + } } } diff --git a/common/src/main/java/org/opensearch/ml/common/connector/McpStreamableHttpConnector.java b/common/src/main/java/org/opensearch/ml/common/connector/McpStreamableHttpConnector.java index 1bb2a2f804..5c9a4d2c26 100644 --- a/common/src/main/java/org/opensearch/ml/common/connector/McpStreamableHttpConnector.java +++ b/common/src/main/java/org/opensearch/ml/common/connector/McpStreamableHttpConnector.java @@ -205,19 +205,23 @@ protected Map createDecryptedHeaders(Map headers @Override public void decrypt(String action, BiFunction function, String tenantId) { - Map decrypted = new HashMap<>(); - for (String key : credential.keySet()) { - decrypted.put(key, function.apply(credential.get(key), tenantId)); + if (credential != null) { + Map decrypted = new HashMap<>(); + for (String key : credential.keySet()) { + decrypted.put(key, function.apply(credential.get(key), tenantId)); + } + this.decryptedCredential = decrypted; } - this.decryptedCredential = decrypted; this.decryptedHeaders = createDecryptedHeaders(headers); } @Override public void encrypt(BiFunction function, String tenantId) { - for (String key : credential.keySet()) { - String encrypted = function.apply(credential.get(key), tenantId); - credential.put(key, encrypted); + if (credential != null) { + for (String key : credential.keySet()) { + String encrypted = function.apply(credential.get(key), tenantId); + credential.put(key, encrypted); + } } }