1. mcp-server-sqlite:
  2. @modelcontextprotocol/server-filesystem και @modelcontextprotocol/server-github:

Επομένως, η σωστή σειρά εγκατάστασης και εφαρμογής αλλαγών θα είναι:

# 1. Προετοιμασία Python περιβάλλοντος για το sqlite
cd /home/legal-admin/projects/legal-text-analysis
source .venv/bin/activate
uv add mcp-server-sqlite

# 2. Εγκατάσταση Node.js εξαρτήσεων globally
sudo npm install -g @modelcontextprotocol/server-filesystem
sudo npm install -g @modelcontextprotocol/server-github

# 3. Δημιουργία των systemd services
sudo cp mcp-server-sqlite.service /etc/systemd/system/
sudo cp mcp-filesystem.service /etc/systemd/system/
sudo cp mcp-github.service /etc/systemd/system/

# 4. Reload και ενεργοποίηση με τη σωστή σειρά
sudo systemctl daemon-reload

# Πρώτα το SQLite service (καθώς χρειάζεται το Python env)
sudo systemctl enable mcp-server-sqlite.service
sudo systemctl start mcp-server-sqlite.service

# Μετά τα Node.js services
sudo systemctl enable mcp-filesystem.service
sudo systemctl start mcp-filesystem.service

sudo systemctl enable mcp-github.service
sudo systemctl start mcp-github.service

# 5. Επαλήθευση όλων των υπηρεσιών
for service in mcp-server-sqlite mcp-filesystem mcp-github; do
    echo "Checking $service..."
    sudo systemctl status $service
done

Επίσης, θα πρέπει να τροποποιήσουμε τα service files για να αντανακλούν αυτή τη διαφορά:

  1. Για το mcp-server-sqlite.service, χρειαζόμαστε το Python virtual environment
  2. Για τα άλλα δύο, χρειαζόμαστε μόνο το Node.js περιβάλλον

Καταλαβαίνω το πρόβλημα - χρειάζεται πρώτα να δημιουργήσουμε τα service files πριν προσπαθήσουμε να τα αντιγράψουμε. Ας το κάνουμε βήμα-βήμα.

Πρώτα, ας δημιουργήσουμε τα service files στον κατάλληλο φάκελο του project:

# Δημιουργία φακέλου για τα service files
mkdir -p ~/projects/legal-text-analysis/services

# Μετακίνηση στον φάκελο
cd ~/projects/legal-text-analysis/services

Τώρα, ας δημιουργήσουμε το πρώτο service file για το SQLite:

cat > mcp-server-sqlite.service << 'EOL'
[Unit]
Description=MCP Server SQLite
After=network.target
StartLimitIntervalSec=300
StartLimitBurst=5

[Service]
Type=simple
User=legal-admin
WorkingDirectory=/home/legal-admin/projects/legal-text-analysis
Environment=PYTHONPATH=/home/legal-admin/projects/legal-text-analysis/.venv/lib/python3.10/site-packages
Environment=PATH=/home/legal-admin/projects/legal-text-analysis/.venv/bin:${PATH}
Environment=UV_FORCE_STDIO=1
Environment=DEBUG=mcp:*,sqlite:*
Environment=MCP_SQLITE_EXPOSE_TABLES=true
ExecStart=/home/legal-admin/projects/legal-text-analysis/.venv/bin/uvx mcp-server-sqlite --db-path /home/legal-admin/projects/legal-text-analysis/data/legal_text.db
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOL

Για το Filesystem service:

cat > mcp-filesystem.service << 'EOL'
[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
Environment=NODE_ENV=production
Environment=DEBUG=mcp:*,fs:*
Environment=PATH=/usr/local/bin:/usr/bin:/bin
ExecStart=/usr/bin/npx -y @modelcontextprotocol/server-filesystem /home/legal-admin/projects/legal-text-analysis/data
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOL

Και για το GitHub service:

cat > mcp-github.service << 'EOL'
[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
Environment=NODE_ENV=production
Environment=DEBUG=mcp:*,github:*
Environment=GITHUB_PERSONAL_ACCESS_TOKEN=your_token_here
Environment=PATH=/usr/local/bin:/usr/bin:/bin
ExecStart=/usr/bin/npx -y @modelcontextprotocol/server-github
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOL

Τώρα μπορούμε να αντιγράψουμε τα αρχεία στο σωστό μέρος:

# Αντιγραφή των service files στο systemd
sudo cp mcp-server-sqlite.service /etc/systemd/system/
sudo cp mcp-filesystem.service /etc/systemd/system/
sudo cp mcp-github.service /etc/systemd/system/

# Επαναφόρτωση του systemd
sudo systemctl daemon-reload