关于 MCP Linux Common Utility Server
面向 Linux 主机检查与管理场景的 Python MCP 服务,通过工具和资源提供系统操作及信息查询,涵盖系统资源、文件、网络、监控和日志。
主要功能
- 01检查 CPU、内存和进程
- 02磁盘、文件系统与硬件操作
- 03网络检查和数据传输
- 04系统健康与资源监控
- 05多来源日志搜索与分析
- 06提供 MCP 工具和 URI 资源
适用场景
- 01检查系统负载和资源使用情况
- 02查找文件或管理文件系统内容
- 03测试连接并查看网络接口
- 04搜索系统、内核或服务日志
MCP 相关
向 MCP 客户端提供 Linux 系统操作工具,以及系统、文件系统、网络、监控和日志资源。支持 stdio 和 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Linux 通用工具服务
Model Context Protocol(MCP)Linux 通用工具(LCU)服务是一个基于 Python 的服务,可通过 Model Context Protocol 访问各种 Linux 系统操作和信息。
功能
- CPU 操作:CPU 信息、使用率、平均负载等。
- 内存操作:内存和交换空间信息、使用统计数据。
- 进程/线程操作:进程列表、信息和管理。
- 存储操作:磁盘、卷和分区信息。
- 文件系统操作:文件创建、删除、更新和信息查询。
- 硬件操作:硬件检测和信息查询。
- 网络操作:接口信息、连通性测试和数据传输。
- 监控操作:系统状态监控和运行状况检查。
- 日志操作:访问系统日志、分析日志,并统计多个来源的日志。
安装
前提条件
- Python 3.10 或更高版本
- Linux 操作系统
安装步骤
-
克隆仓库:
git clone https://github.com/yourusername/mcp_lcu_server.git cd mcp_lcu_server -
安装软件包:
uv venv source .venv/bin/activate python -m build
配置
可以使用 YAML 配置文件配置此服务。默认情况下,它会在以下位置查找配置文件:
./config.yaml./config/config.yaml/etc/mcp-lcu-server/config.yaml~/.config/mcp-lcu-server/config.yaml
也可以使用命令行选项 --config 指定自定义配置文件路径。
配置文件示例
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: []
logs:
# Custom log paths (optional)
paths:
# syslog: /var/log/syslog
# auth: /var/log/auth.log
max_entries: 1000 # Maximum entries to return
使用方法
启动服务
可以通过命令行界面启动服务:
mcp-lcu-server [OPTIONS]
可用选项:
--config、-c:配置文件路径--transport、-t:传输类型(stdio、sse 或 both)--port、-p:SSE 传输端口--host、-h:SSE 传输主机--debug、-d:启用调试日志
传输类型
此服务支持以下传输类型:
stdio:标准输入/输出传输sse:服务器发送事件传输
示例
使用 stdio 传输启动服务:
mcp-lcu-server --transport stdio
使用 SSE 传输在端口 8000 上启动服务:
mcp-lcu-server --transport sse --port 8000
同时使用两种传输启动服务:
mcp-lcu-server --transport both
API 文档
工具
此服务提供多种用于与 Linux 系统交互的工具:
CPU 工具
get_cpu_info:获取详细的 CPU 信息get_cpu_usage:获取 CPU 使用率get_load_average:获取系统平均负载analyze_cpu_performance:分析 CPU 性能
内存工具
get_memory_info:获取详细的内存信息get_memory_usage:获取内存使用情况get_swap_info:获取交换空间信息analyze_memory_performance:分析内存性能
进程工具
list_processes:列出所有进程get_process_info:获取进程的详细信息search_processes:搜索进程analyze_top_processes:分析 CPU 和内存使用率最高的进程
存储工具
list_disks:列出物理磁盘list_partitions:列出磁盘分区get_disk_usage:获取磁盘使用情况analyze_storage_usage:分析存储使用情况
文件系统工具
list_directory:列出目录内容read_file:读取文件内容write_file:向文件写入内容delete_file:删除文件或目录copy_file:复制文件或目录move_file:移动文件或目录search_files:搜索符合指定模式的文件search_file_contents:搜索包含指定模式的文件
硬件工具
get_system_info:获取常规系统信息get_cpu_info:获取 CPU 信息get_memory_info:获取内存信息get_storage_info:获取存储信息get_pci_devices:获取 PCI 设备信息get_usb_devices:获取 USB 设备信息analyze_hardware:分析硬件配置
网络工具
get_network_interfaces:获取网络接口信息get_network_connections:获取网络连接get_network_stats:获取网络统计信息ping_host:Ping 主机traceroute_host:追踪到主机的路由http_get_request:执行 HTTP GET 请求download_file_from_url:从 URL 下载文件upload_file_to_url:将文件上传到 URLanalyze_network:分析网络配置和连接情况
监控工具
get_system_status:获取系统状态check_system_health:检查系统健康状况monitor_resources:监控资源使用情况get_system_uptime:获取系统运行时间get_system_load:获取系统负载analyze_system_performance:分析系统性能
日志工具
log_list_available_logs:列出系统上所有可用的日志来源log_get_journal_logs:获取 systemd 日志log_get_system_logs:从系统日志文件获取日志log_get_dmesg:从 dmesg 获取内核日志log_get_application_logs:获取特定应用的日志log_get_audit_logs:获取审计日志log_get_boot_logs:获取启动日志log_get_service_status_logs:获取与特定 systemd 服务相关的日志log_search_logs:搜索多个日志来源log_analyze_logs:分析日志以识别模式和问题log_get_statistics:获取日志量和特征的统计信息
资源
该服务还提供可通过 MCP 访问的各种资源:
系统资源
linux://system/info:系统信息linux://system/cpu:CPU 信息linux://system/memory:内存信息linux://system/uptime:系统运行时间
监控资源
linux://monitoring/status:系统状态linux://monitoring/health:系统健康状况linux://monitoring/resources:资源使用情况
文件系统资源
linux://fs/dir/{path}:目录列表linux://fs/info/{path}:文件信息linux://fs/file/{path}:文件内容linux://fs/usage/{path}:目录使用情况分析
网络资源
linux://network/interfaces:网络接口linux://network/connections:网络连接linux://network/stats:网络统计信息linux://network/ping/{host}:Ping 主机linux://network/traceroute/{host}:追踪到主机的路由linux://network/analysis:网络分析
日志资源
linux://logs/available:可用日志来源列表linux://logs/journal/{parameters}:来自 systemd 日志的日志linux://logs/system/{log_type}/{parameters}:来自系统日志文件的日志linux://logs/kernel/{count}:来自内核环形缓冲区(dmesg)的日志linux://logs/application/{app_name}/{parameters}:特定应用的日志linux://logs/audit/{parameters}:来自 Linux 审计系统的日志linux://logs/boot/{count}:与系统启动相关的日志linux://logs/service/{service}/{count}:特定 systemd 服务的日志linux://logs/search/{query}/{parameters}:搜索多个日志来源linux://logs/analysis/{parameters}:日志模式和问题分析linux://logs/statistics/{parameters}:日志量和特征的统计信息
安全注意事项
该服务可访问各种系统操作,滥用时可能带来危险。请务必:
- 配置文件系统操作允许访问的路径
- 配置网络操作允许访问的域名
- 限制终止进程的能力
- 使用适当的权限运行服务
命令执行安全
该服务包含一个功能强大的命令执行工具,可在主机系统上运行 shell 命令。如果配置不当,或在不可信的环境中使用,此功能可能带来重大安全风险。
警告: 如果您不想使用命令执行功能,有两种选择:
- 在配置文件中设置
command.enabled: false将其禁用:command: enabled: false - 修改服务实现,移除与命令执行相关的 MCP 工具。
启用命令执行后,请考虑采取以下额外安全措施:
- 使用
allowed_commands限制可执行的命令 - 使用
blocked_commands明确屏蔽危险命令 - 设置适当的超时时间和输出大小限制
- 除非绝对必要,否则使用
allow_sudo: false禁用 sudo 访问
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。