From 1ae9bb7901013a63d120318f8b69e7d3b6f37f56 Mon Sep 17 00:00:00 2001 From: Elik Song <37071240+dunward@users.noreply.github.com> Date: Fri, 18 Apr 2025 22:16:04 +0900 Subject: [PATCH 1/3] Remove default stringify --- src/tools/BaseTool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/BaseTool.ts b/src/tools/BaseTool.ts index 3103747..bf7e509 100644 --- a/src/tools/BaseTool.ts +++ b/src/tools/BaseTool.ts @@ -127,7 +127,7 @@ export abstract class MCPTool = {}> } return { - content: [{ type: "text", text: JSON.stringify(data) }], + content: [{ type: "text", text: data.toString() }], }; } From f8998cd529cffdb06b2013be1f3101c8993c3305 Mon Sep 17 00:00:00 2001 From: Elik Song Date: Fri, 18 Apr 2025 22:18:02 +0900 Subject: [PATCH 2/3] Change unknown data to string --- src/tools/BaseTool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/BaseTool.ts b/src/tools/BaseTool.ts index bf7e509..c64a04a 100644 --- a/src/tools/BaseTool.ts +++ b/src/tools/BaseTool.ts @@ -127,7 +127,7 @@ export abstract class MCPTool = {}> } return { - content: [{ type: "text", text: data.toString() }], + content: [{ type: "text", text: String(data) }], }; } From d0b98f4c506fc87c2938a2ba0a6fc6a12c6a7be0 Mon Sep 17 00:00:00 2001 From: Elik Song Date: Fri, 18 Apr 2025 22:28:41 +0900 Subject: [PATCH 3/3] Add stringify option default for legacy user --- src/tools/BaseTool.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tools/BaseTool.ts b/src/tools/BaseTool.ts index c64a04a..53ab1f1 100644 --- a/src/tools/BaseTool.ts +++ b/src/tools/BaseTool.ts @@ -51,6 +51,7 @@ export abstract class MCPTool = {}> abstract name: string; abstract description: string; protected abstract schema: ToolInputSchema; + protected useStringify: boolean = true; [key: string]: unknown; get inputSchema(): { type: "object"; properties?: Record } { @@ -127,7 +128,10 @@ export abstract class MCPTool = {}> } return { - content: [{ type: "text", text: String(data) }], + content: [{ + type: "text", + text: this.useStringify ? JSON.stringify(data) : String(data) + }], }; }