tiny-stdio-mcp-server 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.js CHANGED
@@ -76,7 +76,9 @@ export function createServer(options) {
76
76
  }
77
77
  try {
78
78
  const handlerResult = await tool.handler(toolArgs);
79
- const result = { content: toContentBlocks(handlerResult) };
79
+ const result = isCallToolResult(handlerResult)
80
+ ? handlerResult
81
+ : { content: toContentBlocks(handlerResult) };
80
82
  return { result };
81
83
  }
82
84
  catch (err) {
@@ -224,3 +226,9 @@ export function createServer(options) {
224
226
  };
225
227
  return server;
226
228
  }
229
+ function isCallToolResult(value) {
230
+ if (typeof value !== "object" || value === null || !("content" in value)) {
231
+ return false;
232
+ }
233
+ return Array.isArray(value.content);
234
+ }
package/dist/types.d.ts CHANGED
@@ -92,7 +92,7 @@ export interface ServerOptions {
92
92
  version: string;
93
93
  }
94
94
  import type { ToolReturn } from "./content/index.js";
95
- export type ToolHandler<T = Record<string, unknown>> = (args: T) => Promise<ToolReturn> | ToolReturn;
95
+ export type ToolHandler<T = Record<string, unknown>> = (args: T) => Promise<ToolReturn | CallToolResult> | ToolReturn | CallToolResult;
96
96
  export interface ToolDefinition<T = Record<string, unknown>> {
97
97
  name: string;
98
98
  description: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tiny-stdio-mcp-server",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Minimal MCP server over stdio with typed tools and rich content helpers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",