Swagger MCP Server

by tuskermanshu
Verified
#!/bin/bash # Swagger MCP工具服务器启动脚本 # 确保目录存在 SCRIPT_DIR=$(dirname "$0") cd "$SCRIPT_DIR" || exit # 检查Node.js是否安装 if ! command -v node &> /dev/null; then echo "错误: 未找到Node.js,请安装Node.js" >&2 exit 1 fi # 检查是否已经编译 if [ ! -d "./dist" ]; then echo "正在编译TypeScript代码..." npm run build fi # 默认配置 TRANSPORT_TYPE="stdio" PORT=3000 # 解析命令行参数 if [ "$1" = "http" ]; then TRANSPORT_TYPE="http" if [ -n "$2" ]; then PORT="$2" fi fi # 清理已有进程(如果是HTTP模式) if [ "$TRANSPORT_TYPE" = "http" ]; then echo "检查端口 $PORT 是否被占用..." PORT_PID=$(lsof -t -i:$PORT 2>/dev/null) if [ -n "$PORT_PID" ]; then echo "端口 $PORT 被进程 $PORT_PID 占用,尝试终止..." kill -9 "$PORT_PID" 2>/dev/null sleep 1 fi fi echo "启动Swagger MCP工具服务器 (传输类型: $TRANSPORT_TYPE)" if [ "$TRANSPORT_TYPE" = "http" ]; then echo "HTTP端口: $PORT" node dist/mcp-tools-server.js http "$PORT" else node dist/mcp-tools-server.js fi