Skip to main content
Glama
Wyrhta-Labs

heorth-mcp

by Wyrhta-Labs

heorth-mcp

Der einzelne MCP-Server des Wyrhta-Labs-Haushalts, der als eigener Container läuft.

Er besitzt keine Daten und keine Domänenlogik. Jeder Tool-Aufruf wird in Aufrufe gegen die öffentliche REST-API eines vorgelagerten Dienstes übersetzt – ein MCP-Tool kann also nur das tun, was ein authentifiziertes Haushaltsmitglied bereits über HTTP tun könnte.

MCP client ──Streamable HTTP──▶ heorth-mcp ──▶ Heorth REST      (37 tools)
                                           └─▶ KithLedger REST  (13 tools)

Status

Alle 50 Tools portiert. Die 37 Heorth-Tools (household.*, calendar.*, meals.*, library.*, inventory.*, tasks.*, feoh.*) landeten in Aufgabe A5; die 13 kith.*-Tools in Aufgabe B11. tools/list liefert, was die konfigurierten vorgelagerten Dienste bereitstellen – beide, einer oder (wenn keiner konfiguriert ist) nichts. Der MCP-Code lebt weiterhin eingebettet in Heorth und KithLedger und wird dort erst gelöscht, sobald das entsprechende Tool hier gegen den bereitgestellten Container verifiziert ist.

Konfiguration

Variable

Bedeutung

HEORTH_BASE_URL

Die Basis-URL von Heorth. Nicht gesetzt → die 37 Heorth-Tools werden nicht registriert.

KITH_BASE_URL

Die Basis-URL von KithLedger. Nicht gesetzt → die 13 kith.*-Tools werden nicht registriert. Erfordert HEORTH_BASE_URL (siehe unten) – allein gesetzt, ist es ein Boot-Fehler.

KITH_AUDIENCE

Die Zielgruppe (Audience) für ausgetauschte Tokens (Standard: kithledger). Muss mit SATELLITE_AUDIENCES von Heorth und SATELLITE_AUDIENCE von KithLedger übereinstimmen.

PORT

Standard: 3200.

UPSTREAM_TIMEOUT_MS

Pro vorgelagertem Aufruf, Standard: 10000.

heorth-mcp besitzt keine eigenen Anmeldeinformationen – für keinen der beiden vorgelagerten Dienste. Heorth- Aufrufe tragen das Bearer he_... des Aufrufers unverändert. KithLedger-Aufrufe tragen ein kurzlebiges Mitglieder-Token, das heorth-mcp bei Heorth austauscht (POST /api/v1/auth/satellite-token, ADR 0009), unter Verwendung derselben Aufrufer- Anmeldeinformationen, pro Aufrufer im Speicher zwischengespeichert für knapp unter dessen 5-minütiger Lebensdauer. Deshalb benötigt kith.* beide vorgelagerten Dienste: Heorth ist die Identitätsinstanz, also schlagen bei nicht erreichbarem Heorth die kith.*-Tools fehl (IDENTITY_UNAVAILABLE), selbst wenn KithLedger erreichbar ist.

KITH_API_KEY ist weg. KithLedger erzwingt zugriffsbezogene Mitgliederkontrolle (ADR 0004) und keine seiner drei kl_-Anmeldeinformationsarten ist das aufrufende Mitglied: ein member-Schlüssel liest als der Umfang des ausstellenden Kontos, ein household-Schlüssel sieht nur den Haushaltsausschnitt, ein ops-Schlüssel hat gar keinen Datenzugriff.

  • docs/spec/tool-surface.md – der 50-Tool-Vertrag und seine REST-Zuordnung

  • docs/spec/migration.md – was aus den vorgelagerten Repos herauswandert, in welcher Reihenfolge und was vor jeder Löschung zutreffen muss

  • CLAUDE.md – Architektur, Authentifizierungsmodell und Konventionen

Erstellt durch ADR 0008 – MCP als eigenständiger Container über REST im Meta- Repo Wyrhta-Labs/wyrhta-labs.

Container

Veröffentlicht in der GitHub Container Registry als ghcr.io/wyrhta-labs/heorth-mcp durch .github/workflows/build-image.yml. Der Workflow typprüft und führt zuerst die vollständige Testsuite aus – eine rote Suite blockiert die Veröffentlichung – und baut dann das Dockerfile dieses Repos für linux/amd64.

Nur zwei Dinge veröffentlichen: ein Push auf main und ein v*-Git-Tag. Sonst nichts – so bleibt die Registry frei von Branch-Müll.

Tag

Erzeugt durch

Pinnbar?

main-<short sha>

jeder Push auf main

ja – unveränderlich, ein Build pro Commit

<version>, <major>.<minor>, <major>

ein v*-Tag-Push (z. B. v0.2.0 -> 0.2.0, 0.2, 0)

<version> ja; die abgeschnittenen wandern

main

jeder Push auf main

nein – wandernder Zeiger

latest

nur ein v*-Tag-Push

nein – wandernder Zeiger

In der Produktion festpinnen. Das deploy/compose.prod.yml des Meta-Repos verlangt ein explizites Tag in deploy/.env:

HEORTH_MCP_IMAGE_TAG=main-a1b2c3d   # a main build, by short commit sha
HEORTH_MCP_IMAGE_TAG=0.2.0          # a release, once a v0.2.0 tag exists

Pinnen Sie niemals latest oder main – beide bewegen sich unter dem laufenden Deployment und machen das Festpinnen zunichte. Verwenden Sie das exakte main-<sha>, das im Workflow- Lauf angezeigt wird (oder docker images), oder die Semver eines Releases.

Das Image ist privat, wie das Repo. Ein Host, der es zieht, benötigt einen GHCR-Login mit read:packages für die Wyrhta-Labs-Organisation.

Verwandte Repos

Repo

Rolle

Wyrhta-Labs/wyrhta-labs

Konzept, ADRs, Deployment-Stack

Wyrhta-Labs/Heorth

Haushalts-Hub – vorgelagert

Wyrhta-Labs/KithLedger

Beziehungsverwaltung – vorgelagert

Wyrhta-Labs/wyrhta-core

Gemeinsame Bibliothek, per Git-Tag gepinnt

-
license - not tested
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

  • 34 production API tools over one hosted MCP endpoint.

  • Hosted MCP server for personal tools: budgets, savings goals, spaced repetition, tips, countdowns.

  • Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

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/Wyrhta-Labs/heorth-mcp'

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