start_server.py•1.64 kB
#!/usr/bin/env python3
"""
MCP服务器启动脚本
用于启动员工管理系统MCP服务器
"""
import asyncio
import sys
import os
import signal
# 添加src目录到Python路径
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'src'))
from src.server import EmployeeMCPServer
from src.config.settings import settings
def signal_handler(signum, frame):
"""信号处理器"""
print("\n🛑 收到停止信号,正在关闭服务器...")
sys.exit(0)
async def main():
"""主函数"""
# 注册信号处理器
signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)
print("🚀 启动员工管理系统 MCP Server")
print("=" * 50)
print(f"📍 服务器地址: {settings.mcp_host}:{settings.mcp_port}")
print(f"🔗 后端API: {settings.api_base_url}")
print(f"⏱️ API超时: {settings.api_timeout}秒")
print(f"📝 日志级别: {settings.log_level}")
print("=" * 50)
try:
# 创建并启动服务器
server = EmployeeMCPServer()
print("✅ 服务器初始化完成")
print("🔄 正在启动服务器...")
await server.start()
except KeyboardInterrupt:
print("\n🛑 用户中断,正在关闭服务器...")
except Exception as e:
print(f"❌ 服务器启动失败: {e}")
sys.exit(1)
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
print("\n👋 服务器已停止")
except Exception as e:
print(f"❌ 程序异常退出: {e}")
sys.exit(1)