diff --git a/WelsonJS.Augmented/WelsonJS.Launcher/ApiEndpoints/JsonRpc2.cs b/WelsonJS.Augmented/WelsonJS.Launcher/ApiEndpoints/JsonRpc2.cs index af9aaa0..a410c68 100644 --- a/WelsonJS.Augmented/WelsonJS.Launcher/ApiEndpoints/JsonRpc2.cs +++ b/WelsonJS.Augmented/WelsonJS.Launcher/ApiEndpoints/JsonRpc2.cs @@ -83,7 +83,7 @@ namespace WelsonJS.Launcher.ApiEndpoints break; case "tools/call": - await ResolveToolsCall(ser.ExtractFrom(id, "params", "name")); + await ResolveToolsCall(ser, id); break; } @@ -93,9 +93,24 @@ namespace WelsonJS.Launcher.ApiEndpoints } } - private async Task ResolveToolsCall(string toolsName) + private async Task ResolveToolsCall(JsSerializer ser, int id) { - // TODO: ex) get_weather + var toolsName = ser.ExtractFrom(id, "params", "method")?.Trim(); + + switch (toolsName) + { + case "run_jsrt_script": + { + var script = ser.ExtractFrom(id, "params", "arguments", "script")?.Trim(); + + // todo + } + break; + + default: + _logger.Warn($"[JsonRpc2] Unknown tools method: {toolsName}"); + break; + } } } } diff --git a/WelsonJS.Augmented/WelsonJS.Launcher/McpToolsList.json b/WelsonJS.Augmented/WelsonJS.Launcher/McpToolsList.json index 6718e2c..c197e33 100644 --- a/WelsonJS.Augmented/WelsonJS.Launcher/McpToolsList.json +++ b/WelsonJS.Augmented/WelsonJS.Launcher/McpToolsList.json @@ -10,8 +10,8 @@ "scriptContract": { "requiredEntryPoint": "function main(args) { /* ... */ }; exports.main = main;", "notes": [ - "모든 실행 스크립트 결과물은 main 함수를 export해야 합니다.", - "ES3 문법을 기본으로 작성하고, 필요한 경우 ES5 polyfill 범위 내에서만 확장하세요." + "All executable script outputs must export a main function.", + "Write using ES3 syntax by default, and extend only within the ES5 polyfill scope if necessary." ] }, "tools": [