Skip to main content

2. Connect to SABA Core

What is SABA Core?

SABA Core is the central server that connects your LLM peripheral to Claude Desktop.

Components:

  • MQTT Broker (Mosquitto) - Device communication
  • MCP Bridge - Claude Desktop connection
  • Projection Manager - Web interface for tool management

Architecture

┌─────────────────┐    MQTT     ┌─────────────────┐    MCP/SSE    ┌─────────────────┐
│ IoT Devices │ ◄─────────► │ Core Server │ ◄───────────► │ Claude Desktop │
│ (Hardware SDK) │ 1883 │ (Bridge+Broker) │ 8083 │ (mcp-remote) │
└─────────────────┘ └─────────────────┘ └─────────────────┘

HTTP │ 8084

┌─────────────────┐
│ Projection Mgr │
│ (Web Interface)│
└─────────────────┘

1. Install SABA Core

Install Docker

First, you need Docker. Download it from the official Docker website.

Run Core Server

git clone https://github.com/kawaiiTaiga/project_SABA.git
cd project_SABA/core_server
docker compose up -d --build

Check Ports

Default ports:

  • MQTT Broker: 1883 (for device communication)
  • MCP Bridge: 8083 (for Claude Desktop connection)
  • Projection Manager: 8084 (web management interface)

Verify Installation

# Check core server status
curl http://localhost:8083/healthz

# List connected devices (empty initially)
curl http://localhost:8083/devices

# Open web interface
# Navigate to http://localhost:8084 in browser

2. Device Provisioning

To connect your device to SABA Core, you need to complete the provisioning process.

Provisioning Steps

Step 1: Power On Device

Upload firmware to ESP32 and power it on. It will automatically enter setup mode on first boot.

Step 2: Connect to Wi-Fi

The device creates a Wi-Fi AP named MCP-SETUP-XXXX. Connect to this Wi-Fi.

Step 3: Configure via Browser

Navigate to http://192.168.4.1 and enter:

  • Wi-Fi SSID: Your home/office Wi-Fi name
  • Wi-Fi Password: Wi-Fi password
  • MQTT Broker Host: IP address of the computer running SABA Core (e.g., 192.168.1.100)
  • MQTT Broker Port: 1883 (default)

Step 4: Save and Reboot

Save settings and the device will reboot and automatically connect to SABA Core.

Finding MQTT Broker Host

Windows:

ipconfig
# Look for "IPv4 Address" (e.g., 192.168.1.100)

macOS/Linux:

ifconfig
# or
ip addr show

3. Verify Device in Projection Manager

Access Web Interface

Open http://localhost:8084 in your browser.

You'll see the "Project Saba MCP Manager" page.

Check Device

Your connected device should appear in the list:

  • Device ID (e.g., esp32-cam-01)
  • Connection status
  • Available tools

Device not showing?

# Check broker logs
docker logs -f mcp-broker

# Check bridge logs
docker logs -f mcp-bridge

Verify your device's MQTT settings are correct.


4. Configure Tool Names

Tool Naming Rules

MCP requires specific naming conventions:

Allowed:

  • Letters (a-z, A-Z)
  • Numbers (0-9)
  • Underscore (_)
  • Hyphen (-)

Not Allowed:

  • Spaces
  • Special characters
  • Non-ASCII characters (Korean, Chinese, etc.)

Examples:

  • take_photo, camera_shot, sensor_read
  • take photo, capture photo, capture(image)

Rename Tools

  1. Select device in Projection Manager
  2. Find tool in the list
  3. Enter new name in "Alias" field
  4. Update "Description" if needed
  5. Save

Apply Changes

Important: After changing settings, you must restart the Bridge.

Click "Restart Bridge" button in web interface, or:

docker restart mcp-bridge

5. Test Connection

Check Device Status

curl http://localhost:8083/devices

Should return JSON list of connected devices.

Check MCP Endpoint

curl -i http://localhost:8083/sse

Should return 200 OK with Content-Type: text/event-stream.


Troubleshooting

Device Not Connecting

Check MQTT Broker:

docker logs -f mcp-broker

Verify Device MQTT Settings:

  • Is Broker Host correct?
  • Is port 1883?
  • Are they on the same network?

Tools Not Appearing

  • Check if tools are enabled in Projection Manager
  • Restart device to reconnect
  • Check bridge logs: docker logs -f mcp-bridge

Settings Not Applying

  • Click "Restart Bridge" button
  • Or run docker restart mcp-bridge
  • Check config file: ./config/projection_config.json

Next Steps

Once SABA Core and your device are connected, it's time to connect Claude Desktop.

Move on to 3. Connect to Claude Desktop.