From c228cc0f7ecbad469eb2b51bc383bf12e5cb5ce9 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 11:35:35 +0800 Subject: [PATCH 1/8] =?UTF-8?q?mcpserver=E7=9A=84=E5=90=AF=E5=8A=A8?= =?UTF-8?q?=E6=B3=A8=E5=86=8Ctool?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/servers/oe_cli_mcp_server/mcp_server/mcp_manager.py | 2 ++ 1 file changed, 2 insertions(+) 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 4aff412229..811b9ae3c6 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) -- Gitee From 1bb2ea13a472043f2aa3c2a7d9878d51b7974f56 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 11:37:33 +0800 Subject: [PATCH 2/8] =?UTF-8?q?mcp=5Fcenter=E7=A7=BB=E9=99=A4pip=E5=AE=89?= =?UTF-8?q?=E8=A3=85=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/run.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/mcp_center/run.sh b/mcp_center/run.sh index 5ccc1cb1c3..ee3a1ec073 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 -- Gitee From c31be00fd6c1c72a5c059fc247c9a237736ad547 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 11:44:59 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=88=A0=E9=99=A4mcp=5Fcenter/requirements?= =?UTF-8?q?.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/requirements.txt | 1 - 1 file changed, 1 deletion(-) delete mode 100644 mcp_center/requirements.txt diff --git a/mcp_center/requirements.txt b/mcp_center/requirements.txt deleted file mode 100644 index 3cad3f2889..0000000000 --- a/mcp_center/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -scp == 0.15.0 \ No newline at end of file -- Gitee From 9f439d77b5e7a225eac25f9341bd6a5c95ca3bad Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 12:56:53 +0800 Subject: [PATCH 4/8] =?UTF-8?q?oe-cli-mcp-server=E7=9A=84requirements?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oe_cli_mcp_server/requirements.txt | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/mcp_center/servers/oe_cli_mcp_server/requirements.txt b/mcp_center/servers/oe_cli_mcp_server/requirements.txt index c8ab58c227..ef76353342 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.10.6 +mcp==1.9.4 \ No newline at end of file -- Gitee From 0ef95b25968620bf13eb9e46c9b2af06783293c4 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 13:00:55 +0800 Subject: [PATCH 5/8] =?UTF-8?q?oe-cli-mcp-server=E7=9A=84requirements?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/servers/oe_cli_mcp_server/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mcp_center/servers/oe_cli_mcp_server/requirements.txt b/mcp_center/servers/oe_cli_mcp_server/requirements.txt index ef76353342..ec4588df18 100644 --- a/mcp_center/servers/oe_cli_mcp_server/requirements.txt +++ b/mcp_center/servers/oe_cli_mcp_server/requirements.txt @@ -3,8 +3,8 @@ 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 +fastapi==0.115.12 +uvicorn==0.34.0 requests==2.31.0 pydantic==2.10.6 mcp==1.9.4 \ No newline at end of file -- Gitee From 8d60f7a52d63a34b33f9a7c96d002cef347a6f44 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 14:55:38 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E5=8A=A0?= =?UTF-8?q?=E5=85=A5=E5=88=B0oe-=E6=99=BA=E8=83=BD=E8=BF=90=E7=BB=B4?= =?UTF-8?q?=E5=8A=A9=E6=89=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/mcp_config/mcp_to_app_config.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mcp_center/mcp_config/mcp_to_app_config.toml b/mcp_center/mcp_config/mcp_to_app_config.toml index 91c7d34767..5c11283cbf 100644 --- a/mcp_center/mcp_config/mcp_to_app_config.toml +++ b/mcp_center/mcp_config/mcp_to_app_config.toml @@ -4,5 +4,8 @@ name = "OE-智能运维助手" description = "提供通用文件管理,软件包管理,系统信息查询,进程管理,系统调优功能" mcpPath = [ "mcp_server_mcp", + "rag_mcp" ] published = true + + -- Gitee From a9d6d5055a350a6f4e8a9fd2aa6a0ab9579f85d7 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 15:08:12 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E4=BE=9D=E8=B5=96=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcp_tools/base_tools/network_tools/deps.toml | 6 ------ .../mcp_tools/base_tools/ssh_fix_tool/deps.toml | 6 ------ mcp_center/servers/oe_cli_mcp_server/requirements.txt | 4 ++-- 3 files changed, 2 insertions(+), 14 deletions(-) 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 e1caabcf2c..3dbbbbb928 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/ssh_fix_tool/deps.toml b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/deps.toml index 48402d5d42..23eff894ad 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/requirements.txt b/mcp_center/servers/oe_cli_mcp_server/requirements.txt index ec4588df18..1fc467fede 100644 --- a/mcp_center/servers/oe_cli_mcp_server/requirements.txt +++ b/mcp_center/servers/oe_cli_mcp_server/requirements.txt @@ -6,5 +6,5 @@ toml == 0.10.2 fastapi==0.115.12 uvicorn==0.34.0 requests==2.31.0 -pydantic==2.10.6 -mcp==1.9.4 \ No newline at end of file +pydantic==2.11.7 +mcp==1.17.0 \ No newline at end of file -- Gitee From b44ba26d31c3726a8ddf89d6f6d03a7f17b52dc8 Mon Sep 17 00:00:00 2001 From: cui-gaoleng <562344211@qq.com> Date: Tue, 9 Dec 2025 16:13:28 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dnetwork=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=92=8Cssh=5Ffix=5Ftool?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcp_center/mcp_config/mcp_to_app_config.toml | 2 +- .../base_tools/network_tools/base.py | 3 +-- .../base_tools/network_tools/tool.py | 2 +- .../mcp_tools/base_tools/ssh_fix_tool/base.py | 2 +- .../mcp_tools/base_tools/ssh_fix_tool/tool.py | 2 +- mcp_center/servers/oe_cli_mcp_server/run.sh | 20 ++++++++++++++----- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/mcp_center/mcp_config/mcp_to_app_config.toml b/mcp_center/mcp_config/mcp_to_app_config.toml index 5c11283cbf..4857c6dddb 100644 --- a/mcp_center/mcp_config/mcp_to_app_config.toml +++ b/mcp_center/mcp_config/mcp_to_app_config.toml @@ -1,7 +1,7 @@ [[applications]] appType = "agent" name = "OE-智能运维助手" -description = "提供通用文件管理,软件包管理,系统信息查询,进程管理,系统调优功能" +description = "提供通用文件管理,软件包管理,系统信息查询,进程管理,知识库系统,运维场景修复" mcpPath = [ "mcp_server_mcp", "rag_mcp" 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 1d27e96330..4ac62a7393 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/tool.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/network_tools/tool.py index d53162bb36..94fb8a156d 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 83a6bce5fe..1d06d15e42 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/tool.py b/mcp_center/servers/oe_cli_mcp_server/mcp_tools/base_tools/ssh_fix_tool/tool.py index e9d04269b0..d8a045621b 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/run.sh b/mcp_center/servers/oe_cli_mcp_server/run.sh index c6e98c31d2..a5df71b836 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 -- Gitee