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.
- 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
- Node.js 18+ and npm
- systemd-coredump must be installed and configured on the system
coredumpctl
command-line utility must be available
npm install -g @taskjp/server-systemd-coredump
npm install @taskjp/server-systemd-coredump
- Clone the repository or download the source code
- Install dependencies:
cd systemd-coredump-server
npm install
- Build the server:
npm run build
Add the server to your MCP settings configuration file:
"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/systemd-coredump-server/build/index.js"],
"disabled": false,
"autoApprove": []
}
The server provides the following tools:
-
list_coredumps: List all available coredumps in the system
{ "name": "list_coredumps" }
-
get_coredump_info: Get detailed information about a specific coredump
{ "name": "get_coredump_info", "arguments": { "id": "2023-04-20 12:34:56-12345" } }
-
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" } }
-
remove_coredump: Remove a coredump from the system
{ "name": "remove_coredump", "arguments": { "id": "2023-04-20 12:34:56-12345" } }
-
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
-
set_coredump_enabled: Enable or disable core dump generation
{ "name": "set_coredump_enabled", "arguments": { "enabled": true } }
Setting
enabled
totrue
will enable core dumps, whilefalse
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. -
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.
The server exposes two types of resources:
-
Coredump Information
- URI format:
coredump:///<id>
- Returns JSON with detailed coredump information
- URI format:
-
Stack Traces
- URI format:
stacktrace:///<id>
- Returns a formatted stack trace from the coredump
- URI format:
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
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.
MIT