diff --git a/mcp_center/mcp_config/mcp_to_app_config.toml b/mcp_center/mcp_config/mcp_to_app_config.toml index 91c7d3476790935ad6e395e79a9b48d76aeaefe0..4857c6dddbf91be6730f205e742ddbabfe9d4ad6 100644 --- a/mcp_center/mcp_config/mcp_to_app_config.toml +++ b/mcp_center/mcp_config/mcp_to_app_config.toml @@ -1,8 +1,11 @@ [[applications]] appType = "agent" name = "OE-智能运维助手" -description = "提供通用文件管理,软件包管理,系统信息查询,进程管理,系统调优功能" +description = "提供通用文件管理,软件包管理,系统信息查询,进程管理,知识库系统,运维场景修复" mcpPath = [ "mcp_server_mcp", + "rag_mcp" ] published = true + + diff --git a/mcp_center/requirements.txt b/mcp_center/requirements.txt deleted file mode 100644 index 3cad3f28896d77c110244d098670163309b98855..0000000000000000000000000000000000000000 --- a/mcp_center/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -scp == 0.15.0 \ No newline at end of file diff --git a/mcp_center/run.sh b/mcp_center/run.sh index 5ccc1cb1c34570e8c732cc436904b0abc374f97a..ee3a1ec07338c88a5b54a08d37ff8601e69fa7c6 100755 --- a/mcp_center/run.sh +++ b/mcp_center/run.sh @@ -32,4 +32,3 @@ for service_file in "$SERVICE_DIR"/*.service; do fi done -pip install -r /usr/lib/sysagent/mcp_center/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_server/mcp_manager.py b/mcp_center/servers/oe_cli_mcp_server/mcp_server/mcp_manager.py index 4aff4122298d5845f421538584f1bb68fc52ef8a..811b9ae3c6cd9a92ba3689c8764d5a8da809852a 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_server/mcp_manager.py +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_server/mcp_manager.py @@ -138,6 +138,8 @@ class McpServer(ToolManager): for pkg in self.list_packages(): logger.info(f"包名:{pkg}") self.load(pkg) + if len(self.list_packages()) == 0: + self.load(ToolType.BASE) logger.info(f"MCP 实例初始化完成,已加载 {len(self.list_packages())} 个工具包") # 2. 启动 FastAPI 服务(直接调用实例方法,绑定 self) diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/base.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/base.py index 1d27e96330539fc650997a6155afd556b56c18f3..4ac62a7393993ef047e198f8f46cbca33bb25e1a 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/base.py +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/base.py @@ -4,8 +4,7 @@ from typing import Dict, Optional, List import paramiko -from config.base_config_loader import BaseConfig, LanguageEnum - +from config.public.base_config_loader import BaseConfig, LanguageEnum logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/deps.toml b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/deps.toml index e1caabcf2cdaf7e330607949a8d73d656040c6fa..3dbbbbb928d9278f0dfecc55ddcc2d5f55ca35e8 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/deps.toml +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/deps.toml @@ -7,11 +7,5 @@ [pip] # Python 依赖(与其他 mcptool 保持一致的基础依赖) -paramiko = "==4.0.0" -typing_extensions = "==4.12.2" -psutil = "==7.0.0" -toml = "==0.10.2" -mcp = "==1.9.4" -scp = "==0.15.0" diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/tool.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/tool.py index d53162bb36e5e55d8bbbf1d5eac903bb97170b2d..94fb8a156d771adfb54db81db0dd5be125e30727 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/tool.py +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/tool.py @@ -1,6 +1,6 @@ from typing import Dict, Optional -from config.base_config_loader import LanguageEnum +from config.public.base_config_loader import LanguageEnum from mcp_tools.base_tools.network_tools.base import fix_network_bootproto_issue diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/base.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/base.py index 83a6bce5fe736b4999949672df034a7d541f4b92..1d06d15e421576240b5e87256881229f30c6b6f7 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/base.py +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/base.py @@ -5,7 +5,7 @@ from typing import Dict, Optional, List import paramiko -from config.base_config_loader import BaseConfig, LanguageEnum +from config.public.base_config_loader import BaseConfig, LanguageEnum logger = logging.getLogger(__name__) diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/deps.toml b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/deps.toml index 48402d5d42587b741dadcdc8429b34904b9ea38d..23eff894ad323ef12805d3483a2bc1e724cb0fc7 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/deps.toml +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/deps.toml @@ -7,11 +7,5 @@ [pip] # Python 依赖(与其他 mcptool 保持一致的基础依赖) -paramiko = "==4.0.0" -typing_extensions = "==4.12.2" -psutil = "==7.0.0" -toml = "==0.10.2" -mcp = "==1.9.4" -scp = "==0.15.0" diff --git a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/tool.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/tool.py index e9d04269b064bc5681eed476251b389445ec4609..d8a045621bcbba99e62afad51aee6b5f4606e5ff 100644 --- a/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/tool.py +++ b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/tool.py @@ -1,6 +1,6 @@ from typing import Dict, Optional -from config.base_config_loader import LanguageEnum +from config.public.base_config_loader import LanguageEnum from mcp_tools.base_tools.ssh_fix_tool.base import fix_sshd_issue diff --git a/mcp_center/servers/oe_cli_mcp_server/requirements.txt b/mcp_center/servers/oe_cli_mcp_server/requirements.txt index c8ab58c227db2ff50401b35aecfd284b0fed6e31..1fc467fedeadbcc5a687a8f645b652fbb9bcfc62 100644 --- a/mcp_center/servers/oe_cli_mcp_server/requirements.txt +++ b/mcp_center/servers/oe_cli_mcp_server/requirements.txt @@ -1,11 +1,10 @@ # requirements.txt -paramiko>=3.4.0 -typing_extensions>=4.12.2 -psutil>=7.0.0 -toml>=0.10.2 -mcp>=1.9.4 -scp>=0.15.0 -fastapi>=0.122.0 -uvicorn>=0.38.0 -requests>=2.31.0 -pydantic >=2.7.2 \ No newline at end of file +paramiko==3.4.0 +typing_extensions==4.12.2 +psutil==5.9.5 +toml == 0.10.2 +fastapi==0.115.12 +uvicorn==0.34.0 +requests==2.31.0 +pydantic==2.11.7 +mcp==1.17.0 \ No newline at end of file diff --git a/mcp_center/servers/oe_cli_mcp_server/run.sh b/mcp_center/servers/oe_cli_mcp_server/run.sh index c6e98c31d274950857db12b2d5d6be66fbb10e6b..a5df71b8363768af198457dac1d3e4685420b362 100755 --- a/mcp_center/servers/oe_cli_mcp_server/run.sh +++ b/mcp_center/servers/oe_cli_mcp_server/run.sh @@ -1,3 +1,4 @@ +#!/bin/bash set -e # 关键路径(只改这里就行) @@ -5,13 +6,21 @@ VENV_PATH="/usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/venv/global" REQUIREMENTS="/usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/requirements.txt" PIP_MIRROR="https://pypi.tuna.tsinghua.edu.cn/simple" # 镜像源(保持原有) +# 新增1:安装创建虚拟环境的必需工具(解决隐性创建失败) +yum install -y python3-venv --skip-broken >/dev/null 2>&1 + +# 新增2:创建虚拟环境父目录(避免二级目录创建失败) +mkdir -p $(dirname "$VENV_PATH") >/dev/null 2>&1 + # 1. 没有虚拟环境就创建(新增:--system-site-packages 继承系统 RPM 依赖) -if [ ! -d "$VENV_PATH" ]; then - echo "=== 未找到虚拟环境,创建并继承系统 RPM 依赖 ===" +if [ ! -d "$VENV_PATH" ] || [ ! -f "$VENV_PATH/bin/activate" ]; then # 新增:检查环境完整性 + echo "=== 未找到虚拟环境或环境不完整,创建并继承系统 RPM 依赖 ===" + rm -rf "$VENV_PATH" # 删除损坏目录 python3 -m venv "$VENV_PATH" --system-site-packages + chmod -R 755 "$VENV_PATH" # 新增:赋予执行权限 echo "虚拟环境创建成功:$VENV_PATH" else - echo "=== 虚拟环境已存在:$VENV_PATH ===" + echo "=== 虚拟环境已存在且完整:$VENV_PATH ===" fi # 2. 激活虚拟环境 @@ -60,11 +69,12 @@ echo -e "\n=== 环境配置完成!===" # 3. 部署systemd服务 cp /usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/mcp-server.service /etc/systemd/system/ +# 新增:替换服务文件中的 Python 路径(确保与虚拟环境一致) +sed -i "s|ExecStart=.*python|ExecStart=$VENV_PATH/bin/python|" /etc/systemd/system/mcp-server.service systemctl daemon-reload systemctl enable mcp-server --now - # 4. 全局命令链接 chmod +x /usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/mcp_server/cli.py rm -f /usr/local/bin/mcp-server -ln -s /usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/mcp_server/cli.py /usr/local/bin/mcp-server +ln -s /usr/lib/sysagent/mcp_center/servers/oe_cli_mcp_server/mcp_server/cli.py /usr/local/bin/mcp-server \ No newline at end of file