Complete Hive platform functionality and expand cluster to 7 agents
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>
This commit is contained in:
133
mcp-server/SERVICE_README.md
Normal file
133
mcp-server/SERVICE_README.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# 🐝 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
|
||||
Reference in New Issue
Block a user