home-remote-mcps
home-remote-mcps
Puerta de enlace MCP remota personal. Expone Garmin Connect, Home Assistant y YouTube como servidores Model Context Protocol accesibles por HTTP, de modo que Claude (o cualquier cliente MCP) pueda consultarlos y controlarlos desde cualquier lugar — sin servidor local ni credenciales locales.
La autenticación para la interfaz web se delega en un SSO externo (home-auth, OAuth2). Los clientes MCP se autentican por separado con una clave de API por usuario emitida desde esa interfaz.
Por qué un sidecar para Garmin
Garmin Connect no tiene una API pública oficial ni un cliente Node con mantenimiento activo. El servicio garmin-connector es un sidecar Python pequeño, solo interno, que envuelve la librería garminconnect, la cual gestiona el flujo de inicio de sesión de Garmin (incluida la MFA) y la renovación del token. El backend NestJS se comunica con él a través de la red Docker con un secreto compartido; nunca se expone públicamente. Home Assistant y YouTube tienen API REST normales, por lo que el backend se comunica con ellos directamente.
Related MCP server: FitnessMCP
Estructura del proyecto
backend/ NestJS API — REST (auth, credentials, API keys) + MCP servers, DDD-ish layers
frontend/ React SPA — login, manage stored credentials, issue MCP API keys
garmin-connector/ FastAPI sidecar — Garmin Connect login/session via `garminconnect`
deploy/ docker-compose + Caddy config for productionConsulta CLAUDE.md para ver la arquitectura detallada (capas, ruta de solicitudes MCP, diseño del conector por integración, modelo de autenticación) y ai-docs/ para material de referencia más profundo. Las guías orientadas a humanos están en docs/.
Requisitos
Node.js >= 20 (consulta
.nvmrc)Python >= 3.11 para
garmin-connectorUna instancia
home-authen ejecución (cliente OAuth2 registrado para esta aplicación) para el inicio de sesión en el navegadorDocker, para despliegues en producción (
deploy/docker-compose.yml)
Desarrollo local
npm install # installs backend + frontend workspaces
cp backend/.env.example backend/.env # fill in home-auth + secrets, see comments in the file
cp garmin-connector/.env.example garmin-connector/.env
npm run dev:backend # http://localhost:3000 (API under /api, Swagger under /api/docs)
npm run dev:frontend # http://localhost:5173, proxies API calls to the backend
cd garmin-connector && pip install -r requirements.txt && uvicorn app.main:app --reload --port 8000GARMIN_CONNECTOR_SECRET debe coincidir entre backend/.env y garmin-connector/.env.
Compilar, probar, lint
npm run build # frontend, then backend (bundles frontend/dist into the backend build)
npm run test # backend (jest) then frontend (vitest)
npm run lint # eslint on both workspaces
npm run format # prettier --write, repo-wideLos hooks de Husky (pre-commit, pre-push, commit-msg) ejecutan lint-staged y commitlint (Conventional Commits) automáticamente.
Despliegue
El Dockerfile en la raíz del repositorio compila en varias etapas frontend → backend → una imagen de runtime que incluye Litestream para la replicación continua de SQLite a un bucket de MinIO (compatible con S3), restaurando al arrancar si MINIO_BUCKET está definido. garmin-connector/Dockerfile compila la imagen del sidecar por separado. deploy/docker-compose.yml ejecuta ambos como servicios hermanos en una red Docker interna: el sidecar no tiene puerto publicado, solo es accesible desde el backend en http://garmin-connector:8000. deploy/Caddyfile es la configuración del proxy inverso para el servicio público.
Las variables de entorno requeridas están documentadas en línea en backend/.env.example y garmin-connector/.env.example.
This server cannot be installed
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 Servers
- FlicenseNot gradedqualityDmaintenanceA unified data gateway MCP server that enables Claude to interact with multiple external REST and GraphQL APIs through OAuth 2.0 authentication.
- AlicenseNot gradedqualityCmaintenanceA unified MCP server that connects AI assistants to multiple fitness services (Hevy, Strava, Cronometer, Intervals.icu) through a single secure endpoint, enabling workout, nutrition, and activity data access.MIT
- FlicenseNot gradedqualityDmaintenanceRemote MCP server acting as a personal assistant with secure OAuth authentication, integrating Google Calendar, TickTick tasks, meal logging, workout tracking, and water intake logging.
- AlicenseNot gradedqualityAmaintenanceA multi-user OAuth 2.1-protected gateway that enables Claude to access Garmin Connect tools through secure per-user sessions.4MIT
Related MCP Connectors
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
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/SlobodaFR/home-remote-mcps'
If you have feedback or need assistance with the MCP directory API, please join our Discord server