systemd-coredump MCP Server

systemd-coredump MCP Server

site icon
2025.03.07 1
JavaScript系统调试崩溃分析其它
mcp-systemd-coredump 是一个基于 Model Context Protocol (MCP) 的服务,用于与 systemd-coredump 功能进行交互。该服务允许 MCP 应用程序访问、管理和分析系统核心转储文件。
View on GitHub

Overview

基本能力

产品定位

mcp-systemd-coredump 是一个专门用于管理和分析系统核心转储文件的 MCP 服务。

核心功能

  • 列出系统中所有可用的核心转储文件
  • 获取特定核心转储文件的详细信息
  • 将核心转储文件提取到指定位置
  • 从系统中删除核心转储文件
  • 获取当前系统的核心转储配置
  • 启用或禁用核心转储生成
  • 使用 GDB 从核心转储中获取堆栈跟踪

适用场景

  • 系统管理员需要分析系统崩溃原因
  • 开发人员需要调试应用程序崩溃问题
  • 自动化系统维护任务中需要管理核心转储文件

工具列表

  1. list_coredumps: 列出系统中所有可用的核心转储文件
  2. get_coredump_info: 获取特定核心转储文件的详细信息
  3. extract_coredump: 将核心转储文件提取到指定位置
  4. remove_coredump: 从系统中删除核心转储文件
  5. get_coredump_config: 获取当前系统的核心转储配置
  6. set_coredump_enabled: 启用或禁用核心转储生成
  7. get_stacktrace: 使用 GDB 从核心转储中获取堆栈跟踪

常见问题解答

  • 某些操作可能需要提升权限,特别是提取或删除核心转储文件时
  • 使用 get_stacktrace 工具需要系统上安装 GDB 调试器
  • 启用/禁用核心转储生成仅影响当前 shell 会话,系统范围的永久更改需要 root 权限

使用教程

使用依赖

  • 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. 列出所有核心转储:
{
  "name": "list_coredumps"
}
  1. 获取特定核心转储信息:
{
  "name": "get_coredump_info",
  "arguments": {
    "id": "2023-04-20 12:34:56-12345"
  }
}
  1. 获取堆栈跟踪:
{
  "name": "get_stacktrace",
  "arguments": {
    "id": "2023-04-20 12:34:56-12345"
  }
}

许可证

该项目遵循 MIT 开源许可条款。