UNPKG

koreandict-mcp-server

Version:

국립국어원 표준국어대사전 MCP 서버

46 lines (45 loc) 1.63 kB
#!/usr/bin/env node import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { KoreanDictionaryMcpServer } from './mcp-server.js'; import { appConfig } from './config.js'; /** * 로그 메시지를 표준 오류로 출력합니다. * (표준 출력이 아닌 표준 오류를 통해 로깅하여 JSON 통신에 영향을 주지 않습니다) */ function log(message) { process.stderr.write(`[koreandict-server] [info] ${message}\n`); } function logError(message, error) { process.stderr.write(`[koreandict-server] [error] ${message}${error ? ': ' + error : ''}\n`); } /** * 국립국어원 표준국어대사전 MCP 서버 시작 */ async function main() { log('Initializing server...'); // API 키 확인 if (!appConfig.koreandict.apiKey) { logError('API key not set'); logError('Please add {"koreandict-server": {"env": {"KOREANDICT_API_KEY": "your-key"}}} to mcp.json file'); logError('Or add KOREANDICT_API_KEY=your-key to .env file'); process.exit(1); } try { // MCP 서버 인스턴스 생성 const mcpServer = new KoreanDictionaryMcpServer(); // stdio 전송 계층 생성 및 연결 const transport = new StdioServerTransport(); log('Connecting to MCP...'); await mcpServer.getServer().connect(transport); log('Server started and connected successfully'); } catch (error) { logError('Error starting server', error); process.exit(1); } } // 서버 시작 main().catch(error => { logError('Fatal error', error); process.exit(1); });