greeting
Generate personalized greetings in multiple languages by providing a name and language selection. Supports Korean, English, Japanese, Chinese, Spanish, French, German, Italian, Portuguese, and Russian.
Instructions
사용자의 이름과 언어를 입력받아 해당 언어로 인사하는 도구
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 사용자의 이름 | |
| language | Yes | 인사말을 할 언어 (korean, english, japanese, chinese, spanish, french, german, italian, portuguese, russian) |
Input Schema (JSON Schema)
{
"properties": {
"language": {
"description": "인사말을 할 언어 (korean, english, japanese, chinese, spanish, french, german, italian, portuguese, russian)",
"enum": [
"korean",
"english",
"japanese",
"chinese",
"spanish",
"french",
"german",
"italian",
"portuguese",
"russian"
],
"type": "string"
},
"name": {
"description": "사용자의 이름",
"type": "string"
}
},
"required": [
"name",
"language"
],
"type": "object"
}
Implementation Reference
- src/index.ts:461-487 (handler)Handler function that executes the 'greeting' tool: parses arguments using GreetingToolSchema, selects appropriate greeting from greetingMessages based on language, constructs personalized message, and returns it as text content. Includes error handling.if (request.params.name === 'greeting') { try { const { name, language } = GreetingToolSchema.parse(request.params.arguments) const greeting = greetingMessages[language.toLowerCase()] || greetingMessages.english const message = `${greeting}, ${name}!` return { content: [ { type: 'text', text: message } ] } } catch (error) { return { content: [ { type: 'text', text: `오류가 발생했습니다: ${error instanceof Error ? error.message : '알 수 없는 오류'}` } ], isError: true } } }
- src/index.ts:13-17 (schema)Zod schema (GreetingToolSchema) used for input validation in the greeting tool handler.// Greeting tool schema const GreetingToolSchema = z.object({ name: z.string().describe('사용자의 이름'), language: z.string().describe('인사말을 할 언어 (예: korean, english, japanese, chinese, spanish, french)') })
- src/index.ts:315-333 (registration)Tool registration in the ListToolsRequestSchema handler: defines 'greeting' tool name, description, and input schema (including enum from greetingMessages).{ name: 'greeting', description: '사용자의 이름과 언어를 입력받아 해당 언어로 인사하는 도구', inputSchema: { type: 'object', properties: { name: { type: 'string', description: '사용자의 이름' }, language: { type: 'string', description: '인사말을 할 언어 (korean, english, japanese, chinese, spanish, french, german, italian, portuguese, russian)', enum: Object.keys(greetingMessages) } }, required: ['name', 'language'] } },
- src/index.ts:43-55 (helper)Helper object containing greeting messages in multiple languages, used by the handler and referenced in the tool's input schema enum.// Greeting messages in different languages const greetingMessages: Record<string, string> = { korean: '안녕하세요', english: 'Hello', japanese: 'こんにちは', chinese: '你好', spanish: 'Hola', french: 'Bonjour', german: 'Hallo', italian: 'Ciao', portuguese: 'Olá', russian: 'Привет' }