Skip to main content
Glama
adastra-labs

Capillus Hermes MCP

by adastra-labs

Capillus Hermes MCP

Lokale Bluetooth-Erfassung und MCP-Werkzeuge für Bluetooth-fähige Capillus-Kappen.

Dieses Repository besteht aus zwei Teilen:

  • monitor/: Ein Python-BLE-Monitor, der eine Capillus-Kappe erkennt, wenn sie zur Behandlung eingeschaltet wird, lokale Beobachtungen protokolliert und abgeschlossene Behandlungssitzungen ableitet.

  • src/: Ein schreibgeschützter Model Context Protocol-Server für Hermes, Claude Desktop oder jeden MCP-Client. Er liest die lokalen Dateien des Monitors und stellt Status, Sitzungen, Adhärenz, Beobachtungen und Geräteidentität bereit.

Es wird kein Capillus-Konto, keine Cloud-API, kein privater Endpunkt, kein Scraping und keine App-Automatisierung benötigt.

Was es verfolgt

Bluetooth-fähige Capillus-Kappen erscheinen nur während des Behandlungseinschaltfensters. Der Monitor sucht nach einer kappenähnlichen BLE-Werbung und zeichnet dann auf:

  • Kappe anwesend/offline-Status

  • Aktuelle RSSI und BLE-Identität

  • Abgeleiteter Behandlungsbeginn/-ende

  • Abgeschlossene Sitzungen

  • Roh beobachtete BLE-Dauer, Inferenzfenster, gutgeschriebene Behandlungsdauer und Abschlussgrundlage

  • Tägliche Adhärenz und Serien

Der Standard-Matcher sucht nach Namen wie Capillus_CAP, Herstellerdatenschlüsseln und optionalen festgelegten Adressen. Sie können Ihre eigene Kappe verwenden, indem Sie sie einmal einschalten und vom Monitor automatisch erkennen lassen, dann die entdeckte Identität in monitor/config.json festlegen.

Standardmäßig wird eine Sitzung als abgeschlossen markiert nach einem vollständigen beobachteten Behandlungsfenster von 360 Sekunden, einem nahezu vollständigen beobachteten Kappen-Einschaltfenster innerhalb von complete_grace_seconds, oder einem nahezu vollständigen veralteten Schließfenster, in dem der Monitor die Kappe vor Kurzem genug gesehen hat, um zu folgern, dass der Behandlungszyklus nach der letzten Werbung weiterlief. Die rohe BLE-Dauer wird als observed_duration_seconds beibehalten; die veraltete Schließspanne wird als inference_window_seconds und close_detected_at beibehalten; die gutgeschriebene Behandlungsdauer wird als inferred_duration_seconds mit einer completion_basis wie observed_full_window, inferred_cap_power_cycle oder inferred_stale_power_window angegeben. Viel kürzere Beobachtungen bleiben unvollständig, da verlorene BLE-Werbungen nicht zu falscher Adhärenzgutschrift führen sollten.

Auf macOS läuft der Standardmodus subprocess_scanner jede BLE-Erkennung in einem kurzlebigen Kindprozess. Dadurch bleibt jegliches Bleak/CoreBluetooth-Heap-Wachstum außerhalb des ständig laufenden Monitorprozesses; wenn der Plattform-Scanner über wiederholte Erkennungen hinweg Speicher verliert, wird dieser beim Beenden des Kindprozesses freigegeben. Falls Subprozess-Scanning in einem bestimmten macOS-Privatsphärekontext nicht verfügbar ist, kann der Monitor auf prozessinterne Scans zurückfallen und sich nach max_runtime_seconds oder max_scans_per_process sauber selbst neu starten; mit launchd KeepAlive startet er automatisch neu.

Related MCP server: BLE MCP Server

Monitor installieren

mkdir -p ~/.capillus-home-monitor
cp monitor/capillus_monitor.py ~/.capillus-home-monitor/
cp monitor/config.example.json ~/.capillus-home-monitor/config.json
cd ~/.capillus-home-monitor
python3 -m venv .venv
.venv/bin/pip install -r /path/to/capillus-hermes-mcp/monitor/requirements.txt

Einmalig von einem GUI-Terminal ausführen und die Kappe einschalten:

~/.capillus-home-monitor/.venv/bin/python ~/.capillus-home-monitor/capillus_monitor.py --config ~/.capillus-home-monitor/config.json run

Auf macOS müssen Sie dem Python-Prozess in den Systemeinstellungen Bluetooth-Berechtigung erteilen. Für dauerhafte Verfolgung bearbeiten Sie monitor/deploy/launchd/com.example.capillus-monitor.plist, ersetzen Sie /Users/YOU, kopieren Sie es nach ~/Library/LaunchAgents/ und starten Sie es mit launchctl.

Optionale Open Brain-Synchronisation

Wenn Sie Open Brain lokal ausführen, kann die enthaltene Synchronisationsschleife dauerhafte Adhärenzfakten über den normalen capture_thought-Pfad von Open Brain erfassen. Sie erfasst jede abgeschlossene Sitzung einmal und, nach der konfigurierten lokalen Abendstunde, eine Fehlbehandlungs-Warnung, wenn das Tagesziel nicht erreicht wurde.

In monitor/config.json aktivieren und auf Ihr lokales Open Brain-Verzeichnis verweisen:

{
  "openbrain": {
    "enabled": true,
    "repo_path": "/Users/YOU/open-brain",
    "tenant": "default",
    "time_zone": "America/New_York",
    "person_name": "the wearer",
    "daily_rule": "Daily Capillus treatment is required and non-negotiable."
  }
}

Einmalig ausführen:

/Users/YOU/open-brain/.venv/bin/python ~/.capillus-home-monitor/capillus_openbrain_sync.py --config ~/.capillus-home-monitor/config.json once

Für dauerhafte Synchronisation bearbeiten Sie monitor/deploy/launchd/com.example.capillus-openbrain-sync.plist, ersetzen Sie /Users/YOU, kopieren Sie es nach ~/Library/LaunchAgents/ und starten Sie es mit launchctl.

MCP-Server installieren

npm install
npm run build

Den MCP auf Ihre Monitordaten verweisen:

export CAPILLUS_MONITOR_DATA_DIR="$HOME/.capillus-home-monitor/data"
node dist/src/index.js

Für Hermes einen stdio-MCP-Server konfigurieren, der Folgendem entspricht:

mcp_servers:
  capillus:
    enabled: true
    command: /usr/local/bin/node
    args:
      - /path/to/capillus-hermes-mcp/dist/src/index.js
    env:
      CAPILLUS_MONITOR_DATA_DIR: /Users/YOU/.capillus-home-monitor/data
      CAPILLUS_TIME_ZONE: America/New_York

Hermes stellt die Werkzeuge mit dem normalen mcp_<server>_<tool>-Präfix bereit, zum Beispiel mcp_capillus_capillus_today.

Werkzeuge

  • capillus_status: Aktuelle Anwesenheit, letzter Sichtungszeitpunkt, aktive Sitzung, Geräteidentität.

  • capillus_today: Behandlungsabschluss des aktuellen lokalen Tages und aktive Sitzung.

  • capillus_sessions: Kürzliche abgeleitete Behandlungssitzungen, einschließlich beobachteter Dauer, Inferenzfenster, gutgeschriebener Dauer und Abschlussgrundlage.

  • capillus_adherence: Tägliche Adhärenz, verpasste Tage und aktuelle Serie.

  • capillus_observations: Kürzliche passende BLE-Beobachtungen und optionale nahegelegene Kandidaten.

  • capillus_device: Festgelegte Identität und beobachtete proprietäre BLE-Dienstnotizen.

Beobachtete BLE-Form

Die während der Entwicklung beobachtete Kappe warb als Capillus_CAP. Eine schreibgeschützte GATT-Sonde zeigte einen proprietären UART-artigen Dienst:

  • Dienst: 49535343-fe7d-4ae5-8fa9-9fafd205e455

  • Charakteristik: 49535343-1e4d-4bd9-ba61-23c647249616

  • Charakteristik-Eigenschaften: write, notify, indicate, write-without-response

Der öffentliche Monitor sendet keine Steuerbefehle. Er verwendet nur lokale Bluetooth-Präsenz und Zeitmessung.

Sicherheit

Dies ist Adhärenz-Telemetrie, kein medizinischer Rat. Sie bewertet kein Haarwachstum, verändert keine Behandlung und steuert die Kappe nicht.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables control of lights in CASAMBI networks through Bluetooth interface without requiring APIs. Provides direct lighting control and management capabilities through natural language interactions.
    1
    GPL 3.0
  • A
    license
    A
    quality
    C
    maintenance
    A stateful Bluetooth Low Energy (BLE) MCP server that enables AI agents to scan, connect, read/write characteristics, and subscribe to notifications on BLE devices.
    35
    17
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables MCP clients to control DG-Lab Coyote 2.0/3.0 devices via Bluetooth, providing tools for device scanning, connection, strength adjustment, wave design, and emergency stop.
    14
    28
    13
    MIT

View all related MCP servers

Related MCP Connectors

  • Glucose readings from your LibreLink Up sensor: graph, logbook, stats and summaries (read-only). Sec

  • Connect your Oura Ring account securely in minutes. Enable authorized access to your sleep, activi…

  • MCP server for Withings health data — sleep, activity, heart, and body metrics.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/adastra-labs/capillus-hermes-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server