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:
- Documentation
- Community events
- 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 maintainerquery_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.,
ai→AI) - 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 namepage(number, optional): Page number, default is 1page_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 keywordquery_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?”
Tip: The AI assistant will automatically select the appropriate tool based on the tool descriptions.