Major Features Added: - Fix Socket.IO connectivity by updating Dockerfile to use socket_app - Resolve distributed workflows API to return arrays instead of errors - Expand agent coverage from 3 to 7 agents (added OAK and ROSEWOOD) - Create comprehensive systemd service for MCP server with auto-discovery - Add daemon mode with periodic agent discovery every 5 minutes - Implement comprehensive test suite with 100% pass rate Infrastructure Improvements: - Enhanced database connection handling with retry logic - Improved agent registration with persistent storage - Added proper error handling for distributed workflows endpoint - Created management scripts for service lifecycle operations Agent Cluster Expansion: - ACACIA: deepseek-r1:7b (kernel_dev) - WALNUT: starcoder2:15b (pytorch_dev) - IRONWOOD: deepseek-coder-v2 (profiler) - OAK: codellama:latest (docs_writer) - OAK-TESTER: deepseek-r1:latest (tester) - ROSEWOOD: deepseek-coder-v2:latest (kernel_dev) - ROSEWOOD-VISION: llama3.2-vision:11b (tester) System Status: All 7 agents healthy, Socket.IO operational, MCP server fully functional 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
133 lines
3.2 KiB
Markdown
133 lines
3.2 KiB
Markdown
# 🐝 Hive MCP Server Service
|
|
|
|
This directory contains the systemd service configuration for running the Hive MCP Server as a background daemon with automatic agent discovery.
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### 1. Install the Service
|
|
```bash
|
|
./install-service.sh
|
|
```
|
|
|
|
### 2. Start the Service
|
|
```bash
|
|
sudo systemctl start hive-mcp
|
|
```
|
|
|
|
### 3. Check Status
|
|
```bash
|
|
sudo systemctl status hive-mcp
|
|
```
|
|
|
|
### 4. View Logs
|
|
```bash
|
|
journalctl -u hive-mcp -f
|
|
```
|
|
|
|
## 🛠️ Management Script
|
|
|
|
Use the provided management script for easy operations:
|
|
|
|
```bash
|
|
# Install service
|
|
./hive-mcp.sh install
|
|
|
|
# Start/stop/restart
|
|
./hive-mcp.sh start
|
|
./hive-mcp.sh stop
|
|
./hive-mcp.sh restart
|
|
|
|
# Monitor
|
|
./hive-mcp.sh status
|
|
./hive-mcp.sh logs
|
|
./hive-mcp.sh follow
|
|
|
|
# Agent management
|
|
./hive-mcp.sh discover # Trigger agent discovery
|
|
./hive-mcp.sh test # Test backend connection
|
|
|
|
# Remove service
|
|
./hive-mcp.sh uninstall
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
The service is configured via environment variables in the service file:
|
|
|
|
- `HIVE_API_URL`: Hive backend API endpoint (default: https://hive.home.deepblack.cloud/api)
|
|
- `HIVE_WS_URL`: WebSocket endpoint (default: wss://hive.home.deepblack.cloud/socket.io)
|
|
- `AUTO_DISCOVERY`: Enable periodic discovery (default: true)
|
|
- `DISCOVERY_INTERVAL`: Discovery interval in ms (default: 300000 = 5 minutes)
|
|
- `LOG_LEVEL`: Logging level (default: info)
|
|
|
|
## 🔄 Auto-Discovery
|
|
|
|
The service automatically:
|
|
|
|
1. **On Startup**: Scans the network for available Ollama agents
|
|
2. **Periodically**: Re-scans every 5 minutes (configurable)
|
|
3. **On Signal**: Triggers discovery when receiving SIGHUP (`systemctl reload hive-mcp`)
|
|
|
|
## 📊 Monitoring
|
|
|
|
### Service Status
|
|
```bash
|
|
sudo systemctl status hive-mcp
|
|
```
|
|
|
|
### Live Logs
|
|
```bash
|
|
journalctl -u hive-mcp -f
|
|
```
|
|
|
|
### Resource Usage
|
|
```bash
|
|
sudo systemctl show hive-mcp --property=MemoryCurrent,CPUUsageNSec
|
|
```
|
|
|
|
### Agent Status
|
|
```bash
|
|
curl -s https://hive.home.deepblack.cloud/api/agents | jq
|
|
```
|
|
|
|
## 🔧 Troubleshooting
|
|
|
|
### Service Won't Start
|
|
1. Check logs: `journalctl -u hive-mcp -n 50`
|
|
2. Verify backend connectivity: `./hive-mcp.sh test`
|
|
3. Check file permissions: `ls -la /home/tony/AI/projects/hive/mcp-server/`
|
|
|
|
### Auto-Discovery Issues
|
|
1. Check network connectivity to agent machines
|
|
2. Verify Ollama is running on target machines
|
|
3. Manually trigger discovery: `./hive-mcp.sh discover`
|
|
|
|
### High Resource Usage
|
|
1. Check discovery interval: `grep DISCOVERY_INTERVAL /etc/systemd/system/hive-mcp.service`
|
|
2. Monitor agent count: `curl -s https://hive.home.deepblack.cloud/api/agents | jq '.total'`
|
|
3. Adjust memory limits in service file if needed
|
|
|
|
## 🛡️ Security
|
|
|
|
The service runs with:
|
|
- Non-root user (tony)
|
|
- Restricted filesystem access
|
|
- Memory and CPU limits
|
|
- Private tmp directory
|
|
- No new privileges
|
|
|
|
## 📁 Files
|
|
|
|
- `hive-mcp.service` - Systemd service definition
|
|
- `install-service.sh` - Service installation script
|
|
- `hive-mcp.sh` - Management script
|
|
- `logs/` - Log directory (created by service)
|
|
- `data/` - Data directory (created by service)
|
|
|
|
## 🔗 Integration
|
|
|
|
The service integrates with:
|
|
- **Hive Backend**: https://hive.home.deepblack.cloud/api
|
|
- **Socket.IO**: wss://hive.home.deepblack.cloud/socket.io
|
|
- **Systemd**: Full systemd service lifecycle
|
|
- **Journal**: Centralized logging via systemd-journald |