MCP Agent Platform

by rolenet
Verified
import os import sys import asyncio import logging # 添加项目根目录到Python路径 current_dir = os.path.dirname(os.path.abspath(__file__)) sys.path.append(current_dir) from fastapi import FastAPI from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates from fastapi.responses import HTMLResponse from fastapi import Request from src.web.server import app from src.platform.mcp_platform import MCPAgentPlatform # 设置日志 logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', ) # 确保模板目录存在 templates_dir = os.path.join(current_dir, "templates") os.makedirs(templates_dir, exist_ok=True) # 确保静态文件目录存在 static_dir = os.path.join(current_dir, "static") os.makedirs(static_dir, exist_ok=True) # 挂载静态文件 app.mount("/static", StaticFiles(directory=static_dir), name="static") # 设置模板 templates = Jinja2Templates(directory=templates_dir) @app.get("/", response_class=HTMLResponse) async def home(request: Request): return templates.TemplateResponse("index.html", {"request": request}) # 创建平台实例 platform = MCPAgentPlatform() @app.on_event("startup") async def startup_event(): # 启动平台 await platform.start() @app.on_event("shutdown") async def shutdown_event(): # 关闭平台 await platform.stop() if __name__ == "__main__": import uvicorn uvicorn.run(app, host="0.0.0.0", port=8070)