56 lines
1.7 KiB
Python
56 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
MCP服务器启动脚本
|
|
--------------
|
|
通过命令行启动MCP服务器
|
|
"""
|
|
|
|
import argparse
|
|
import logging
|
|
import sys
|
|
from mcp_server import run
|
|
|
|
def main():
|
|
"""主函数,解析命令行参数并启动服务器"""
|
|
|
|
# 配置命令行参数解析
|
|
parser = argparse.ArgumentParser(description='启动Model Context Protocol (MCP)服务器')
|
|
|
|
# 服务器配置参数
|
|
parser.add_argument('--name', type=str, default='ComfyUI-MCP',
|
|
help='服务器名称 (默认: ComfyUI-MCP)')
|
|
parser.add_argument('--host', type=str, default='127.0.0.1',
|
|
help='服务器监听地址 (默认: 127.0.0.1)')
|
|
parser.add_argument('--port', type=int, default=8189,
|
|
help='服务器监听端口 (默认: 8189)')
|
|
parser.add_argument('--verbose', action='store_true',
|
|
help='启用详细日志输出')
|
|
|
|
# 解析命令行参数
|
|
args = parser.parse_args()
|
|
|
|
# 配置日志级别
|
|
log_level = logging.DEBUG if args.verbose else logging.INFO
|
|
logging.basicConfig(
|
|
level=log_level,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
|
)
|
|
|
|
# 记录启动信息
|
|
logging.info(f"正在启动MCP服务器 '{args.name}' 在 {args.host}:{args.port}")
|
|
|
|
try:
|
|
# 启动服务器
|
|
run(server_name=args.name, host=args.host, port=args.port)
|
|
except KeyboardInterrupt:
|
|
logging.info("服务器被用户中断")
|
|
return 0
|
|
except Exception as e:
|
|
logging.error(f"服务器启动失败: {str(e)}")
|
|
return 1
|
|
|
|
return 0
|
|
|
|
if __name__ == "__main__":
|
|
sys.exit(main()) |