MCP系统核心转储工具
启用支持MCP的应用程序通过与systemd-coredump功能集成来访问、管理和分析系统核心转储。
服务介绍
systemd-coredump MCP 服务器
一个用于与 systemd-coredump 功能交互的 Model Context Protocol (MCP) 服务器。这使得支持 MCP 的应用程序能够访问、管理和分析系统核心转储。
特性
- 列出系统中所有可用的核心转储
- 获取特定核心转储的详细信息
- 将核心转储文件提取到指定位置
- 从系统中移除核心转储
前提条件
- Node.js 18+ 和 npm
- 系统上必须安装并配置好 systemd-coredump
- 必须可用
coredumpctl命令行工具
安装
从 npm(推荐)
全局安装
npm install -g @taskjp/server-systemd-coredump
本地安装
npm install @taskjp/server-systemd-coredump
从源码
- 克隆仓库或下载源代码
- 安装依赖项:
cd systemd-coredump-server
npm install
- 构建服务器:
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": []
}
使用
可用工具
服务器提供以下工具:
-
list_coredumps: 列出系统中所有可用的 core dump
{ "name": "list_coredumps" } -
get_coredump_info: 获取特定 core dump 的详细信息
{ "name": "get_coredump_info", "arguments": { "id": "2023-04-20 12:34:56-12345" } } -
extract_coredump: 将 core dump 提取到文件
{ "name": "extract_coredump", "arguments": { "id": "2023-04-20 12:34:56-12345", "outputPath": "/path/to/output/core.dump" } } -
remove_coredump: 从系统中移除一个 core dump
{ "name": "remove_coredump", "arguments": { "id": "2023-04-20 12:34:56-12345" } } -
get_coredump_config: 获取系统的当前 core dump 配置
{ "name": "get_coredump_config" }该工具返回有关当前 core dump 配置的信息,包括:
- 是否启用了 core dump
- 当前的核心模式
- 核心大小限制
- systemd 是否处理核心转储
-
set_coredump_enabled: 启用或禁用 core dump 生成
{ "name": "set_coredump_enabled", "arguments": { "enabled": true } }将
enabled设置为true将启用 core dump,而false将禁用它们。
注意:这会更改当前 shell 的 ulimit 设置。对于永久性的系统范围更改,需要 root 权限并修改系统配置文件。 -
get_stacktrace: 使用 GDB 从 core dump 中获取堆栈跟踪
{ "name": "get_stacktrace", "arguments": { "id": "2023-04-20 12:34:56-12345" } }该工具使用 GDB 从 core dump 中提取格式化的堆栈跟踪。
注意:需要在系统上安装 GDB 调试器。
可用资源
服务器公开两种类型的资源:
-
Core Dump 信息
- URI 格式:
coredump:///<id> - 返回包含详细 core dump 信息的 JSON
- URI 格式:
-
堆栈跟踪
- URI 格式:
stacktrace:///<id> - 从 core dump 返回格式化的堆栈跟踪
- URI 格式:
其中 <id> 是 core dump 的唯一标识符,格式为 <timestamp>-<pid>。
例如:
coredump:///2023-04-20 12:34:56-12345
stacktrace:///2023-04-20 12:34:56-12345
关于权限的说明
某些操作可能需要提升权限,特别是在提取或移除 core dump 时。确保运行 MCP 服务器的用户具有适当的权限以访问系统 core dump。
许可证
MIT