koreandict-mcp-server
Version:
국립국어원 표준국어대사전 MCP 서버
46 lines (45 loc) • 1.63 kB
JavaScript
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);
});