mcp-servers (openeuler-mirror/mcp-servers) is an MCP server listed on the M8ven Trust Index. It scores 49 out of 100, grade D. It declares 375 tools. No publisher has claimed this listing.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

openeuler-mirror

Source: github_repo_search

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
🚨
Secret credentials may flow to a network call
1 flow detected: GITEE_PERSONAL_ACCESS_TOKEN. We can’t prove the destination matches the brand the credential belongs to.
⚠️
Tool descriptions don’t match what handlers do
4 tools describe read intent but their handlers mutate — view_report (line 126: aide_result = subprocess.run(aide_cmd, capture_output=True, text=True)); list_logs (line 43: result = subprocess.run(["ls", "/var/log"],); view_log (line 61: result = subprocess.run(["tail", f"-n{lines}", log_path],)
🔐
You'll be asked for 12 credentials: API_KEY, OPENAI_KEY, GITEE_PERSONAL_ACCESS_TOKEN, GITCODE_TOKEN, GITEE_TOKEN, GITEE_WEBHOOK_TOKEN, GITCODE_WEBHOOK_TOKEN, GITCODE_ACCESS_TOKEN, GITEE_ACCESS_TOKEN, MIGRATE_WEBHOOK_TOKEN, SILICONFLOW_API_KEY, OPENAI_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes371 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

list_edge_devices

列出所有边缘设备

add_edge_device

添加新的边缘设备

remove_edge_device

移除边缘设备

get_edge_device_info

获取边缘设备信息

update_edge_device_config

更新边缘设备配置

restart_edge_device

重启边缘设备

deploy_edge_application

在边缘设备上部署应用

list_edge_applications

列出边缘设备上的应用

get_edge_network_status

获取边缘网络状态

conda_activate

激活conda环境

conda_deactivate

退出当前conda环境

conda_install

安装conda包

conda_list

列出已安装的包

conda_create

创建新的conda环境

conda_env_list

列出所有conda环境

conda_update

更新conda包

generate_docs

生成API文档 :param project_path: 项目路径 :param doc_type: 文档类型 (doxygen|sphinx) :return: 生成结果

get_metrics

获取应用程序性能指标

setup_monitoring

设置应用程序性能监控

configure

配置CMake项目 :param project_path: 项目路径 :param build_type: 构建类型(Debug|Release) :param build_dir: 构建目录名 :return: 配置结果

build

构建项目 :param project_path: 项目路径 :param build_dir: 构建目录名 :param target: 构建目标(可选) :return: 构建结果

redis

执行Redis命令 :param command: Redis命令字符串 :return: 执行结果

memcached

执行Memcached命令 :param command: Memcached命令字符串 :return: 执行结果

install

安装构建目标 :param project_path: 项目根目录路径 :param build_dir: 构建目录名称 :param prefix: 安装前缀路径(可选) :return: 执行结果字典

clean

清理构建目录 :param project_path: 项目根目录路径 :param build_dir: 构建目录名称 :return: 执行结果字典

analyze_code

静态分析指定代码文件 :param file_path: 要分析的文件路径 :return: 分析结果(JSON格式)

analyze_project

分析整个项目目录的代码 :param dir_path: 项目目录路径 :return: 分析结果(JSON格式)

search_code

在指定路径下搜索代码 :param search_term: 要搜索的内容 :param path: 搜索路径(默认为当前目录) :param file_type: 文件类型过滤(如.py,.js等) :return: 搜索结果(JSON格式)

analyze_compile_log

分析编译日志 :param log: 编译日志内容或文件路径 :return: 结构化的错误和警告信息

compare_configs

比较两个配置文件的差异

sync_configs

同步配置文件

parse_config

解析配置文件(支持JSON/YAML/INI)

convert_image_format

转换容器镜像格式 :param source: 源镜像地址 :param destination: 目标镜像地址 :param src_format: 源镜像格式(可选) :param dest_format: 目标镜像格式(可选) :return: 转换结果(JSON格式)

push_image_to_registry

推送镜像到仓库 :param image: 本地镜像名称 :param registry: 目标仓库地址 :param tag: 镜像标签 :param authfile: 认证文件路径(可选) :return: 推送结果(JSON格式)

compose_up

启动docker-compose服务 示例用法: 1. 启动默认的docker-compose.yml文件 2. 启动指定路径的compose文件: /path/to/docker-compose.yml

compose_down

停止并移除docker-compose服务 示例用法: 1. 停止默认的docker-compose.yml文件定义的服务 2. 停止指定路径的compose文件定义的服务: /path/to/docker-compose.yml

add_cron_job

添加新的cron任务

remove_cron_job

删除匹配的cron任务

list_cron_jobs

列出所有cron任务

edit_cron_job

编辑现有的cron任务

build_rpm_package

构建RPM包 :param source_dir: 源代码目录路径 :param package_name: 包名 :param version: 版本号 :return: 构建结果(JSON格式)

build_deb_package

构建DEB包 :param source_dir: 源代码目录路径 :param package_name: 包名 :param version: 版本号 :return: 构建结果(JSON格式)

build_with_checkinstall_tool

使用checkinstall构建安装包 :param source_dir: 源代码目录路径 :param package_name: 包名 :param version: 版本号 :return: 构建结果(JSON格式)

run_tests

运行CMake测试套件 示例用法: 1. 运行所有测试: run_tests build_dir=/path/to/build 2. 运行特定测试: run_tests build_dir=/path/to/build tests=["test1","test2"] 3. 并行运行测试: run_tests build_dir=/path/to/build parallel=4

list_tests

列出所有可用测试 示例用法: 1. 列出测试: list_tests build_dir=/path/to/build 2. 详细列表: list_tests build_dir=/path/to/build verbose=true

test_coverage

生成测试覆盖率报告 示例用法: 1. 生成覆盖率: test_coverage build_dir=/path/to/build 2. 指定输出文件: test_coverage build_dir=/path/to/build output_file=coverage.xml

start_debug_session

启动调试会话 示例用法: 1. 启动一个调试会话,使用默认端口5678 2. 启动一个调试会话,指定端口为6789并等待客户端连接 注意: - 每个会话ID必须唯一 - 默认最多同时运行5个调试会话(可通过MAX_DEBUG_SESSIONS配置)

stop_debug_session

停止调试会话 示例用法: 1. 停止ID为test_session的调试会话

analyze_logs

分析日志数据 示例用法: 1. 分析给定的日志数据,统计错误和警告数量 2. 使用自定义模式分析日志中的特定错误 返回: - error_count: 错误数量 - warning_count: 警告数量 - patterns_found: 匹配到的自定义模式数量

get_performance_stats

获取系统性能统计 示例用法: 1. 获取基本性能统计 2. 获取详细性能统计 返回: - cpu_percent: CPU使用率 - memory_usage: 内存使用率 - disk_usage: 磁盘使用率 - (详细模式下)各进程资源占用

deb_to_rpm

将deb包转换为rpm包 Args: deb_path: deb包路径 output_dir: 输出目录(可选) Returns: dict: 转换结果(JSON格式)

analyze_rpm_deps

分析RPM包的依赖关系 :param package: 要分析的RPM包名 :return: 依赖关系(JSON格式)

analyze_pip_deps

分析Python pip包的依赖关系 :param package: 要分析的Python包名 :return: 依赖关系(JSON格式)

discount_makepage_version

获取 discount-makepage 命令的版本信息 返回: dict: 包含命令执行结果的统一 JSON 结构

discount_makepage_convert

使用 discount-makepage 将 Markdown 文件转换为 HTML 参数: input_file: 输入的 Markdown 文件路径 flags: 可选的处理标志(如 "-f", "-flags" 等) output_links: 是否输出链接信息 返回: dict: 包含命令执行结果的统一 JSON 结构

discount_mkd2html_convert

使用 discount-mkd2html 将 Markdown 文件转换为 HTML,支持添加页眉、页脚和 CSS 参数: input_file: 输入的 Markdown 文件路径 header: 可选的页眉内容文件路径 footer: 可选的页脚内容文件路径 css: 可选的 CSS 样式文件路径 返回: dict: 包含命令执行结果的统一 JSON 结构

discount_theme_version

获取 discount-theme 命令的版本信息 返回: dict: 包含命令执行结果的统一 JSON 结构

discount_theme_convert

使用 discount-theme 将 Markdown 文件转换为 HTML,支持主题功能 参数: input_file: 输入的 Markdown 文件路径 output_file: 可选的输出文件路径(使用 -o 参数) flags: 可选的处理标志(如 "-f", "-C", "-E" 等) css_file: 可选的 CSS 主题文件路径(使用 -t 参数) prefix: 可选的前缀内容(使用 -p 参数) 返回: dict: 包含命令执行结果的统一 JSON 结构

markdown_version

获取 markdown 命令的版本信息 返回: dict: 包含命令执行结果的统一 JSON 结构

markdown_convert_basic

使用 markdown 命令进行基本的 Markdown 文件转换 参数: input_file: 输入的 Markdown 文件路径 base_url: 可选的基础 URL(使用 -b 参数) debug: 是否启用调试模式 no_links: 是否禁用链接处理 style: 是否包含样式信息 返回: dict: 包含命令执行结果的统一 JSON 结构

markdown_convert_advanced

使用 markdown 命令进行高级 Markdown 文件转换 参数: input_file: 输入的 Markdown 文件路径 output_file: 可选的输出文件路径(使用 -o 参数) html5: 是否使用 HTML5 输出格式 toc: 是否生成目录 encoding: 可选的编码设置(使用 -E 参数) 返回: dict: 包含命令执行结果的统一 JSON 结构

markdown_convert_string

使用 markdown 命令直接转换 Markdown 字符串(而不是文件) 参数: markdown_text: 要转换的 Markdown 文本内容 text_mode: 是否使用文本模式(-t 参数) 返回: dict: 包含命令执行结果的统一 JSON 结构

create_raid

创建RAID阵列 Args: device: RAID设备路径(如/dev/md0) level: RAID级别(如raid1, raid5等) disks: 要加入RAID的磁盘列表

remove_raid

删除RAID阵列

raid_status

查询RAID状态

add_disk

添加磁盘到RAID阵列

remove_disk

从RAID阵列移除磁盘

df

Show disk filesystem usage

du

Show directory space usage

disk_usage

Get current disk usage information

get_docker_image

统计当前机器上的docker镜像有哪些

get_docker_list

统计当前机器上已有哪些容器

run_docker

运行一个容器 Args: docker_image:容器镜像名称 docker_env:容器运行需要的环境变量,格式为:ENV_EXAMPLE=xxx,需要根据容器镜像灵活添加,默认为空 flexible_para:容器运行时需要的其他参数,可以根据容器镜像要求与用户要求灵活添加,用户不指定就不要添加,保证参数最少,不要添加-d

delete_docker

批量删除容器 Args: docker_id_list:容器id列表,一个id为一个元素

manage_docker

容器批量管理,包括启动,停止,重启 Args: action:动作,启动:start,停止:stop,重启:restart docker_id_list:容器id列表,一个id为一个元素

list_efi_entries

列出所有EFI启动项 Returns: EFI启动项列表信息

create_efi_entry

创建新的EFI启动项 Args: label: 启动项显示名称 disk: 磁盘设备 (如: /dev/sda) partition: 分区号 (如: 1) efi_path: EFI文件路径 (默认: \\EFI\\BOOT\\bootx64.efi) Returns: 操作结果信息

delete_efi_entry

删除指定的EFI启动项 Args: bootnum: 启动项编号 (如: Boot0001) Returns: 操作结果信息

set_boot_order

设置EFI启动顺序 Args: boot_order: 启动顺序 (如: 0001,0002,0003) Returns: 操作结果信息

set_next_boot

设置下一次启动的EFI项 Args: bootnum: 启动项编号 (如: Boot0001) Returns: 操作结果信息

get_efi_variables

获取EFI变量信息 Returns: EFI变量信息

probe_video

获取视频文件信息

convert_to_mp4

转换视频到MP4格式(H.264/AAC)

convert_to_webm

转换视频到WebM格式

extract_aac

提取AAC音频流

extract_mp3

提取MP3音频

remove_audio

移除视频中的音频

merge_av

合并视频和音频

init_database

Initialize AIDE/Tripwire database 示例用法: 1. 使用默认配置初始化数据库 2. 使用指定AIDE配置文件初始化: --aide-config /etc/aide/aide.conf 3. 使用指定Tripwire配置文件初始化: --tripwire-config /etc/tripwire/tw.cfg 返回: { "status": "success|error", "message": "执行结果描述", "aide_output": "AIDE输出(成功时)", "tripwire_output": "Tripwire输出(成功时)" }

run_check

Run file integrity check 示例用法: 1. 使用默认配置运行检查 2. 使用指定AIDE配置文件运行检查: --aide-config /etc/aide/aide.conf 3. 使用指定Tripwire配置文件运行检查: --tripwire-config /etc/tripwire/tw.cfg 返回: { "status": "success|error", "aide_output": "AIDE检查结果", "tripwire_output": "Tripwire检查结果" }

view_report

View latest integrity check report 示例用法: 1. 查看最新报告 2. 查看指定AIDE报告文件: --aide-report-file /var/lib/aide/aide.report 3. 查看指定Tripwire报告文件: --tripwire-report-file /var/lib/tripwire/report/twr.txt 返回: { "status": "success|error", "aide_report": "AIDE报告内容", "tripwire_report": "Tripwire报告内容" }

update_database

Update integrity database 示例用法: 1. 更新数据库(根据最新检查结果) 2. 使用指定AIDE配置文件更新: --aide-config /etc/aide/aide.conf 3. 使用指定Tripwire配置文件更新: --tripwire-config /etc/tripwire/tw.cfg 返回: { "status": "success|error", "message": "执行结果描述", "aide_output": "AIDE输出(成功时)", "tripwire_output": "Tripwire输出(成功时)" }

create_filesystem

创建文件系统 Args: device: 设备路径(如/dev/sdb1) fstype: 文件系统类型(ext4/xfs)

mount_filesystem

挂载文件系统 Args: device: 设备路径 mountpoint: 挂载点目录 fstype: 文件系统类型

list_filesystems

列出已挂载的文件系统

fsck

执行文件系统检查与修复 示例用法: 1. 检查/dev/sda1文件系统: fsck device=/dev/sda1 2. 强制检查ext4文件系统: fsck device=/dev/sdb1 fs_type=ext4 force=true 3. 交互式检查: fsck device=/dev/sdc1 interactive=true

mount

挂载文件系统 示例用法: 1. 挂载/dev/sda1到/mnt: mount device=/dev/sda1 mountpoint=/mnt 2. 指定文件系统类型: mount device=/dev/sdb1 mountpoint=/data fs_type=xfs 3. 使用特定选项: mount device=/dev/sdc1 mountpoint=/backup options=ro,noexec

umount

卸载文件系统 示例用法: 1. 卸载/mnt: umount target=/mnt 2. 强制卸载: umount target=/dev/sda1 force=true 3. 延迟卸载: umount target=/data lazy=true

check_disk_space

检查磁盘空间使用情况 示例用法: 1. 检查根分区: check_disk_space 2. 检查/data分区: check_disk_space path=/data 3. 原始数据输出: check_disk_space human_readable=false

repair_filesystem

高级文件系统修复工具 示例用法: 1. 修复ext4文件系统: repair_filesystem device=/dev/sda1 fs_type=ext4 2. 不使用备份超级块: repair_filesystem device=/dev/sdb1 fs_type=xfs backup_superblock=false 3. 交互式修复: repair_filesystem device=/dev/sdc1 fs_type=ext4 interactive=true

271 further tools are not listed here. The complete surface is in the source.

// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
configPYTHONPATH
configLLM_PROVIDER
configLLM_BASE_URL
configBASE_URL
configLLM_MODEL_NAME
configMODEL_NAME
configDEFAULT_MODEL_TYPE
🔐 secretAPI_KEY
🔐 secretOPENAI_KEY
🔐 secretGITEE_PERSONAL_ACCESS_TOKEN
configCVEKIT_GIT_LOCK_WAIT
configCVEKIT_GIT_HISTORY_MAX_COUNT
configCVEKIT_GIT_HISTORY_SINCE
configCVEKIT_GIT_HISTORY_DEEP_MAX_COUNT
configCVEKIT_GIT_HISTORY_SUMMARY_TOP_N
configCVEKIT_PATCH_ALIGN_MAX_REL_DIST
configCVEKIT_PATCH_ALIGN_MAX_ABS_DIST
configDEFAULT_CLONE_DIR
configDEFAULT_CLONE_PATH
configDEFAULT_REPO_URL
configDEFAULT_TARGET_REPO
configDEFAULT_FORK_REPO
configDEFAULT_BRANCHES
configDEFAULT_LOCAL_CONFIG
configOPENAI_API_BASE_URL
configOPENAI_BASE_URL
configTIMEOUT
configA2A_PORT
configSIGNER_NAME
configSIGNER_EMAIL
configA2A_BASE_URL
configGITCODE_API_BASE
🔐 secretGITCODE_TOKEN
configFORK_REPO_URL
configREPO_URL
🔐 secretGITEE_TOKEN
configCLONE_DIR
configBRANCHES
configFIX_BRANCH
configPATCH_DATASET_DIR
configAPP_WORK_DIR
configVENV_PYTHON
configAPP_CLIENT_LOG
🔐 secretGITEE_WEBHOOK_TOKEN
🔐 secretGITCODE_WEBHOOK_TOKEN
🔐 secretGITCODE_ACCESS_TOKEN
🔐 secretGITEE_ACCESS_TOKEN
configGITEE_API_BASE
🔐 secretMIGRATE_WEBHOOK_TOKEN
configDEFAULT_BACKPORT_ENGINE
configA2A_PORT_MYSTIQUE
configA2A_PORT_MYSTIQUE_PIPELINE
configA2A_BASE_URL_MYSTIQUE
configA2A_BASE_URL_MYSTIQUE_PIPELINE
configMYSTIQUE_PIPELINE_CLONE_DIR
configMYSTIQUE_PIPELINE_PROJECT_DIR
configMYSTIQUE_PIPELINE_TARGET_PATH
configTASK_WORKERS
configRESULT_WORKERS
configEDITOR
configCONFLICT_REPORTER_URL
configLINUX_REPO_USE_CACHE_ONLY
🔐 secretSILICONFLOW_API_KEY
configRPMBUILD_PATH
🔐 secretOPENAI_API_KEY
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

389/389 tools missing one or more hints — list_edge_devices (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); add_edge_device (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); remove_edge_device (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +386 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Destructive tools are labelled

9 tools perform destructive updates without destructiveHint — perf_collect_tool deletes at line 244 (os.remove(perf_data_path)); 火焰图转换工具 deletes at line 466 (shutil.rmtree(FLAMEGRAPH_DIR)); build_tar deletes at line 56 (tar_path.unlink())

Add destructiveHint:true to any tool whose handler calls .delete(), .upsert(), .update(), unlink, rm, DELETE, DROP, REPLACE INTO, or any operation that overwrites existing data.

Descriptions match behaviour

4 tools describe read intent but their handlers mutate — view_report (line 126: aide_result = subprocess.run(aide_cmd, capture_output=True, text=True)); list_logs (line 43: result = subprocess.run(["ls", "/var/log"],); view_log (line 61: result = subprocess.run(["tail", f"-n{lines}", log_path],)

Rename the tool, rewrite the description, or move the side-effect into a separate clearly-named tool.

Tool test coverage

Only 27/389 tools referenced in tests (7%)

Write tests that reference each tool by name so every tool has at least one test.

Secrets not logged

1 secret value sent to logger.debug

Redact or omit secret values from log output.

Tool description accuracy

4 tools have description/behavior mismatches: view_report: description implies read-only but handler writes/deletes/executes; list_logs: description implies read-only but handler writes/deletes/executes; view_log: description implies read-only but handler writes/deletes/executes

Update tool descriptions to accurately reflect all capabilities — especially write, delete, or execute operations.

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 7 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/openeuler-mirror/mcp-servers?variant=verified)](https://m8ven.ai/mcp/openeuler-mirror/mcp-servers)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: bdd45b89f56ff1752e3d3a906bdd25fb0e2254c4
code hash: b62cbb6b2b72a0bc9431af6d1202d3a0f68ca650a29e755884ce8c1e4a454c47
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client