MCP系统核心转储工具

@signal-slot/mcp-systemd-coredump
0 Stars 363 次浏览 signal-slot 更新于 2026-08-23

启用支持MCP的应用程序通过与systemd-coredump功能集成来访问、管理和分析系统核心转储。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

systemd-coredump MCP 服务器

一个用于与 systemd-coredump 功能交互的 Model Context Protocol (MCP) 服务器。这使得支持 MCP 的应用程序能够访问、管理和分析系统核心转储。

npm version

特性

  • 列出系统中所有可用的核心转储
  • 获取特定核心转储的详细信息
  • 将核心转储文件提取到指定位置
  • 从系统中移除核心转储

前提条件

  • Node.js 18+ 和 npm
  • 系统上必须安装并配置好 systemd-coredump
  • 必须可用 coredumpctl 命令行工具

安装

从 npm(推荐)

全局安装

npm install -g @taskjp/server-systemd-coredump

本地安装

npm install @taskjp/server-systemd-coredump

从源码

  1. 克隆仓库或下载源代码
  2. 安装依赖项:
cd systemd-coredump-server
npm install
  1. 构建服务器:
npm run build

配置

将服务器添加到您的 MCP 设置配置文件中:

如果是从 npm 全局安装:

"systemd-coredump": {
  "command": "systemd-coredump-server",
  "args": [],
  "disabled": false,
  "autoApprove": []
}

如果是从 npm 本地安装:

"systemd-coredump": {
  "command": "node",
  "args": ["node_modules/@taskjp/server-systemd-coredump/build/index.js"],
  "disabled": false,
  "autoApprove": []
}

如果是从源码安装:

"systemd-coredump": {
  "command": "node",
  "args": ["/path/to/systemd-coredump-server/build/index.js"],
  "disabled": false,
  "autoApprove": []
}

使用

可用工具

服务器提供以下工具:

  1. list_coredumps: 列出系统中所有可用的 core dump

    {
      "name": "list_coredumps"
    }
    
  2. get_coredump_info: 获取特定 core dump 的详细信息

    {
      "name": "get_coredump_info",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"
      }
    }
    
  3. extract_coredump: 将 core dump 提取到文件

    {
      "name": "extract_coredump",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345",
        "outputPath": "/path/to/output/core.dump"
      }
    }
    
  4. remove_coredump: 从系统中移除一个 core dump

    {
      "name": "remove_coredump",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"
      }
    }
    
  5. get_coredump_config: 获取系统的当前 core dump 配置

    {
      "name": "get_coredump_config"
    }
    

    该工具返回有关当前 core dump 配置的信息,包括:

    • 是否启用了 core dump
    • 当前的核心模式
    • 核心大小限制
    • systemd 是否处理核心转储
  6. set_coredump_enabled: 启用或禁用 core dump 生成

    {
      "name": "set_coredump_enabled",
      "arguments": {
        "enabled": true
      }
    }
    

    enabled 设置为 true 将启用 core dump,而 false 将禁用它们。
    注意:这会更改当前 shell 的 ulimit 设置。对于永久性的系统范围更改,需要 root 权限并修改系统配置文件。

  7. get_stacktrace: 使用 GDB 从 core dump 中获取堆栈跟踪

    {
      "name": "get_stacktrace",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"
      }
    }
    

    该工具使用 GDB 从 core dump 中提取格式化的堆栈跟踪。
    注意:需要在系统上安装 GDB 调试器。

可用资源

服务器公开两种类型的资源:

  1. Core Dump 信息

    • URI 格式: coredump:///<id>
    • 返回包含详细 core dump 信息的 JSON
  2. 堆栈跟踪

    • URI 格式: stacktrace:///<id>
    • 从 core dump 返回格式化的堆栈跟踪

其中 <id> 是 core dump 的唯一标识符,格式为 <timestamp>-<pid>

例如:

coredump:///2023-04-20 12:34:56-12345
stacktrace:///2023-04-20 12:34:56-12345

关于权限的说明

某些操作可能需要提升权限,特别是在提取或移除 core dump 时。确保运行 MCP 服务器的用户具有适当的权限以访问系统 core dump。

许可证

MIT

相关 MCP 服务