Skip to content

Commit e8a5334

Browse files
adwsinghrhernandez35
authored andcommitted
Add ability to customize smithy mcp home
1 parent 3ab9026 commit e8a5334

2 files changed

Lines changed: 9 additions & 2 deletions

File tree

mcp/mcp-cli-api/src/main/java/software/amazon/smithy/java/mcp/cli/ConfigUtils.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.HashMap;
2121
import java.util.LinkedHashMap;
2222
import java.util.List;
23+
import java.util.Optional;
2324
import java.util.ServiceLoader;
2425
import java.util.Set;
2526
import java.util.concurrent.TimeUnit;
@@ -57,7 +58,7 @@ private ConfigUtils() {}
5758
private static final String OS = System.getProperty("os.name").toLowerCase();
5859
private static final boolean WINDOWS = OS.contains("windows");
5960

60-
private static final Path CONFIG_DIR = resolveFromHomeDir(".config", "smithy-mcp");
61+
private static final Path CONFIG_DIR = getSmithyMcpCliHome();
6162
private static final Path BUNDLE_DIR = CONFIG_DIR.resolve("bundles");
6263
private static final Path SHIMS_DIR = CONFIG_DIR.resolve("mcp-servers");
6364
private static final Path CONFIG_PATH = CONFIG_DIR.resolve("config.json");
@@ -80,6 +81,12 @@ private ConfigUtils() {}
8081
.orElse(new EmptyDefaultConfigProvider());
8182
}
8283

84+
private static Path getSmithyMcpCliHome() {
85+
return Optional.ofNullable(System.getenv("SMITHY_MCP_CLI_HOME"))
86+
.map(Paths::get)
87+
.orElseGet(() -> resolveFromHomeDir(".config", "smithy-mcp"));
88+
}
89+
8390
public static Path resolveFromHomeDir(String... paths) {
8491
String userHome = System.getProperty("user.home");
8592
return Paths.get(userHome, paths);

mcp/mcp-cli-api/src/main/java/software/amazon/smithy/java/mcp/cli/SmithyMcpCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public abstract class SmithyMcpCommand implements Callable<Integer> {
2323
InternalLogger LOG = InternalLogger.getLogger(SmithyMcpCommand.class);
2424

2525
@Override
26-
public final Integer call() throws Exception {
26+
public final Integer call() {
2727
try {
2828
var config = loadOrCreateConfig();
2929
execute(new ExecutionContext(config, RegistryUtils.getRegistry(registryToUse(config), config)));

0 commit comments

Comments
 (0)