helloTool
Echo back user-provided messages or return a default greeting, enabling basic interaction testing with the Hello World MCP Server's simplest tool.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | No | Message to echo back. If not provided, returns a default greeting. |
Implementation Reference
- src/tools/helloTool.ts:16-39 (handler)The handler function that executes the 'helloTool' logic: echoes the input message or returns a default greeting 'Hello, World!', formats as text content, and handles errors by returning an error response.async ({ message }) => { try { const responseMessage = message ? `You said: ${message}` : "Hello, World!"; return { content: [ { type: "text", text: responseMessage } ] }; } catch (error) { return { content: [ { type: "text", text: `Error in hello tool: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } }
- src/tools/helloTool.ts:13-15 (schema)Input schema for the 'helloTool' using Zod: an optional string 'message' parameter.{ message: z.string().optional().describe("Message to echo back. If not provided, returns a default greeting.") },
- src/tools/helloTool.ts:11-40 (registration)The server.tool() call that registers the 'helloTool' with its name, input schema, and handler function.server.tool( "helloTool", { message: z.string().optional().describe("Message to echo back. If not provided, returns a default greeting.") }, async ({ message }) => { try { const responseMessage = message ? `You said: ${message}` : "Hello, World!"; return { content: [ { type: "text", text: responseMessage } ] }; } catch (error) { return { content: [ { type: "text", text: `Error in hello tool: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } } );
- src/index.ts:21-21 (registration)Invocation of registerHelloTool on the MCP server instance, completing the tool registration.registerHelloTool(server);
- src/tools/helloTool.ts:7-43 (registration)The exported registerHelloTool function that contains the logic to register the 'helloTool' on the server.export function registerHelloTool(server: McpServer): void { console.error('Registering Hello World tool...'); // Tool to echo a message or respond with "Hello, World!" server.tool( "helloTool", { message: z.string().optional().describe("Message to echo back. If not provided, returns a default greeting.") }, async ({ message }) => { try { const responseMessage = message ? `You said: ${message}` : "Hello, World!"; return { content: [ { type: "text", text: responseMessage } ] }; } catch (error) { return { content: [ { type: "text", text: `Error in hello tool: ${error instanceof Error ? error.message : String(error)}` } ], isError: true }; } } ); console.error('Hello World tool registered successfully'); }