# server.py import logging from fastmcp import FastMCP from db.milvus import get_knowledge_by_key_words logger = logging.getLogger("room_knowledge_mcp") logging.basicConfig(level=logging.INFO) # 固定知识库ID ROOM_KN_ID = "21bc9fd3-9c11-4564-a420-ba91e30c75f0" def register_room_knowledge_tools(mcp: FastMCP): @mcp.tool() def query_room_knowledge(key_words: str) -> dict: """ 📘 共育室基本知识查询工具 功能: 用于查询与“共育室”相关的知识内容,供客服或内部系统参考。 知识库内容包含蚕房共育室的功能、参数、特点、预算、智能控制逻辑等基础信息。 参数: key_words: 查询关键词(如 “共育室温度预警设置范围” 或 “共育室作用”) 返回: - success: 是否成功 - topic: 固定主题 "共育室基本知识" - result: 匹配到的知识内容文本 - error: 错误信息(如有) """ try: logger.info(f"🧭 查询共育室知识: key_words='{key_words}'") # 强制使用共育室的知识库ID kn_ids = [ROOM_KN_ID] # 检索知识内容 text = get_knowledge_by_key_words(key_words, kn_ids) if not text.strip() or "未找到" in text: return { "success": False, "topic": "共育室基本知识", "result": None, "error": f"未找到与关键词 '{key_words}' 相关的共育室知识。", } return { "success": True, "topic": "共育室基本知识", "result": text, "error": None, } except Exception as e: logger.exception("❌ 共育室知识查询出错") return { "success": False, "topic": "共育室基本知识", "result": None, "error": str(e), }