helloTool
Echo messages or return default greetings through the Hello World MCP Server's basic demonstration tool for testing and validation purposes.
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 asynchronous handler function that executes the helloTool logic, processing the optional message input and returning a text response or error.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)The input schema for helloTool, defining an optional 'message' string parameter using Zod.{ 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() invocation 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/tools/helloTool.ts:7-43 (helper)The exported registerHelloTool function that sets up and registers the helloTool on the MCP server instance.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'); }
- src/index.ts:21-21 (registration)The call to registerHelloTool during the main server initialization in the entry point file.registerHelloTool(server);