Dynamic MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Dynamic MCP Serverlist crash dumps"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Dynamic MCP Server
A professional MCP (Model Context Protocol) server for crash dump analysis and kernel debugging.
Features
Real Crash Utility Integration: Execute actual crash utility commands with real output
Automatic Crash Dump Discovery: Find and list crash dumps in
/var/crashIntelligent Kernel Matching: Automatic kernel debug symbol detection and matching
Session Management: Robust crash analysis session lifecycle management
Multiple Dump Formats: Support for vmcore, core, crash, and dump files
Professional Forensics: Real kernel debugging and system forensics capabilities
Requirements
Crash Utility: Version 8.0.4+ (system package:
crash)Python: 3.10+ (3.11+ recommended)
Kernel Debug Symbols: Available in
/usr/lib/debug/lib/modules/Crash Dumps: Accessible in
/var/crash/or custom locationPermissions: Read access to crash dumps and kernel files
Installation
Quick Install (Recommended)
# Install directly from source
pip install -e .Development Install
# Create virtual environment (optional but recommended)
python3 -m venv dynamic_mcp_env
source dynamic_mcp_env/bin/activate
# Install dependencies and package
pip install -e .System Install
# Install system-wide (requires sudo)
sudo pip install .System Install with Systemd Service
# Install system-wide with automatic systemd service setup
sudo pip install .This automatically:
Installs the package
Copies the systemd service file
Creates the dynamic-mcp user and group
Creates required directories
Registers the service with systemd
See SYSTEMD_INSTALLATION.md for detailed systemd setup instructions.
Usage
Running the MCP Server
Stdio Mode (Default)
# Run the server with stdio transport
dynamic-mcp
# Or with module syntax
python -m dynamic_mcp.serverHTTP/SSE Mode
# Run the server with HTTP transport on default port 8080
dynamic-mcp-http
# Or with module syntax
python -m dynamic_mcp.server --http
# Access the server at: http://localhost:8080/sseMCP Client Configuration
For Stdio Transport
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"dynamic-mcp": {
"command": "python",
"args": ["-m", "dynamic_mcp.server"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}For HTTP/SSE Transport
Configure your MCP client to connect to the HTTP endpoint:
{
"mcpServers": {
"dynamic-mcp": {
"url": "http://localhost:8080/sse",
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}Testing
# Run crash analysis tests
pytest tests/crash/
# Test crash utility integration
python tests/crash/test_crash_server.py
# Run all tests
pytestConfiguration
Create a .env file with optional configuration:
# Crash dump paths
CRASH_DUMP_PATH=/var/crash
KERNEL_PATH=/boot
# Session timeouts
CRASH_SESSION_TIMEOUT=180
CRASH_COMMAND_TIMEOUT=120
# Logging configuration
LOG_LEVEL=INFO
SUPPRESS_MCP_WARNINGS=trueMCP Tools
The server provides 5 comprehensive crash analysis tools:
1. crash_command
Execute crash utility commands with real output.
Parameters:
command(string): Crash utility command to executetimeout(integer, optional): Command timeout in seconds (default: 120)
Example:
{
"command": "sys",
"timeout": 60
}2. get_crash_info
Get information about current crash dump and session.
Returns:
Active session details
Available crash dumps
System requirements status
3. list_crash_dumps
List all available crash dumps.
Parameters:
max_dumps(integer, optional): Maximum number of dumps to return (default: 10)
Returns:
Crash dump details (name, path, size, timestamp)
Readability status
4. start_crash_session
Start a new crash analysis session.
Parameters:
dump_name(string, optional): Specific dump name (uses latest if not specified)timeout(integer, optional): Session startup timeout (default: 180)
Returns:
Session startup status
Matched kernel information
5. close_crash_session
Close the active crash analysis session.
Returns:
Session closure status
Example Usage
Basic Crash Analysis Workflow
List available crash dumps:
# Use the list_crash_dumps toolStart a crash session:
# Use start_crash_session tool (auto-selects latest dump)Execute crash commands:
# System information crash_command: "sys" # Backtrace crash_command: "bt" # Process list crash_command: "ps" # Kernel log crash_command: "log" # Module information crash_command: "mod"Close session when done:
# Use close_crash_session tool
Troubleshooting
System Requirements
Crash utility not found:
# Install crash utility (RHEL/CentOS/Fedora)
sudo yum install crash
# or
sudo dnf install crash
# Install crash utility (Ubuntu/Debian)
sudo apt-get install crashNo crash dumps found:
Check
/var/crash/directory exists and has crash dumpsEnsure read permissions on crash dump files
Verify crash dumps are valid format (vmcore, core, etc.)
Kernel debug symbols missing:
Install kernel debug packages
Check
/usr/lib/debug/lib/modules/for debug symbolsEnsure kernel version matches crash dump
MCP Initialization Warnings
You may see warnings like:
WARNING - Failed to validate request: Received request before initialization was completeThis is normal MCP protocol behavior and doesn't affect functionality.
To suppress these warnings:
export SUPPRESS_MCP_WARNINGS=trueHow It Works
Crash Dump Discovery: Automatically scans
/var/crash/for crash dumpsKernel Matching: Finds matching kernel debug symbols in
/usr/lib/debug/Session Management: Starts crash utility process with proper kernel and dump
Command Execution: Uses pexpect to interact with crash utility process
Output Capture: Returns real crash utility output with proper formatting
Supported Crash Analysis
Crash Commands
System Info:
sys,mach,helpProcess Analysis:
ps,task,filesMemory Analysis:
kmem,vm,searchStack Analysis:
bt,bt -a,bt -fKernel Analysis:
log,dmesg,modDisassembly:
dis,gdbLustre Analysis: Lustre-specific commands for filesystem debugging
Crash Dump Formats
vmcore: Standard Linux kernel crash dumps
core: Core dump files
crash: Crash utility format
dump: Generic dump files
Kernel Support
Debug Symbols: Automatic detection from
/usr/lib/debug/Kernel Versions: Support for multiple kernel versions
Lustre Kernels: Special support for Lustre filesystem kernels
Architecture
MCP Protocol: Full compliance with Model Context Protocol
Real Integration: Uses actual crash utility (not simulation)
Session Management: Robust process lifecycle management
Error Handling: Comprehensive error handling and recovery
Logging: Detailed logging for debugging and monitoring
License
This project is licensed under the MIT License.
Copyright © 2025 42Research Ltd
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.
For full license terms, see the LICENSE file.
Contact: Email: software@42research.co.uk | Website: https://42research.co.uk
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Submit a pull request
Support
For issues and questions:
Check the troubleshooting section above
Review system requirements
Ensure crash utility and debug symbols are properly installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/42Research/dynamic_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server