返回 MCP 目录
public公开dns本地运行

mcp_lcu_server

MCP Linux通用工具服务器是一个基于Python的服务器,通过模型上下文协议提供对Linux系统操作和信息的访问。

article

README

🚀 MCP Linux 实用工具插件

MCP Linux 实用工具插件功能强大,借助 MCP 协议,可访问并控制 Linux 系统的各类功能。以下为您详细介绍该插件的安装、配置及使用方法。

🚀 快速开始

安装与配置

安装步骤

  1. 获取代码
git clone https://github.com/your-username/mcplinux.git
cd mcplinux
  1. 安装依赖 若使用 Python 3 环境,执行以下命令:
pip install -r requirements.txt
  1. 启动插件 启动 MCP 插件服务器,命令如下:
python3 server.py [--port PORT] [--config CONFIG_FILE]

其中,--port 为可选参数,默认值是 5000;--config 是配置文件的路径。 4. 配置插件 创建或编辑 config.yml 文件,内容如下:

server:
  port: 5000
  host: 0.0.0.0

filesystem:
  allowed_paths:
    - "/safe/directory"
    - "/another/safe/path"

network:
  allowed_domains:
    - "example.com"
    - "another.example.org"

command:
  enabled: true
  allowed_commands:
    - "ls"
    - "cat /etc/os-release"
  blocked_commands:
    - "rm"
    - "sudo"
  allow_sudo: false
  timeout: 30  # seconds
  output_limit: 1024  # bytes

monitoring:
  interval: 60  # seconds

使用说明

基本用法

  1. 启动插件服务器
python3 server.py --port 5000

此命令将在地址 http://localhost:5000 上启动服务器。 2. 通过 MCP 访问资源 使用 MCP 客户端访问资源,示例代码如下:

from mcpclient import MCPClient

client = MCPClient("localhost", 5000)
print(client.request("linux://system/info"))  # 获取系统信息

功能模块

系统工具
  • 命令执行 执行 shell 命令,示例如下:
result = client.execute("ls /safe/directory")
print(result)

配置选项如下:

command:
  enabled: true
  allowed_commands:
    - "ls"
    - "cat /etc/os-release"
  blocked_commands:
    - "rm"
    - "sudo"
  allow_sudo: false
  timeout: 30  # seconds
  output_limit: 1024  # bytes
文件系统操作
  • 访问文件
file_info = client.request("linux://fs/info/usr/local/bin/myfile")
print(file_info)
  • 读取目录内容
dir_content = client.request(f"linux://fs/dir/{safe_path}")
print(dir_content)
网络配置
  • 获取网络接口状态
network_stats = client.request("linux://network/interfaces")
print(network_stats)
  • 设置默认网关
curl -X POST "http://localhost:5000/api/network/gateway" -d '{"gateway":"192.168.1.1"}'
监控功能
  • 获取系统负载
load_avg = client.request("linux://system/load")
print(load_avg)
  • 收集磁盘使用情况
disk_usage = client.request("linux://system/disk")
print(disk_usage)

✨ 主要特性

  • 支持通过 MCP 协议访问和控制 Linux 系统的多种功能。
  • 提供丰富的功能模块,涵盖系统工具、文件系统操作、网络配置和监控功能。
  • 可通过配置文件灵活配置插件的各项参数,保障系统安全。

📦 安装指南

具体安装步骤见上文“安装与配置”部分。

💻 使用示例

基础用法

from mcpclient import MCPClient

client = MCPClient("localhost", 5000)
print(client.request("linux://system/info"))  # 获取系统信息

高级用法

from mcpclient import MCPClient

# 创建 MCP 客户端实例
client = MCPClient("localhost", 5000)

# 获取系统信息
system_info = client.request("linux://system/info")
print("System Information:")
print(system_info)

# 获取网络接口状态
network_interfaces = client.request("linux://network/interfaces")
print("\nNetwork Interfaces:")
print(network_interfaces)

# 获取磁盘使用情况
disk_usage = client.request("linux://system/disk")
print("\nDisk Usage:")
print(disk_usage)

通过 API 修改网络设置

# 设置默认网关
curl -X POST "http://localhost:5000/api/network/gateway" -d '{"gateway":"192.168.1.1"}'

🔧 技术细节

该插件通过 MCP 协议实现对 Linux 系统的访问和控制。在配置方面,可通过 config.yml 文件对服务器端口、允许访问的文件路径、网络域、命令执行权限等进行灵活配置。在使用时,通过 MCP 客户端向服务器发送请求,服务器根据配置对请求进行处理并返回相应结果。

📄 许可证

MCP Linux 实用工具插件项目在 MIT License 许可证下发布。详情请查看 LICENSE 文件。

⚠️ 重要提示

在配置 config.yml 文件时,需谨慎设置允许和禁止的命令,避免因配置不当导致系统安全问题。例如,禁止使用 rmsudo 等危险命令,以防止误操作删除重要文件或执行高权限命令。

💡 使用建议

在使用该插件前,建议先在测试环境中进行充分测试,确保各项功能正常且配置符合需求。同时,定期检查配置文件,根据实际情况调整允许访问的路径、网络域和命令等参数。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端