- Raspberry Pi 4B gateway for Claude command execution - Cloudflare Tunnel at mcp.firefrostgaming.com - SSH access to all 7 Firefrost servers - API token authentication with command logging - Deployed April 11, 2026 by Chronicler #76
114 lines
2.9 KiB
Markdown
114 lines
2.9 KiB
Markdown
# Trinity Core MCP Gateway
|
|
|
|
## Overview
|
|
|
|
Trinity Core is a Raspberry Pi 4B running in Michael's home network, providing a secure bridge for Claude to execute commands on Firefrost infrastructure.
|
|
|
|
**Deployed:** April 11, 2026 by Chronicler #76
|
|
|
|
## Hardware
|
|
|
|
- **Device:** Raspberry Pi 4B (4GB)
|
|
- **Storage:** 16GB SD card
|
|
- **OS:** Raspberry Pi OS Lite (64-bit)
|
|
- **Hostname:** `trinity-core`
|
|
- **Local access:** `ssh claude_executor@trinity-core.local`
|
|
- **Network:** WiFi (TheDungeon) with ethernet backup option
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Claude → mcp.firefrostgaming.com → Cloudflare Tunnel → Trinity Core → SSH → Target Server
|
|
```
|
|
|
|
## Endpoint
|
|
|
|
- **URL:** `https://mcp.firefrostgaming.com`
|
|
- **Health check:** `GET /` (no auth)
|
|
- **List servers:** `GET /servers` (requires auth)
|
|
- **Execute command:** `POST /exec` (requires auth)
|
|
|
|
## Authentication
|
|
|
|
- **Type:** Bearer token
|
|
- **Token:** `FFG-Trinity-2026-Core-Access`
|
|
- **Header:** `Authorization: Bearer FFG-Trinity-2026-Core-Access`
|
|
|
|
## Registered Servers
|
|
|
|
| Name | Host | User |
|
|
|------|------|------|
|
|
| command-center | 63.143.34.217 | root |
|
|
| tx1-dallas | 38.68.14.26 | root |
|
|
| nc1-charlotte | 216.239.104.130 | root |
|
|
| panel-vps | 45.94.168.138 | root |
|
|
| dev-panel | 64.50.188.128 | root |
|
|
| wiki-vps | 64.50.188.14 | architect |
|
|
| services-vps | 38.68.14.188 | root |
|
|
|
|
## Usage Examples
|
|
|
|
### Health check
|
|
```bash
|
|
curl https://mcp.firefrostgaming.com
|
|
```
|
|
|
|
### List servers
|
|
```bash
|
|
curl -H "Authorization: Bearer FFG-Trinity-2026-Core-Access" https://mcp.firefrostgaming.com/servers
|
|
```
|
|
|
|
### Execute command
|
|
```bash
|
|
curl -X POST https://mcp.firefrostgaming.com/exec \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer FFG-Trinity-2026-Core-Access" \
|
|
-d '{"server":"command-center","command":"hostname"}'
|
|
```
|
|
|
|
## Services
|
|
|
|
Both services are enabled and auto-start on boot:
|
|
|
|
- **cloudflared** — Cloudflare Tunnel to expose MCP endpoint
|
|
- **mcp-server** — Node.js Express server handling requests
|
|
|
|
### Service management
|
|
```bash
|
|
sudo systemctl status cloudflared
|
|
sudo systemctl status mcp-server
|
|
sudo systemctl restart mcp-server
|
|
```
|
|
|
|
## Logging
|
|
|
|
Command log location: `/home/claude_executor/mcp-server/command.log`
|
|
|
|
```bash
|
|
cat ~/mcp-server/command.log
|
|
tail -f ~/mcp-server/command.log
|
|
```
|
|
|
|
## File Locations
|
|
|
|
| File | Path |
|
|
|------|------|
|
|
| MCP server code | `/home/claude_executor/mcp-server/index.js` |
|
|
| Command log | `/home/claude_executor/mcp-server/command.log` |
|
|
| Cloudflare config | `/etc/cloudflared/config.yml` |
|
|
| Cloudflare credentials | `/etc/cloudflared/*.json` |
|
|
| SSH keys | `/home/claude_executor/.ssh/` |
|
|
|
|
## Cloudflare Tunnel
|
|
|
|
- **Tunnel name:** trinity-core
|
|
- **Tunnel ID:** 446d70b0-abd1-4ec7-8e06-6c277f99cbc7
|
|
- **Routes:** mcp.firefrostgaming.com → localhost:3000
|
|
|
|
## Future Enhancements
|
|
|
|
- [ ] Discord notifications for command execution
|
|
- [ ] Claude MCP connector integration
|
|
- [ ] Command allowlist/categories
|
|
- [ ] Rate limiting
|