openEuler Portal MCP Server

sig-OpenDesign2026-02-03openEuler PortalMCP Server

近日开发了一个openEuler mcp server,提供 openEuler 官网相关信息的查询能力,目前还在持续迭代中,欢迎大家使用并提意见。

关于 MCP

什么是 Model Context Protocol?

想象一下,当你在使用 AI 助手时,它不仅能回答问题,还能实时查询数据库、调用 API、访问文件系统。Model Context Protocol (MCP) 正是为此而生的开放协议,由 Anthropic 推出,旨在打破 AI 与外部世界的壁垒。

传统上,每个 AI 应用都需要为不同的数据源单独开发集成方案,这既耗时又难以维护。MCP 提供了一套统一的标准,让 AI 助手能够以相同的方式连接各种工具和服务。更重要的是,MCP 采用客户端-服务器架构,所有数据访问都在用户本地或受控环境中进行,你完全掌控 AI 能访问什么、不能访问什么,无需担心数据泄露到云端。

为什么需要 openEuler Portal MCP Server?

openEuler 社区是一个庞大的开源生态系统,拥有上百个 SIG 组、海量的软件包、技术文档和安全公告。当你想了解"某个 SIG 的维护者是谁"、"某个 CVE 漏洞影响哪些版本"、"如何下载 aarch64 架构的 ISO 镜像"时,往往需要在多个页面间跳转查找。

现在,通过 openEuler Portal MCP Server,你可以直接在 AI 对话中获取这些信息。只需用自然语言提问,AI 助手就能自动调用合适的工具,从 openEuler 官网实时获取准确的数据并呈现给你。无论是查询 SIG 组织陈冠、检索安全漏洞、获取下载地址,还是了解社区成员信息,都变得前所未有的简单高效。

功能

提供 4 个工具函数,根据问题自动选择合适的工具函数。

工具列表

工具名称函数名功能描述主要参数使用场景
SIG 信息查询get_sig_info查询 openEuler SIG 的详细信息,支持智能查询sig_name (必需), query_type (可选)查询 SIG 维护者、仓库、贡献者;查询仓库/maintainer 所属的 SIG
CVE 安全公告查询get_cve_info查询 openEuler CVE 安全公告信息keyword (必需), page, page_size查询安全漏洞、CVE 详情、软件包安全问题
下载信息查询get_download_info查询下载信息、镜像站点、版本列表query (必需), query_type (可选)下载 ISO 镜像、查询镜像站点、查看可用版本
组织信息查询get_organization_info查询 openEuler 社区组织架构和成员信息query (必需)查询委员会、工作组、社区成员信息

下一步将持续迭代,并扩大支持范围,包括:

  1. 文档
  2. 社区活动
  3. 软件包查询
  4. ...

支持的 AI 客户端

本 MCP Server 兼容支持 MCP 协议的客户端,包括但不限于:

  • Claude Code:Anthropic 官方应用,原生支持 MCP
  • Cursor:AI 驱动的代码编辑器,深受开发者喜爱
  • Cline:VS Code 中的 AI 助手扩展
  • Trae-CN:国内优秀的 AI 开发工具

只需简单配置,就能让这些工具获得访问 openEuler 社区数据的能力。

环境要求

本项目需要以下环境:

  • Node.js: >= 18.0.0(推荐使用 LTS 版本)
    • 本项目使用 ES Modules,需要 Node.js 18 或更高版本
    • 下载地址:https://nodejs.org/
  • npm: >= 9.0.0(随 Node.js 自动安装)

检查当前版本:

bash
node --version
npm --version

安装

方式 1:使用 npx

npx 会在首次使用时自动从 npm 下载包并运行,无需手动执行安装命令。当 MCP 客户端启动时会自动执行。

注意: 首次启动时需要联网下载包,之后会使用缓存。

方式 2:全局安装

bash
npm install -g openeuler-portal-mcp

配置

Claude Code (终端 CLI)

编辑配置文件:

  • macOS/Linux: ~/.claude.json
  • Windows: %USERPROFILE%\.claude.json

使用 npx:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "npx",
      "args": ["-y", "openeuler-portal-mcp"]
    }
  }
}

使用全局安装:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "openeuler-portal-mcp"
    }
  }
}

Cursor

在 Cursor 的 MCP 配置中添加:

使用 npx:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "npx",
      "args": ["-y", "openeuler-portal-mcp"]
    }
  }
}

使用全局安装:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "openeuler-portal-mcp"
    }
  }
}

Cline (VS Code Extension)

在 VS Code 设置中配置 MCP servers:

使用 npx:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "npx",
      "args": ["-y", "openeuler-portal-mcp"]
    }
  }
}

使用全局安装:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "openeuler-portal-mcp"
    }
  }
}

Trae-CN

在 trae 设置中配置 MCP servers:

使用 npx:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "npx",
      "args": ["-y", "openeuler-portal-mcp"]
    }
  }
}

使用全局安装:

json
{
  "mcpServers": {
    "openeuler-portal": {
      "command": "openeuler-portal-mcp"
    }
  }
}

详细功能说明

1. SIG 信息查询 (get_sig_info)

查询 openEuler 特别兴趣小组(SIG)的详细信息,或查询仓库/maintainer 所属的 SIG 组。

何时使用:

  • 用户询问某个 SIG 的信息、维护者、仓库等
  • 用户提到具体的 SIG 名称(如 Kernel、ai、Compiler)
  • 用户想了解某个仓库属于哪些 SIG 组
  • 用户想查询某个 maintainer 参与了哪些 SIG 组

参数:

  • sig_name (string, 必需): 查询关键词,可以是 SIG 名称、仓库名或 maintainer 的 Gitee ID
  • query_type (string, 可选): 查询类型,默认为 "sig"(智能查询)
    • "sig": 智能查询模式,自动按 SIG → 仓库 → maintainer 顺序尝试
    • "repos": 仅查询仓库所属的 SIG 组
    • "maintainer": 仅查询 maintainer 所属的 SIG 组

特性:

  • 智能查询:自动识别输入类型,无需指定查询模式
  • 模糊搜索:支持不同大小写变体(如 ai → AI)
  • 多类型支持:可查询 SIG、仓库、maintainer

返回信息:

  • SIG 基本信息(名称、描述、邮件列表)
  • Maintainers 列表和详细信息
  • 仓库列表(最多显示 20 个)
  • Committers 统计(显示前 10 位活跃贡献者)
  • 分支管理信息(显示前 3 个分支组)

示例问题:

  • "Kernel SIG 的维护者是谁?"
  • "ai SIG 管理哪些仓库?"
  • "kernel 仓库属于哪些 SIG 组?"
  • "gzbang 这个 maintainer 参与了哪些 SIG?"

2. CVE 安全公告查询 (get_cve_info)

查询 openEuler CVE(Common Vulnerabilities and Exposures)安全公告信息。

何时使用:

  • 用户询问安全漏洞、CVE 信息
  • 用户想了解某个软件包的安全问题
  • 用户查询特定 CVE 编号的详情

参数:

  • keyword (string, 必需): 查询关键词,可以是 CVE 编号或软件包名
  • page (number, 可选): 页码,默认为 1
  • page_size (number, 可选): 每页显示记录数,默认 20,最大 1000

返回信息:

  • CVE ID(漏洞编号)
  • 摘要(漏洞描述)
  • CVSS 评分(漏洞严重程度)
  • 状态(如已修复、调查中等)
  • 发布时间和更新时间
  • 受影响的产品和软件包
  • 安全公告编号

示例问题:

  • "查询 kernel 相关的 CVE"
  • "openssl 有哪些安全漏洞?"
  • "CVE-2024-1234 的详细信息"

3. 下载信息查询 (get_download_info)

查询 openEuler 下载信息、镜像仓列表和版本信息。

何时使用:

  • 用户想下载 openEuler ISO 镜像
  • 用户询问某个版本的下载地址
  • 用户想查找镜像站点
  • 用户想了解有哪些可用版本

参数:

  • query (string, 必需): 查询关键词
  • query_type (string, 可选): 查询类型,默认为 "auto"
    • "auto": 自动查询,支持版本号和模糊搜索
    • "mirrors": 查询镜像仓列表
    • "versions": 查询所有可用版本

特性:

  • 智能查询:自动识别版本号或关键词
  • 模糊搜索:在多个版本中查找匹配的文件
  • 镜像列表:显示全球镜像站点信息
  • 版本列表:显示所有可用的 openEuler 版本

返回信息:

  • ISO 文件名、大小、下载路径
  • SHA256 校验码
  • 支持的架构(aarch64、x86_64 等)
  • 镜像站点 URL、国家、带宽
  • 版本号、LTS 状态、支持的架构

示例问题:

  • "openEuler-24.03-LTS 的下载地址"
  • "查询 openEuler 镜像站点"
  • "有哪些 openEuler 版本可用?"
  • "查找 aarch64 架构的 ISO"

4. 组织信息查询 (get_organization_info)

查询 openEuler 社区组织架构和成员信息。

何时使用:

  • 用户询问社区组织结构
  • 用户想了解委员会、工作组信息
  • 用户查询社区成员和角色

参数:

  • query (string, 必需): 查询关键词

示例问题:

  • "openEuler 有哪些委员会?"
  • "技术委员会的成员有谁?"

💡 提示: AI助手会根据工具的描述自动选择合适的工具。


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。