openEuler Portal MCP Server released, welcome everyone to try it out and share your feedback

Recently, an openEuler MCP server has been developed, providing query capabilities for information from the official openEuler website. The project is still under active iteration—welcome to try it out and share your feedback!


About MCP

What is Model Context Protocol?

Imagine using an AI assistant that doesn’t just answer questions, but can also query databases, call APIs, and access file systems in real time. That’s exactly what the Model Context Protocol (MCP) is designed for. Introduced by Anthropic, MCP is an open protocol aimed at breaking down the barriers between AI and the external world.

Traditionally, each AI application required custom integration for different data sources—time-consuming and hard to maintain. MCP offers a unified standard, enabling AI assistants to connect to various tools and services in a consistent way. More importantly, MCP uses a client-server architecture where all data access happens locally or within controlled environments. This means you retain full control over what data the AI can access—no risk of sensitive data leaking to the cloud.

Why Do We Need an openEuler Portal MCP Server?

The openEuler community is a vast open-source ecosystem, featuring over a hundred SIGs (Special Interest Groups), countless software packages, technical documentation, and security advisories. When you want to know things like “Who maintains a certain SIG?” “Which versions are affected by a specific CVE?” or “How to download the aarch64 ISO image?”, you often have to jump between multiple pages manually.

Now, with the openEuler Portal MCP Server, you can get this information directly through natural language conversations with your AI assistant. Just ask in plain language, and the AI will automatically invoke the appropriate tool to retrieve accurate, real-time data from the official openEuler website. Whether you’re checking SIG leadership, searching for security vulnerabilities, finding download links, or learning about community members, everything becomes simpler and more efficient.


Features

The server provides 4 tool functions, automatically selecting the right one based on your query.

Tool List

Tool Name Function Name Description Key Parameters Use Cases
SIG Information Query get_sig_info Retrieve detailed information about openEuler SIGs, supporting intelligent queries sig_name (required), query_type (optional) Find SIG maintainers, repositories, contributors; discover which SIG a repository or maintainer belongs to
CVE Security Advisory Query get_cve_info Retrieve openEuler CVE security advisory details keyword (required), page, page_size Search for security vulnerabilities, CVE details, or package-specific security issues
Download Information Query get_download_info Query download links, mirror sites, and version lists query (required), query_type (optional) Download ISO images, find mirror sites, check available versions
Organization Information Query get_organization_info Retrieve openEuler community organizational structure and member info query (required) Find committee or working group members, explore community roles

Next steps include ongoing iteration and expanding support to:

  1. Documentation
  2. Community events
  3. Package search

Supported AI Clients

This MCP Server is compatible with any client that supports the MCP protocol, including but not limited to:

  • Claude Code: Anthropic’s official application, natively supports MCP
  • Cursor: AI-powered code editor, popular among developers
  • Cline: AI assistant extension for VS Code
  • Trae-CN: A top-tier domestic AI development tool

With simple configuration, these tools can gain access to openEuler community data.


Environment Requirements

The project requires the following environment:

  • Node.js: >= 18.0.0 (LTS version recommended)
    • This project uses ES Modules, so Node.js 18 or higher is required
    • Download: https://nodejs.org/
  • npm: >= 9.0.0 (installed automatically with Node.js)

Check current versions:

node --version
npm --version

Installation

Method 1: Using npx

npx will automatically download and run the package on first use—no manual install needed. It runs automatically when the MCP client starts.

Note: The first startup requires internet access to download the package; subsequent runs use cached versions.

Method 2: Global Installation

npm install -g openeuler-portal-mcp

Configuration

Claude Code (Terminal CLI)

Edit the config file:

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

Using npx:

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

Using global install:

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

Cursor

Add the following in Cursor’s MCP configuration:

Using npx:

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

Using global install:

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

Cline (VS Code Extension)

Configure MCP servers in VS Code settings:

Using npx:

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

Using global install:

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

Trae-CN

Configure MCP servers in Trae settings:

Using npx:

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

Using global install:

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

Detailed Function Descriptions

1. SIG Information Query (get_sig_info)

Retrieve detailed information about openEuler Special Interest Groups (SIGs), or find which SIG a repository or maintainer belongs to.

When to use:

  • User asks about a specific SIG’s details, maintainers, or repositories
  • User mentions a known SIG name (e.g., Kernel, ai, Compiler)
  • User wants to know which SIG a repository belongs to
  • User wants to find out which SIG a maintainer participates in

Parameters:

  • sig_name (string, required): Search keyword—can be a SIG name, repository name, or Gitee ID of a maintainer
  • query_type (string, optional): Query type, default is "sig" (intelligent mode)
    • "sig": Intelligent mode—automatically tries SIG → repository → maintainer
    • "repos": Only query repositories belonging to a SIG
    • "maintainer": Only query SIGs a maintainer belongs to

Features:

  • Intelligent detection: Automatically identifies input type—no need to specify mode
  • Fuzzy search: Supports case variations (e.g., aiAI)
  • Multi-type support: Query SIGs, repositories, or maintainers

Returned Info:

  • SIG basic info (name, description, mailing list)
  • Maintainer list with details
  • Repository list (up to 20 shown)
  • Committer statistics (top 10 active contributors)
  • Branch management info (top 3 branch groups)

Example Questions:

  • “Who maintains the Kernel SIG?”
  • “What repositories does the ai SIG manage?”
  • “Which SIGs does the kernel repository belong to?”
  • “Which SIGs is maintainer gzbang involved in?”

2. CVE Security Advisory Query (get_cve_info)

Query openEuler CVE (Common Vulnerabilities and Exposures) security advisory information.

When to use:

  • User asks about security vulnerabilities or CVE details
  • User wants to know about security issues in a specific package
  • User is looking up a specific CVE ID

Parameters:

  • keyword (string, required): Search term—can be a CVE ID or package name
  • page (number, optional): Page number, default is 1
  • page_size (number, optional): Records per page, default is 20 (max 1000)

Returned Info:

  • CVE ID (vulnerability identifier)
  • Summary (description of the vulnerability)
  • CVSS score (severity level)
  • Status (e.g., fixed, under investigation)
  • Publication and update timestamps
  • Affected products and packages
  • Security advisory number

Example Questions:

  • “Find CVEs related to kernel”
  • “What security issues does openssl have?”
  • “What is the detailed info for CVE-2024-1234?”

3. Download Information Query (get_download_info)

Query openEuler download links, mirror sites, and version information.

When to use:

  • User wants to download an openEuler ISO image
  • User asks for download links of a specific version
  • User wants to find mirror sites
  • User wants to know available versions

Parameters:

  • query (string, required): Search keyword
  • query_type (string, optional): Query type, default is "auto"
    • "auto": Auto-detect—supports version numbers and fuzzy search
    • "mirrors": Query mirror site list
    • "versions": List all available versions

Features:

  • Intelligent detection: Automatically recognizes version numbers or keywords
  • Fuzzy search: Finds matching files across multiple versions
  • Mirror list: Displays global mirror site info (URL, country, bandwidth)
  • Version list: Shows all available openEuler versions

Returned Info:

  • ISO filename, size, download path
  • SHA256 checksum
  • Supported architectures (aarch64, x86_64, etc.)
  • Mirror site URL, country, bandwidth
  • Version number, LTS status, supported architectures

Example Questions:

  • “Where can I download openEuler-24.03-LTS?”
  • “Find openEuler mirror sites”
  • “What openEuler versions are available?”
  • “Find aarch64 ISO images”

4. Organization Information Query (get_organization_info)

Query openEuler community organizational structure and member information.

When to use:

  • User asks about community structure
  • User wants to know about committees or working groups
  • User wants to find community members and their roles

Parameters:

  • query (string, required): Search keyword

Example Questions:

  • “What committees exist in openEuler?”
  • “Who are the members of the Technical Committee?”

:light_bulb: Tip: The AI assistant will automatically select the appropriate tool based on the tool descriptions.

:relieved_face: It’s indeed much more convenient to look up frequently used information now.

The rc version has been released, featuring information queries in 8 new scenarios, and supports scheduling meetings, replying to posts, and commenting on PRs. Welcome to try it out!