heorth-mcp
heorth-mcp
El servidor MCP único del hogar de Wyrhta Labs, que se ejecuta como su propio contenedor.
No posee datos ni lógica de dominio. Cada llamada de herramienta se traduce en llamadas a la API REST pública de un servicio upstream, de modo que una herramienta MCP solo puede hacer lo que un miembro autenticado del hogar ya podría hacer por HTTP.
MCP client ──Streamable HTTP──▶ heorth-mcp ──▶ Heorth REST (37 tools)
└─▶ KithLedger REST (13 tools)Estado
Las 50 herramientas portadas. Las 37 herramientas de Heorth (household.*, calendar.*, meals.*, library.*, inventory.*, tasks.*, feoh.*) llegaron en la tarea A5; las 13 herramientas kith.* en la tarea B11. tools/list sirve lo que proporcionen los upstreams configurados: ambas, una o (con ninguna configurada) nada en absoluto. El código MCP sigue viviendo incrustado en Heorth y KithLedger y solo se elimina allí una vez que la herramienta equivalente aquí se verifica contra el contenedor desplegado.
Configuración
Variable | Significado |
| URL base de Heorth. Sin definir -> las 37 herramientas de Heorth no se registran. |
| URL base de KithLedger. Sin definir -> las 13 herramientas |
| La audiencia satélite para los tokens intercambiados (por defecto |
| Por defecto |
| Por llamada upstream, por defecto |
heorth-mcp no posee ninguna credencial propia, para ninguno de los dos upstreams. Las llamadas a Heorth llevan el Bearer he_... del llamante tal cual. Las llamadas a KithLedger llevan un token de miembro de corta duración que heorth-mcp intercambia en Heorth (POST /api/v1/auth/satellite-token, ADR 0009) usando esa misma credencial del llamante, almacenada en caché en memoria por llamante durante poco menos de sus 5 minutos de vida. Por eso kith.* necesita ambos upstreams: Heorth es la autoridad de identidad, así que si es inalcanzable, las herramientas kith.* fallan (IDENTITY_UNAVAILABLE) incluso cuando KithLedger está sano.
KITH_API_KEY ha desaparecido. KithLedger aplica control de acceso por miembro (ADR 0004) y ninguna de sus tres clases de credenciales kl_ es el miembro llamante: una clave member lee como el propio ámbito de la cuenta emisora, una clave household solo ve la porción del hogar, una clave ops no tiene acceso a datos en absoluto.
docs/spec/tool-surface.md— el contrato de las 50 herramientas y su mapeo RESTdocs/spec/migration.md— qué sale de los repositorios upstream, en qué orden y qué debe ser cierto antes de cada eliminaciónCLAUDE.md— arquitectura, modelo de autenticación y convenciones
Creado por ADR 0008 — MCP como contenedor independiente sobre REST en el meta repositorio Wyrhta-Labs/wyrhta-labs.
Imagen del contenedor
Publicado en el GitHub Container Registry como ghcr.io/wyrhta-labs/heorth-mcp mediante .github/workflows/build-image.yml. El flujo de trabajo primero verifica tipos y ejecuta la suite de pruebas completa (una suite en rojo bloquea la publicación) y luego construye el Dockerfile de este repositorio para linux/amd64.
Solo dos cosas publican: un push a main y una etiqueta git v*. Nada más lo hace, así que el registro se mantiene libre de basura de ramas.
Etiqueta | Producida por | ¿Fijable? |
| cada push a | sí: inmutable, una construcción por commit |
| un push de etiqueta |
|
| cada push a | no: puntero móvil |
| solo un push de etiqueta | no: puntero móvil |
Fijándolo en producción. El deploy/compose.prod.yml del meta repositorio requiere una etiqueta explícita en 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 existsNunca fijes latest ni main: ambos se mueven bajo el despliegue en ejecución y anulan el propósito de fijar. Usa el main-<sha> exacto que muestra la ejecución del flujo de trabajo (o docker images), o el semver de un lanzamiento.
La imagen es privada, como el repositorio. Un host que la extraiga necesita un inicio de sesión en GHCR con read:packages para la organización Wyrhta-Labs.
Repositorios relacionados
Repo | Rol |
Concepto, ADR, pila de despliegue | |
Centro del hogar — upstream | |
Gestor de relaciones — upstream | |
Librería compartida, fijada por etiqueta git |
This server cannot be installed
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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