#!/usr/bin/env node
/**
* 로컬 실행을 위한 CLI 엔트리포인트
* 이 파일은 직접 실행 시에만 사용됩니다.
*/
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
import createServer from './index.js'
// stdout을 가로채서 JSON이 아닌 출력을 필터링 (MCP 프로토콜 보호)
const originalStdoutWrite = process.stdout.write.bind(process.stdout)
process.stdout.write = function (chunk: any, encoding?: any, cb?: any): boolean {
const str = typeof chunk === 'string' ? chunk : chunk.toString()
// JSON이 아닌 텍스트는 stderr로 리다이렉트
if (str && !str.trim().startsWith('{') && !str.trim().startsWith('[')) {
process.stderr.write(chunk, encoding, cb)
return true
}
return originalStdoutWrite(chunk, encoding, cb)
}
// 서버 생성 및 연결
async function main() {
const mcpServer = createServer({
config: {
hfToken: process.env.HF_TOKEN
}
})
const transport = new StdioServerTransport()
await mcpServer.connect(transport)
}
main().catch((error) => {
process.stderr.write(`MCP server error: ${error}\n`)
process.exit(1)
})