mcpField
M
MCP Linux Common Utility Server

MCP Linux Common Utility Server

本地服务
github.com/guolisen云与基础设施979 周前更新

关于 MCP Linux Common Utility Server

面向 Linux 主机检查与管理场景的 Python MCP 服务,通过工具和资源提供系统操作及信息查询,涵盖系统资源、文件、网络、监控和日志。

主要功能

  1. 01检查 CPU、内存和进程
  2. 02磁盘、文件系统与硬件操作
  3. 03网络检查和数据传输
  4. 04系统健康与资源监控
  5. 05多来源日志搜索与分析
  6. 06提供 MCP 工具和 URI 资源

适用场景

  1. 01检查系统负载和资源使用情况
  2. 02查找文件或管理文件系统内容
  3. 03测试连接并查看网络接口
  4. 04搜索系统、内核或服务日志

MCP 相关

向 MCP 客户端提供 Linux 系统操作工具,以及系统、文件系统、网络、监控和日志资源。支持 stdio 和 SSE 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Python 3.12+ MCP Enabled MCP Server MCP Dev 测试

MCP Linux 通用工具服务

Model Context Protocol(MCP)Linux 通用工具(LCU)服务是一个基于 Python 的服务,可通过 Model Context Protocol 访问各种 Linux 系统操作和信息。

功能

  • CPU 操作:CPU 信息、使用率、平均负载等。
  • 内存操作:内存和交换空间信息、使用统计数据。
  • 进程/线程操作:进程列表、信息和管理。
  • 存储操作:磁盘、卷和分区信息。
  • 文件系统操作:文件创建、删除、更新和信息查询。
  • 硬件操作:硬件检测和信息查询。
  • 网络操作:接口信息、连通性测试和数据传输。
  • 监控操作:系统状态监控和运行状况检查。
  • 日志操作:访问系统日志、分析日志,并统计多个来源的日志。

安装

前提条件
  • Python 3.10 或更高版本
  • Linux 操作系统
安装步骤
  1. 克隆仓库:

    git clone https://github.com/yourusername/mcp_lcu_server.git
    cd mcp_lcu_server
    
  2. 安装软件包:

    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:将文件上传到 URL
  • analyze_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 命令。如果配置不当,或在不可信的环境中使用,此功能可能带来重大安全风险。

警告: 如果您不想使用命令执行功能,有两种选择:

  1. 在配置文件中设置 command.enabled: false 将其禁用:
    command:
      enabled: false
    
  2. 修改服务实现,移除与命令执行相关的 MCP 工具。

启用命令执行后,请考虑采取以下额外安全措施:

  • 使用 allowed_commands 限制可执行的命令
  • 使用 blocked_commands 明确屏蔽危险命令
  • 设置适当的超时时间和输出大小限制
  • 除非绝对必要,否则使用 allow_sudo: false 禁用 sudo 访问

许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。