
MCP Linux Common Utility Server
The Model Context Protocol (MCP) Linux Common Utility (LCU) Server is a Python-based server that provides access to various Linux system operations and information through the Model Context Protocol.
Features
- CPU Operations: CPU information, usage, load average, etc.
- Memory Operations: Memory and swap information, usage statistics.
- Process/Thread Operations: Process listing, information, and management.
- Storage Operations: Disk, volume, and partition information.
- Filesystem Operations: File creation, deletion, updating, and information.
- Hardware Operations: Hardware detection and information.
- Network Operations: Interface information, connectivity testing, and data transfer.
- Monitoring Operations: System status monitoring and health checks.
Installation
Prerequisites
- Python 3.10 or higher
- Linux operating system
Installation Steps
-
Clone the repository:
git clone https://github.com/yourusername/mcp_lcu_server.git cd mcp_lcu_server
-
Install the package:
pip install -e .
Configuration
The server can be configured using a YAML configuration file. By default, it looks for the configuration file in the following locations:
-
./config.yaml
-
./config/config.yaml
-
/etc/mcp-lcu-server/config.yaml
-
~/.config/mcp-lcu-server/config.yaml
You can also specify a custom configuration file path using the --config
command-line option.
Configuration File Example
server:
name: mcp-lcu-server
transport: both # stdio, sse, or both
port: 8000
host: 127.0.0.1
monitoring:
enabled: true
interval: 30 # seconds
metrics:
- cpu
- memory
- disk
- network
filesystem:
allowed_paths:
- /
max_file_size: 10485760 # 10MB
network:
allow_downloads: true
allow_uploads: true
max_download_size: 104857600 # 100MB
max_upload_size: 10485760 # 10MB
allowed_domains:
- "*" # Allow all domains
process:
allow_kill: false
allowed_users: []
Usage
Starting the Server
You can start the server using the command-line interface:
mcp-lcu-server [OPTIONS]
Available options:
-
--config
,-c
: Path to the configuration file -
--transport
,-t
: Transport type (stdio, sse, or both) -
--port
,-p
: Port for SSE transport -
--host
,-h
: Host for SSE transport -
--debug
,-d
: Enable debug logging
Transport Types
The server supports the following transport types:
-
stdio
: Standard input/output transport -
sse
: Server-Sent Events transport
Examples
Start the server with stdio transport:
mcp-lcu-server --transport stdio
Start the server with SSE transport on port 8000:
mcp-lcu-server --transport sse --port 8000
Start the server with both transports:
mcp-lcu-server --transport both
API Documentation
Tools
The server provides various tools for interacting with the Linux system:
CPU Tools
-
get_cpu_info
: Get detailed CPU information -
get_cpu_usage
: Get CPU usage percentage -
get_load_average
: Get system load average -
analyze_cpu_performance
: Analyze CPU performance
Memory Tools
-
get_memory_info
: Get detailed memory information -
get_memory_usage
: Get memory usage -
get_swap_info
: Get swap information -
analyze_memory_performance
: Analyze memory performance
Process Tools
-
list_processes
: List all processes -
get_process_info
: Get detailed information about a process -
search_processes
: Search for processes -
analyze_top_processes
: Analyze top processes by CPU and memory usage
Storage Tools
-
list_disks
: List physical disks -
list_partitions
: List disk partitions -
get_disk_usage
: Get disk usage -
analyze_storage_usage
: Analyze storage usage
Filesystem Tools
-
list_directory
: List contents of a directory -
read_file
: Read file contents -
write_file
: Write content to a file -
delete_file
: Delete a file or directory -
copy_file
: Copy a file or directory -
move_file
: Move a file or directory -
search_files
: Search for files matching a pattern -
search_file_contents
: Search for files containing a pattern
Hardware Tools
-
get_system_info
: Get general system information -
get_cpu_info
: Get CPU information -
get_memory_info
: Get memory information -
get_storage_info
: Get storage information -
get_pci_devices
: Get PCI device information -
get_usb_devices
: Get USB device information -
analyze_hardware
: Analyze hardware configuration
Network Tools
-
get_network_interfaces
: Get network interfaces information -
get_network_connections
: Get network connections -
get_network_stats
: Get network statistics -
ping_host
: Ping a host -
traceroute_host
: Trace route to a host -
http_get_request
: Perform HTTP GET request -
download_file_from_url
: Download a file from a URL -
upload_file_to_url
: Upload a file to a URL -
analyze_network
: Analyze network configuration and connectivity
Monitoring Tools
-
get_system_status
: Get system status -
check_system_health
: Check system health -
monitor_resources
: Monitor resource usage -
get_system_uptime
: Get system uptime -
get_system_load
: Get system load -
analyze_system_performance
: Analyze system performance
Resources
The server also provides various resources that can be accessed via MCP:
System Resources
-
linux://system/info
: System information -
linux://system/cpu
: CPU information -
linux://system/memory
: Memory information -
linux://system/uptime
: System uptime
Monitoring Resources
-
linux://monitoring/status
: System status -
linux://monitoring/health
: System health -
linux://monitoring/resources
: Resource usage
Filesystem Resources
-
linux://fs/dir/{path}
: Directory listing -
linux://fs/info/{path}
: File information -
linux://fs/file/{path}
: File contents -
linux://fs/usage/{path}
: Directory usage analysis
Network Resources
-
linux://network/interfaces
: Network interfaces -
linux://network/connections
: Network connections -
linux://network/stats
: Network statistics -
linux://network/ping/{host}
: Ping a host -
linux://network/traceroute/{host}
: Trace route to a host -
linux://network/analysis
: Network analysis
Security Considerations
The server provides access to various system operations, which can be potentially dangerous if misused. Make sure to:
- Configure the allowed paths for filesystem operations
- Configure the allowed domains for network operations
- Restrict the ability to kill processes
- Run the server with appropriate permissions
License
This project is licensed under the MIT License - see the LICENSE file for details.
相关推荐
I find academic articles and books for research and literature reviews.
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
Bridge between Ollama and MCP servers, enabling local LLMs to use Model Context Protocol tools
🧑🚀 全世界最好的LLM资料总结(Agent框架、辅助编程、数据处理、模型训练、模型推理、o1 模型、MCP、小语言模型、视觉语言模型) | Summary of the world's best LLM resources.
Reviews

user_pNMUdpPo
As a devoted user of mcp_lcu_server, I find this server application by guolisen extremely efficient and reliable. The clear documentation on its GitHub page (https://github.com/guolisen/mcp_lcu_server) makes deployment a breeze. Its robust functionality and smooth performance demonstrate guolisen's expertise and commitment to providing a top-notch tool in server management. Highly recommended!