systemd-coredump MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables interaction with systemd-coredump functionality to access, manage, and analyze system core dumps. Provides tools for listing, extracting, and removing coredumps, as well as getting detailed information and stack traces from coredumps using GDB.

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.

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

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

-
security - not tested
F
license - not found
-
quality - not tested

Enables MCP-capable applications to access, manage, and analyze system core dumps through integration with systemd-coredump functionality.

  1. Features
    1. Prerequisites
      1. Installation
        1. From npm (recommended)
          1. Global Installation
            1. Local Installation
            2. From Source
            3. Configuration
              1. If installed from npm globally:
                1. If installed from npm locally:
                  1. If installed from source:
                  2. Usage
                    1. Available Tools
                      1. Available Resources
                      2. Note on Permissions
                        1. License