Skip to main content
Glama

systerd-lite

AI-Native OS Core for Linux Systems

LLMがシステムを自律的に監視・制御・最適化するためのMCPサーバー


🎯 概要

systerd-lite は、LLM(大規模言語モデル)がLinuxシステムを「自分の体」として操作できるようにするMCPサーバーです。

主な特徴

  • 🔧 200+ のシステム制御ツール: プロセス管理、ネットワーク、ストレージ、セキュリティなど

  • 🤖 LLM自己編集機能: LLMが自身のコードや環境を読み書き・修正可能

  • 📡 汎用MCP対応: HTTP/SSE/stdio の3トランスポートをサポート

  • 🎛️ Gradio UI: ブラウザベースの管理インターフェース

  • 🔐 柔軟な権限管理: ツールごとの権限設定とテンプレート


📦 クイックスタート

起動

# リポジトリをクローン git clone https://github.com/your/sisterd_lite.git cd sisterd_lite # 起動(依存関係は自動インストール) chmod +x start-mcp.sh ./start-mcp.sh

エンドポイント

サービス

URL

説明

HTTP API

http://localhost:8089

MCP JSON-RPC エンドポイント

Gradio UI

http://localhost:7861

Web管理インターフェース

Health

http://localhost:8089/health

ヘルスチェック

動作確認

# ヘルスチェック curl http://localhost:8089/health # システム情報取得 curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_system_info","arguments":{}}}'

🛠️ ツールカテゴリ

📊 Monitoring(監視)

ツール

説明

get_system_info

システム全体の情報

get_cpu_info

CPU詳細情報

get_memory_info

メモリ使用量

get_disk_usage

ディスク使用量

get_temperature

温度センサー

list_processes

プロセス一覧

get_top_processes

リソース消費上位

🔐 Security(セキュリティ)

ツール

説明

get_selinux_status

SELinux状態

get_apparmor_status

AppArmor状態

list_firewall_rules

ファイアウォールルール

scan_suid_files

SUID/SGIDファイル検索

get_failed_logins

失敗ログイン試行

audit_permissions

パーミッション監査

🖥️ System(システム)

ツール

説明

manage_service

systemdサービス制御

list_units

systemdユニット一覧

get_kernel_modules

カーネルモジュール

get_hardware_info

ハードウェア情報

get_usb_devices

USBデバイス一覧

�� Container(コンテナ)

ツール

説明

list_containers

コンテナ一覧

start_container

コンテナ起動

stop_container

コンテナ停止

run_container

新規コンテナ実行

get_container_logs

ログ取得

🤖 Self(LLM自己編集)

LLMが自分自身の環境を操作するためのツール群

ツール

説明

read_workspace_file

ワークスペース内ファイル読み取り

write_workspace_file

ファイル書き込み・作成

append_to_file

ファイル追記

list_workspace_directory

ディレクトリ一覧

search_workspace

ファイル/コンテンツ検索

execute_shell_command

シェルコマンド実行

install_python_package

Pythonパッケージインストール

get_python_environment

Python環境情報

set_environment_variable

環境変数設定

restart_self

サーバー自己再起動

get_self_status

サーバー状態取得

backup_workspace

ワークスペースバックアップ

🧮 Calculator(計算)

ツール

説明

calculate

数式評価

convert_units

単位変換

matrix_operation

行列演算

statistics

統計計算

solve_equation

方程式求解

⚙️ MCP Config(設定管理)

ツール

説明

get_mcp_config

現在の設定取得

list_mcp_tools

ツール一覧

set_mcp_tool_permission

個別権限設定

apply_mcp_template

テンプレート適用

get_mcp_templates

利用可能テンプレート


📋 テンプレート

用途に応じてツールセットを一括設定できます:

テンプレート

ツール数

用途

minimal

~18

安全な監視のみ

monitoring

~18

システム監視

development

~47

開発用(コンテナ、自己編集含む)

security

~31

セキュリティ監査

full

~200

全ツール有効

# テンプレート適用 curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"apply_mcp_template","arguments":{"template":"development"}}}'

🔌 クライアント設定

VS Code

.vscode/mcp.json:

{ "servers": { "systerd": { "type": "http", "url": "http://localhost:8089" } } }

Claude Desktop

~/.config/claude/claude_desktop_config.json:

{ "mcpServers": { "systerd": { "command": "python3", "args": ["/path/to/mcp_server_unified.py"] } } }

Ollama / HTTP クライアント

# ツール一覧取得 curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # ツール呼び出し curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_uptime","arguments":{}}}'

🏗️ アーキテクチャ

┌─────────────────────────────────────────────────────────────────┐ │ Clients │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ VS Code │ │ Claude │ │ Ollama │ │ Gradio UI│ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ │ └─────────────┴──────┬──────┴─────────────┘ │ │ │ │ │ ┌──────▼──────┐ │ │ │ MCP HTTP │ Port 8089 │ │ │ Endpoint │ │ │ └──────┬──────┘ │ │ │ │ └────────────────────────────┼─────────────────────────────────────┘ │ ┌────────────────────────────▼─────────────────────────────────────┐ │ systerd-lite │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ MCPHandler │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │Monitoring│ │ Security │ │ Container│ │ Self │ │ │ │ │ │ Tools │ │ Tools │ │ Tools │ │ Tools │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────▼───────────────────────────────────┐ │ │ │ Permission Manager │ │ │ │ DISABLED │ READ_ONLY │ AI_ASK │ AI_AUTO │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ └────────────────────────────┼─────────────────────────────────────┘ │ ┌────────────────────────────▼─────────────────────────────────────┐ │ Linux System │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ systemd │ │ psutil │ │ Docker │ │ File I/O │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ └──────────────────────────────────────────────────────────────────┘

📁 ファイル構成

sisterd_lite/ ├── start-mcp.sh # 推奨起動スクリプト ├── start-lite.sh # 代替起動スクリプト ├── systerd-lite.py # メインアプリケーション ├── mcp_server_unified.py # stdio/HTTP/SSE統合サーバー ├── README.md # このファイル ├── .vscode/ │ └── mcp.json # VS Code MCP設定 ├── .state/ │ └── permissions.json # ツール権限設定(自動生成) └── systerd_lite/ # Pythonモジュール ├── mcp.py # MCPハンドラー(200+ツール) ├── permissions.py # 権限管理 ├── sensors.py # システムセンサー ├── tuner.py # システムチューニング ├── container.py # コンテナ管理 ├── scheduler.py # タスクスケジューラ └── ui/ # Gradio UIモジュール

🔧 起動オプション

# 基本起動 ./start-mcp.sh # カスタムポート ./systerd-lite.py --port 9000 --gradio 9001 # ヘッドレスモード(UIなし) ./systerd-lite.py --no-ui # デバッグモード ./systerd-lite.py --debug

🔐 セキュリティ

権限レベル

レベル

説明

DISABLED

ツール無効

READ_ONLY

読み取りのみ

AI_ASK

実行前に確認

AI_AUTO

自動実行許可

推奨事項

  • 本番環境では minimal または monitoring テンプレートを使用

  • self カテゴリのツールは信頼できる環境でのみ有効化

  • HTTP APIは必要に応じてファイアウォールで保護



systerd-lite (English)

AI-Native OS Core for Linux Systems

An MCP server that allows LLMs to autonomously monitor, control, and optimize Linux systems as their own body.


🎯 Overview

systerd-lite is an MCP server that enables LLMs (Large Language Models) to operate Linux systems as their own body.

Key Features

  • 🔧 200+ System Control Tools: Process management, network, storage, security, and more

  • 🤖 LLM Self-Editing: LLM can read, write, and modify its own code and environment

  • 📡 Universal MCP Support: Supports HTTP/SSE/stdio transports

  • 🎛️ Gradio UI: Browser-based management interface

  • 🔐 Flexible Permission Management: Per-tool permission settings and templates


📦 Quick Start

Launch

# Clone repository git clone https://github.com/your/sisterd_lite.git cd sisterd_lite # Start (dependencies auto-installed) chmod +x start-mcp.sh ./start-mcp.sh

Endpoints

Service

URL

Description

HTTP API

http://localhost:8089

MCP JSON-RPC endpoint

Gradio UI

http://localhost:7861

Web management interface

Health

http://localhost:8089/health

Health check

Verification

# Health check curl http://localhost:8089/health # Get system info curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_system_info","arguments":{}}}'

🛠️ Tool Categories

📊 Monitoring

Tool

Description

get_system_info

System overview

get_cpu_info

Detailed CPU info

get_memory_info

Memory usage

get_disk_usage

Disk usage

get_temperature

Temperature sensors

list_processes

Process list

get_top_processes

Top resource usage

🔐 Security

Tool

Description

get_selinux_status

SELinux status

get_apparmor_status

AppArmor status

list_firewall_rules

Firewall rules

scan_suid_files

SUID/SGID file scan

get_failed_logins

Failed login attempts

audit_permissions

Permission audit

🖥️ System

Tool

Description

manage_service

systemd service control

list_units

systemd unit list

get_kernel_modules

Kernel modules

get_hardware_info

Hardware info

get_usb_devices

USB device list

🐳 Container

Tool

Description

list_containers

Container list

start_container

Start container

stop_container

Stop container

run_container

Run new container

get_container_logs

Get logs

🤖 Self (LLM Self-Editing)

Tools for LLM to operate its own environment

Tool

Description

read_workspace_file

Read workspace file

write_workspace_file

Write/create file

append_to_file

Append to file

list_workspace_directory

List directory

search_workspace

Search files/content

execute_shell_command

Run shell command

install_python_package

Install Python package

get_python_environment

Python environment info

set_environment_variable

Set environment variable

restart_self

Restart server

get_self_status

Get server status

backup_workspace

Backup workspace

🧮 Calculator

Tool

Description

calculate

Evaluate expression

convert_units

Unit conversion

matrix_operation

Matrix operations

statistics

Statistics

solve_equation

Equation solving

⚙️ MCP Config

Tool

Description

get_mcp_config

Get current config

list_mcp_tools

List tools

set_mcp_tool_permission

Set individual permission

apply_mcp_template

Apply template

get_mcp_templates

Available templates


📋 Templates

Set toolsets for different use cases:

Template

Tool Count

Use Case

minimal

~18

Safe monitoring only

monitoring

~18

System monitoring

development

~47

Development (includes container, self-edit)

security

~31

Security audit

full

~200

All tools enabled

# Apply template curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"apply_mcp_template","arguments":{"template":"development"}}}'

🔌 Client Configuration

VS Code

.vscode/mcp.json:

{ "servers": { "systerd": { "type": "http", "url": "http://localhost:8089" } } }

Claude Desktop

~/.config/claude/claude_desktop_config.json:

{ "mcpServers": { "systerd": { "command": "python3", "args": ["/path/to/mcp_server_unified.py"] } } }

Ollama / HTTP Client

# List tools curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' # Call tool curl -X POST http://localhost:8089 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_uptime","arguments":{}}}'

🏗️ Architecture

┌─────────────────────────────────────────────────────────────────┐ │ Clients │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ VS Code │ │ Claude │ │ Ollama │ │ Gradio UI│ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ │ └─────────────┴──────┬──────┴─────────────┘ │ │ │ │ │ ┌──────▼──────┐ │ │ │ MCP HTTP │ Port 8089 │ │ │ Endpoint │ │ │ └──────┬──────┘ │ │ │ │ └────────────────────────────┼─────────────────────────────────────┘ │ ┌────────────────────────────▼─────────────────────────────────────┐ │ systerd-lite │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ MCPHandler │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ │ │Monitoring│ │ Security │ │ Container│ │ Self │ │ │ │ │ │ Tools │ │ Tools │ │ Tools │ │ Tools │ │ │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ │ ┌─────────────────────────▼───────────────────────────────────┐ │ │ │ Permission Manager │ │ │ │ DISABLED │ READ_ONLY │ AI_ASK │ AI_AUTO │ │ │ └─────────────────────────────────────────────────────────────┘ │ │ │ │ └────────────────────────────┼─────────────────────────────────────┘ │ ┌────────────────────────────▼─────────────────────────────────────┐ │ Linux System │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ systemd │ │ psutil │ │ Docker │ │ File I/O │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ └──────────────────────────────────────────────────────────────────┘

📁 File Structure

sisterd_lite/ ├── start-mcp.sh # Recommended startup script ├── start-lite.sh # Alternative startup script ├── systerd-lite.py # Main application ├── mcp_server_unified.py # Unified stdio/HTTP/SSE server ├── README.md # This file ├── .vscode/ │ └── mcp.json # VS Code MCP config ├── .state/ │ └── permissions.json # Tool permission config (auto-generated) └── systerd_lite/ # Python modules ├── mcp.py # MCP handler (200+ tools) ├── permissions.py # Permission management ├── sensors.py # System sensors ├── tuner.py # System tuning ├── container.py # Container management ├── scheduler.py # Task scheduler └── ui/ # Gradio UI module

🔧 Startup Options

# Basic startup ./start-mcp.sh # Custom ports ./systerd-lite.py --port 9000 --gradio 9001 # Headless mode (no UI) ./systerd-lite.py --no-ui # Debug mode ./systerd-lite.py --debug

🔐 Security

Permission Levels

Level

Description

DISABLED

Tool disabled

READ_ONLY

Read-only

AI_ASK

Confirm before execution

AI_AUTO

Auto-execute allowed

Recommendations

  • Use minimal or monitoring template in production

  • Enable self category tools only in trusted environments

  • Protect HTTP API with firewall as needed


-
security - not tested
F
license - not found
-
quality - not tested

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/rintaro-s/sisterd_lite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server