systemd-coredump MCP Server 使用说明

项目简介

systemd-coredump MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 应用提供访问和管理 Linux 系统 'systemd-coredump' 功能的接口。通过此服务器,LLM 可以获取系统崩溃时的 coredump 信息,进行问题诊断、安全分析或性能调试。

主要功能点

  • 列出 Coredump: 获取系统中所有可用的 coredump 列表,方便 LLM 了解当前系统的崩溃记录。
  • 查看 Coredump 详细信息: 获取特定 coredump 的详细信息,包括时间戳、进程ID、信号、执行文件路径等。
  • 提取 Coredump 文件: 将 coredump 文件导出到指定位置,供 LLM 或其他工具进行离线分析。
  • 移除 Coredump: 从系统中删除指定的 coredump 文件,进行存储空间管理或安全清理。
  • 获取 Coredump 配置: 查询当前系统的 coredump 配置,包括是否启用、core 文件模式、大小限制等。
  • 设置 Coredump 启用状态: 动态开启或关闭 coredump 生成功能,方便在特定场景下控制 coredump 的产生。
  • 获取堆栈跟踪 (Stacktrace): 利用 GDB 从 coredump 中提取堆栈跟踪信息,帮助 LLM 分析程序崩溃时的调用链。

安装步骤

  1. 环境准备: 确保已安装 Node.js 18+ 和 npm,并且系统上已安装并配置 'systemd-coredump' 和 'coredumpctl' 命令行工具。

  2. 安装方式 (推荐使用 npm 安装):

    • 全局安装: 运行命令 'npm install -g @taskjp/server-systemd-coredump'
    • 本地安装: 运行命令 'npm install @taskjp/server-systemd-coredump'

    或者,您也可以选择从源代码安装:

    • 克隆或下载仓库源代码
    • 进入项目目录 'cd mcp-systemd-coredump'
    • 安装依赖 'npm install'
    • 构建项目 'npm run build'

服务器配置

在 MCP 客户端的配置文件中添加 systemd-coredump 服务器的配置信息。根据您的安装方式选择相应的配置:

如果全局安装:

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

如果本地安装:

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

如果从源代码安装:

"systemd-coredump": {
  "command": "node",
  "args": ["/path/to/mcp-systemd-coredump/build/index.js"],  <-- 将 "/path/to/mcp-systemd-coredump" 替换为您的实际项目路径
  "disabled": false,
  "autoApprove": []
}

配置参数说明:

  • 'server name': 'systemd-coredump' (此名称用于在MCP客户端中标识和调用该服务器)
  • 'command': 'systemd-coredump-server' 或 'node' (指定启动服务器的命令,全局安装时使用 'systemd-coredump-server',本地或源码安装时使用 'node')
  • 'args': '[]' 或 '["node_modules/@taskjp/server-systemd-coredump/build/index.js"]' 或 '["/path/to/mcp-systemd-coredump/build/index.js"]' (启动命令的参数,本地或源码安装时需要指定服务器入口文件路径)
  • 'disabled': 'false' (设置为 'false' 表示启用该服务器)
  • 'autoApprove': '[]' (自动批准列表,可以配置需要自动授权的工具或资源,默认为空)

基本使用方法

配置完成后,在 MCP 客户端中可以通过以下方式调用 systemd-coredump 服务器提供的工具和资源:

工具调用示例 (JSON-RPC 请求):

  • 列出 coredump:
    {
      "name": "list_coredumps"
    }
  • 获取 coredump 信息 (需要提供 coredump ID):
    {
      "name": "get_coredump_info",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"  <-- 替换为实际的 coredump ID
      }
    }
  • 提取 coredump (需要提供 coredump ID 和 输出路径):
    {
      "name": "extract_coredump",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345",  <-- 替换为实际的 coredump ID
        "outputPath": "/path/to/output/core.dump"  <-- 替换为实际的输出路径
      }
    }
  • 获取堆栈跟踪 (需要提供 coredump ID):
    {
      "name": "get_stacktrace",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"  <-- 替换为实际的 coredump ID
      }
    }

资源访问示例 (URI 访问):

  • 获取 coredump 信息资源 (需要提供 coredump ID): 'coredump:///2023-04-20 12:34:56-12345' <-- 替换为实际的 coredump ID
  • 获取堆栈跟踪资源 (需要提供 coredump ID): 'stacktrace:///2023-04-20 12:34:56-12345' <-- 替换为实际的 coredump ID

请参考仓库 'README.md' 文件获取更详细的工具和资源信息,以及权限注意事项。

信息

分类

开发者工具