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