#!/usr/bin/env node
/**
* 基于MCP协议的自定义服务
* - 实现自定义工具功能
* - 支持HTTP和stdio运行模式
*/

import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { <%= serviceName %> } from "./server.js";
    import { getServerConfig } from "./config/server.config.js";
    import { resolve } from "path";
    import { config } from "dotenv";

    // 加载当前工作目录中的.env文件
    config({ path: resolve(process.cwd(), ".env") });

    export async function startServer(): Promise<void> {
        // 检查是否在stdio模式下运行
        const isStdioMode = process.env.NODE_ENV === "cli" || process.argv.includes("--stdio");

        // 获取服务器配置
        const serverConfig = getServerConfig(isStdioMode);

        // 创建MCP服务器
        const server = new <%= serviceName %>();

            if (isStdioMode) {
            // 在stdio模式下运行
            const transport = new StdioServerTransport();
            await server.connect(transport);
            } else {
            // 在HTTP模式下运行
            console.log(`初始化<%= projectName %> MCP服务器，HTTP模式，端口: ${serverConfig.port}...`);
                await server.startHttpServer(serverConfig.port);
                }
                }

                // 启动服务器
                startServer().catch((error) => {
                console.error("启动服务器失败:", error);
                process.exit(1);
                });
