63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
#!/usr/bin/env python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
FLUX风格塑形MCP服务器启动脚本
|
||
--------------------------
|
||
启动带有FLUX风格塑形功能的MCP服务器
|
||
"""
|
||
|
||
import logging
|
||
import argparse
|
||
import sys
|
||
import asyncio
|
||
|
||
# 设置日志
|
||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
|
||
logger = logging.getLogger(__name__)
|
||
|
||
# 导入MCP服务器
|
||
from mcp_server import MCPServer
|
||
from flux_style_resource import register_flux_resources
|
||
|
||
async def main_async():
|
||
"""异步主函数"""
|
||
# 解析命令行参数
|
||
parser = argparse.ArgumentParser(description='启动带有FLUX风格塑形功能的MCP服务器')
|
||
parser.add_argument('--host', type=str, default='127.0.0.1', help='服务器监听地址')
|
||
parser.add_argument('--port', type=int, default=8189, help='服务器监听端口')
|
||
parser.add_argument('--name', type=str, default='FLUX-MCP', help='服务器名称')
|
||
args = parser.parse_args()
|
||
|
||
try:
|
||
# 创建MCP服务器实例
|
||
logger.info(f"正在初始化MCP服务器: {args.name}...")
|
||
server = MCPServer(server_name=args.name)
|
||
|
||
# 注册FLUX风格塑形资源和工具
|
||
logger.info("正在注册FLUX风格塑形资源...")
|
||
register_flux_resources(server)
|
||
|
||
# 启动服务器
|
||
logger.info(f"正在启动MCP服务器,监听地址: {args.host}:{args.port}")
|
||
await server.start(host=args.host, port=args.port)
|
||
except KeyboardInterrupt:
|
||
logger.info("收到中断信号,服务器关闭")
|
||
except Exception as e:
|
||
logger.error(f"服务器启动失败: {e}")
|
||
return 1
|
||
|
||
return 0
|
||
|
||
def main():
|
||
"""主函数"""
|
||
try:
|
||
return asyncio.run(main_async())
|
||
except KeyboardInterrupt:
|
||
logger.info("收到中断信号,服务器关闭")
|
||
return 0
|
||
except Exception as e:
|
||
logger.error(f"服务器运行出错: {e}")
|
||
return 1
|
||
|
||
if __name__ == "__main__":
|
||
sys.exit(main()) |