Skip to main content
Glama
Wyrhta-Labs

heorth-mcp

by Wyrhta-Labs

heorth-mcp

Wyrhta Labs 가구의 단일 MCP 서버로, 자체 컨테이너로 실행됩니다.

이 서버는 데이터도 도메인 로직도 소유하지 않습니다. 모든 도구 호출은 업스트림 서비스의 공개 REST API에 대한 호출로 변환됩니다. 따라서 MCP 도구는 인증된 가구 구성원이 이미 HTTP로 할 수 있는 일만 수행할 수 있습니다.

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

상태

50개 도구 모두 이식 완료. 37개의 Heorth 도구(household.*, calendar.*, meals.*, library.*, inventory.*, tasks.*, feoh.*)는 작업 A5에서, 13개의 kith.* 도구는 작업 B11에서 완료되었습니다. tools/list는 구성된 업스트림이 제공하는 모든 것을 제공합니다 — 둘 다, 하나만, 또는 (둘 다 구성되지 않은 경우) 아무것도 제공하지 않습니다. MCP 코드는 여전히 Heorth와 KithLedger에 내장되어 있으며, 여기서 동등한 도구가 배포된 컨테이너에 대해 검증된 후에만 해당 저장소에서 삭제됩니다.

구성

변수

의미

HEORTH_BASE_URL

Heorth의 기본 URL. 설정 안 됨 -> 37개 Heorth 도구가 등록되지 않음.

KITH_BASE_URL

KithLedger의 기본 URL. 설정 안 됨 -> 13개 kith.* 도구가 등록되지 않음. HEORTH_BASE_URL 필요 (아래 참조) — 단독으로 설정하면 부팅 오류.

KITH_AUDIENCE

교환된 토큰의 위성 대상 (기본값 kithledger). Heorth의 SATELLITE_AUDIENCES 및 KithLedger의 SATELLITE_AUDIENCE와 일치해야 함.

PORT

기본값 3200.

UPSTREAM_TIMEOUT_MS

업스트림 호출당, 기본값 10000.

heorth-mcp는 자체 자격 증명을 보유하지 않습니다 — 두 업스트림 모두에 대해. Heorth 호출은 호출자의 Bearer he_...를 그대로 전달합니다. KithLedger 호출은 heorth-mcp가 동일한 호출자 자격 증명을 사용하여 Heorth(POST /api/v1/auth/satellite-token, ADR 0009)에서 교환한 단기 회원 토큰을 전달하며, 호출자별로 메모리에 5분 수명보다 약간 짧게 캐시됩니다. 이것이 kith.*가 두 업스트림을 모두 필요로 하는 이유입니다: Heorth가 ID 권한 기관이므로, Heorth에 연결할 수 없으면 KithLedger가 정상이어도 kith.* 도구는 실패합니다(IDENTITY_UNAVAILABLE).

KITH_API_KEY제거되었습니다. KithLedger는 회원별 접근 제어(ADR 0004)를 적용하며, 세 가지 kl_ 자격 증명 종류 중 어느 것도 호출하는 회원이 아닙니다: member 키는 발급 계정 자체의 범위로 읽고, household 키는 가구 슬라이스만 보며, ops 키는 데이터 접근 권한이 전혀 없습니다.

메타 저장소 Wyrhta-Labs/wyrhta-labsADR 0008 — REST 위의 독립 컨테이너로서의 MCP에 의해 생성됨.

컨테이너 이미지

.github/workflows/build-image.yml에 의해 GitHub Container Registry에 ghcr.io/wyrhta-labs/heorth-mcp 로 게시됩니다. 워크플로는 먼저 타입 검사와 전체 테스트 스위트를 실행합니다 — 실패한 스위트는 게시를 차단합니다 — 그런 다음 이 저장소의 Dockerfilelinux/amd64용으로 빌드합니다.

두 가지 경우에만 게시됩니다: main에 대한 푸시와 v* git 태그. 그 외에는 아무것도 게시하지 않으므로 레지스트리에 브랜치 쓰레기가 쌓이지 않습니다.

태그

생성 조건

고정 가능?

main-<short sha>

main에 대한 모든 푸시

예 — 불변, 커밋당 한 번 빌드

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

v* 태그 푸시 (예: v0.2.0 -> 0.2.0, 0.2, 0)

<version> 예; 잘린 버전은 이동

main

main에 대한 모든 푸시

아니요 — 이동 포인터

latest

v* 태그 푸시만

아니요 — 이동 포인터

프로덕션에서 고정하기. 메타 저장소의 deploy/compose.prod.ymldeploy/.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

latest 또는 main을 고정하지 마십시오 — 둘 다 실행 중인 배포 아래에서 이동하므로 고정의 의미가 없습니다. 워크플로 실행(또는 docker images)에 표시된 정확한 main-<sha> 또는 릴리스의 semver를 사용하십시오.

이미지는 저장소와 마찬가지로 비공개입니다. 이미지를 가져오는 호스트는 Wyrhta-Labs 조직에 대한 read:packages 권한이 있는 GHCR 로그인이 필요합니다.

관련 저장소

저장소

역할

Wyrhta-Labs/wyrhta-labs

개념, ADR, 배포 스택

Wyrhta-Labs/Heorth

가구 허브 — 업스트림

Wyrhta-Labs/KithLedger

관계 관리자 — 업스트림

Wyrhta-Labs/wyrhta-core

공유 라이브러리, git 태그로 고정

-
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