1. Για το Filesystem service:
sudo nano /etc/systemd/system/mcp-server-filesystem.service

[Unit]
Description=MCP Server Filesystem
After=network.target
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
Type=simple
User=legal-admin
WorkingDirectory=/home/legal-admin/projects/legal-text-analysis
ExecStart=/usr/bin/npx -y @modelcontextprotocol/server-filesystem ./data
Environment=MCP_SERVER_HOST=0.0.0.0
Environment=MCP_SERVER_PORT=7778
Environment=NODE_ENV=production
Environment=PATH=/usr/bin:/usr/local/bin:/bin
StandardOutput=append:/home/legal-admin/projects/legal-text-analysis/logs/mcp-filesystem.log
StandardError=append:/home/legal-admin/projects/legal-text-analysis/logs/mcp-filesystem.log
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

  1. Για το GitHub service:
sudo nano /etc/systemd/system/mcp-server-github.service

[Unit]
Description=MCP Server GitHub
After=network.target
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
Type=simple
User=legal-admin
WorkingDirectory=/home/legal-admin/projects/legal-text-analysis
ExecStart=/usr/bin/npx -y @modelcontextprotocol/server-github
Environment=MCP_SERVER_HOST=0.0.0.0
Environment=MCP_SERVER_PORT=7779
Environment=NODE_ENV=production
Environment=GITHUB_PERSONAL_ACCESS_TOKEN=ghp_cK30Qhq752W1Oet5MrWrKhKy3X8xkA1jQk3F
Environment=PATH=/usr/bin:/usr/local/bin:/bin
StandardOutput=append:/home/legal-admin/projects/legal-text-analysis/logs/mcp-github.log
StandardError=append:/home/legal-admin/projects/legal-text-analysis/logs/mcp-github.log
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

  1. Επανεκκίνηση των services:
sudo systemctl daemon-reload

# Σταματάμε όλα τα services
sudo systemctl stop mcp-server-sqlite
sudo systemctl stop mcp-server-filesystem
sudo systemctl stop mcp-server-github

# Καθαρισμός logs
sudo journalctl --vacuum-time=1s

# Επανεκκίνηση με καθυστέρηση
sudo systemctl start mcp-server-sqlite
sleep 5
sudo systemctl start mcp-server-filesystem
sleep 5
sudo systemctl start mcp-server-github

  1. Έλεγχος κατάστασης:
systemctl status mcp-server-*

Αυτές οι αλλαγές:

Θέλεις να προχωρήσουμε με αυτές τις αλλαγές;

Τα services σε έναν server (ιδιαίτερα σε Linux) είναι προγράμματα που τρέχουν στο παρασκήνιο και παρέχουν συγκεκριμένες λειτουργίες. Η δημιουργία services προσφέρει τα εξής πλεονεκτήματα:

  1. Αυτόματη Εκκίνηση

  2. Διαχείριση & Παρακολούθηση

    # Έλεγχος κατάστασης
    systemctl status mcp-server-sqlite
    
    # Επανεκκίνηση αν χρειαστεί
    sudo systemctl restart mcp-server-sqlite