Skip to content

signal-slot/mcp-systemd-coredump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

systemd-coredump MCP Server

A Model Context Protocol (MCP) server for interacting with systemd-coredump functionality. This enables MCP-capable applications to access, manage, and analyze system core dumps.

npm version License: MIT

Features

  • List all available coredumps in the system
  • Get detailed information about specific coredumps
  • Extract coredump files to a specified location
  • Remove coredumps from the system

Prerequisites

  • Node.js 18+ and npm
  • systemd-coredump must be installed and configured on the system
  • coredumpctl command-line utility must be available

Installation

From npm (recommended)

Global Installation

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

Local Installation

npm install @taskjp/server-systemd-coredump

From Source

  1. Clone the repository or download the source code
  2. Install dependencies:
cd systemd-coredump-server
npm install
  1. Build the server:
npm run build

Configuration

Add the server to your MCP settings configuration file:

If installed from npm globally:

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

If installed from npm locally:

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

If installed from source:

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

Usage

Available Tools

The server provides the following tools:

  1. list_coredumps: List all available coredumps in the system

    {
      "name": "list_coredumps"
    }
  2. get_coredump_info: Get detailed information about a specific coredump

    {
      "name": "get_coredump_info",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"
      }
    }
  3. extract_coredump: Extract a coredump to a file

    {
      "name": "extract_coredump",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345",
        "outputPath": "/path/to/output/core.dump"
      }
    }
  4. remove_coredump: Remove a coredump from the system

    {
      "name": "remove_coredump",
      "arguments": {
        "id": "2023-04-20 12:34:56-12345"
      }
    }
  5. get_coredump_config: Get the current core dump configuration of the system

    {
      "name": "get_coredump_config"
    }

    This tool returns information about the current core dump configuration, including:

    • Whether core dumps are enabled
    • The current core pattern
    • The core size limit
    • Whether systemd is handling the core dumps
  6. set_coredump_enabled: Enable or disable core dump generation

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

    Setting enabled to true will enable core dumps, while false will disable them. Note: This changes the ulimit settings for the current shell. For permanent system-wide changes, root privileges and modification of system configuration files would be required.

  7. get_stacktrace: Get stack trace from a coredump using GDB

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

    This tool uses GDB to extract a formatted stack trace from the coredump. Note: Requires the GDB debugger to be installed on the system.

Available Resources

The server exposes two types of resources:

  1. Coredump Information

    • URI format: coredump:///<id>
    • Returns JSON with detailed coredump information
  2. Stack Traces

    • URI format: stacktrace:///<id>
    • Returns a formatted stack trace from the coredump

Where <id> is the unique identifier for a coredump in the format: <timestamp>-<pid>.

For example:

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

Note on Permissions

Some operations may require elevated privileges, especially when extracting or removing coredumps. Ensure the user running the MCP server has appropriate permissions to access system coredumps.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published