diff --git a/mcp-servers-1.0.1.tar.gz b/mcp-servers-1.0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..ad4f87f13c6fce7dff5c6f1175c4760efcfdb6b5 Binary files /dev/null and b/mcp-servers-1.0.1.tar.gz differ diff --git a/mcp-servers.spec b/mcp-servers.spec new file mode 100644 index 0000000000000000000000000000000000000000..86878c2d9bd6b8ceb241e20a092e6309f6cc63a6 --- /dev/null +++ b/mcp-servers.spec @@ -0,0 +1,285 @@ +Name: mcp-servers +Version: 1.0.1 +Release: 1 +Summary: openEuler MCP Servers collection +License: MIT +URL: https://gitee.com/openeuler/mcp-servers +Source0: mcp-servers-%{version}.tar.gz +BuildArch: noarch + +# 公共依赖(移除了jq依赖) +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-babel +Requires: python3 +Requires: uv +Requires: python3-mcp + +%package rpm-builder +Summary: MCP server for building rpm packages +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: rpm-build + +%package oeGitExt +Summary: MCP server for oeGitExt +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: oegitext + +%package git-mcp +Summary: MCP server for Git repository operations +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: git +Requires: oegitext + +%package ccb_mcp +Summary: EulerMaker ccb MCP Server +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: ccb + +%package oeDeploy +Summary: MCP server for oeDeploy +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: oedp +%package cvekit +Summary: MCP server for cvekit +Requires: %{name} = %{version}-%{release} +Requires: python3 +Requires: uv +Requires: python3-mcp +Requires: git +Requires: patch +Requires: oegitext + +%description +Collection of openEuler MCP Servers providing various capabilities. + +%description rpm-builder +Provides MCP tools for building and packaging rpm packages. + +%description oeGitExt +Provides MCP tools for oeGitExt. + +%description git-mcp +Provides MCP tools for interacting with Git repositories, +including clone, pull, push and branch management. + +%description ccb_mcp +MCP Server for interacting with EulerMaker using ccb commands. +Provides tools for project management, package building and deployment in EulerMaker. + +%description oeDeploy +Provides MCP tools for oeDeploy. + +%description cvekit +CVE remediation process automation tool, providing CVE analysis, patch adaptation, and other functions + +%prep +%autosetup -n %{name}-%{version} + +%build +python3 -c """ +from babel.messages.frontend import main +main() +""" compile -d servers/cvekit_mcp/src/cvekit/locales + +%install +mkdir -p %{buildroot}/opt/mcp-servers/servers + +for server in rpm-builder_mcp oeGitExt_mcp git_mcp ccb_mcp oeDeploy_mcp cvekit_mcp; do + mkdir -p %{buildroot}/opt/mcp-servers/servers/$server/src + cp -r servers/$server/src/* %{buildroot}/opt/mcp-servers/servers/$server/src/ || : + cp servers/$server/mcp_config.json %{buildroot}/opt/mcp-servers/servers/$server/ || : + cp servers/$server/src/requirements.txt %{buildroot}/opt/mcp-servers/servers/$server/src/ || : +done + +%post +# 主包%post只处理公共目录权限设置 +find /opt/mcp-servers -type d -exec chmod 755 {} \; + +%post rpm-builder +# 为rpm-builder创建虚拟环境 +uv venv /opt/mcp-servers/servers/rpm-builder_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv + +if [ -f /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/rpm-builder_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/rpm-builder_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/rpm-builder_mcp/.venv + find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/rpm-builder_mcp/.venv -type f -exec chmod 644 {} \; +fi + +%postun rpm-builder +# 卸载时清理虚拟环境 +rm -rf "/opt/mcp-servers/servers/rpm-builder_mcp/.venv" + +%post oeGitExt +# 为oeGitExt创建虚拟环境 +uv venv /opt/mcp-servers/servers/oeGitExt_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv + +if [ -f /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/oeGitExt_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/oeGitExt_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/oeGitExt_mcp/.venv + find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/oeGitExt_mcp/.venv -type f -exec chmod 644 {} \; +fi + +%postun oeGitExt +# 卸载时清理虚拟环境 +rm -rf "/opt/mcp-servers/servers/oeGitExt_mcp/.venv" + +%post git-mcp +# 为git-mcp创建虚拟环境 +uv venv /opt/mcp-servers/servers/git_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv + +if [ -f /opt/mcp-servers/servers/git_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/git_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/git_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/git_mcp/.venv + find /opt/mcp-servers/servers/git_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/git_mcp/.venv -type f -exec chmod 644 {} \; +fi + +%postun git-mcp +# 卸载时清理虚拟环境 +rm -rf "/opt/mcp-servers/servers/git_mcp/.venv" + +%post ccb_mcp +# 为ccb_mcp创建虚拟环境 +uv venv /opt/mcp-servers/servers/ccb_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/ccb_mcp/.venv + +if [ -f /opt/mcp-servers/servers/ccb_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/ccb_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/ccb_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/ccb_mcp/.venv + find /opt/mcp-servers/servers/ccb_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/ccb_mcp/.venv -type f -exec chmod 644 {} \; +fi + +%postun ccb_mcp +# 卸载时清理虚拟环境 +rm -rf "/opt/mcp-servers/servers/ccb_mcp/.venv" + +%post oeDeploy +# 为oeDeploy创建虚拟环境 +uv venv /opt/mcp-servers/servers/oeDeploy_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv + +if [ -f /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/oeDeploy_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/oeDeploy_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/oeDeploy_mcp/.venv + find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/oeDeploy_mcp/.venv -type f -exec chmod 644 {} \; +fi + +%postun oeDeploy +# 卸载时清理虚拟环境 +rm -rf "/opt/mcp-servers/servers/oeDeploy_mcp/.venv" + +%post cvekit +# 为cvekit创建虚拟环境 +uv venv /opt/mcp-servers/servers/cvekit_mcp/.venv --python /bin/python3 --system-site-packages +chmod -R 755 /opt/mcp-servers/servers/cvekit_mcp/.venv + +if [ -f /opt/mcp-servers/servers/cvekit_mcp/src/requirements.txt ]; then + /opt/mcp-servers/servers/cvekit_mcp/.venv/bin/python -m pip install \ + -r /opt/mcp-servers/servers/cvekit_mcp/src/requirements.txt \ + -i https://mirrors.huaweicloud.com/repository/pypi/simple + + chmod -R 755 /opt/mcp-servers/servers/cvekit_mcp/.venv + find /opt/mcp-servers/servers/cvekit_mcp/.venv -type d -exec chmod 755 {} \; + find /opt/mcp-servers/servers/cvekit_mcp/.venv -type f -exec chmod 644 {} \; +fi + +pushd /opt/mcp-servers/servers/cvekit_mcp/src +source ../.venv/bin/activate +python setup.py install +popd + +%postun cvekit +# 卸载时清理MCP配置和虚拟环境 +rm -rf "/opt/mcp-servers/servers/cvekit_mcp/.venv" +if [ -e /opt/mcp-servers/servers/cvekit_mcp/src ]; then + rm -rf "/opt/mcp-servers/servers/cvekit_mcp/src/*" +fi + +%files +/opt/mcp-servers/servers/ +%defattr(-,root,root,-) + +%files rpm-builder +/opt/mcp-servers/servers/rpm-builder_mcp/* +%defattr(-,root,root,-) + +%files oeGitExt +/opt/mcp-servers/servers/oeGitExt_mcp/* +%defattr(-,root,root,-) + +%files git-mcp +/opt/mcp-servers/servers/git_mcp/* +%defattr(-,root,root,-) + +%files ccb_mcp +/opt/mcp-servers/servers/ccb_mcp/* +%defattr(-,root,root,-) + +%files oeDeploy +/opt/mcp-servers/servers/oeDeploy_mcp/* +%defattr(-,root,root,-) + +%files cvekit +/opt/mcp-servers/servers/cvekit_mcp/* +%defattr(-,root,root,-) + +%changelog +* Thu Oct 09 2025 Wang Kui - 1.0.1-1 +- change cvekit commit message + +* Wed Aug 27 2025 liuhan <1220812196@qq.com> - 1.0.0-6 +- Fix the missing instructions related to the cvekit package in the spec script + +* Thu Aug 21 2025 liuhan <1220812196@qq.com> - 1.0.0-5 +- Unified MCP directory format issue + +* Wed Aug 13 2025 Wang Kui - 1.0.0-4 +- add cvekit + +* Fri Jun 6 2025 lizixin <2271170409@qq.com> - 1.0.0-3 +- Fix installation failure when directory doesn't exist + +* Mon May 26 2025 lizixin <2271170409@qq.com> - 1.0.0-2 +- update spec file + +* Fri May 16 2025 openEuler MCP Team <2271170409@qq.com> - 1.0.0-1 +- Initial package with all MCP servers +