home-remote-mcps
home-remote-mcps
個人用リモートMCPゲートウェイ。Garmin Connect・Home Assistant・YouTube を Model Context Protocol サーバーとして公開し、HTTP経由でアクセスできるようにします。これにより、Claude(または任意のMCPクライアント)がどこからでもこれらを照会・制御できます。ローカルサーバーもローカル認証情報も不要です。
Web UIの認証は外部SSO(home-auth、OAuth2)に委任されます。MCPクライアントは、そのUIから発行されるユーザーごとのAPIキーで個別に認証します。
Garminにサイドカーを使う理由
Garmin Connectには公式の公開APIがなく、活発にメンテナンスされているNodeクライアントもありません。garmin-connector サービスは、Garminのログインフロー(MFAを含む)とトークン更新を処理する garminconnect ライブラリをラップする、内部専用の小さなPythonサイドカーです。NestJSバックエンドは共有シークレットを使ってDockerネットワーク経由で通信します。これは決して公開されません。Home AssistantとYouTubeには通常のREST APIがあるため、バックエンドは直接通信します。
Related MCP server: FitnessMCP
プロジェクト構成
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 production詳細なアーキテクチャ(レイヤリング、MCPリクエストパス、統合ごとのコネクタ設計、認証モデル)については CLAUDE.md を、より深い参考資料については ai-docs/ を参照してください。人間向けのガイドは docs/ にあります。
要件
Node.js >= 20(
.nvmrcを参照)garmin-connector用に Python >= 3.11ブラウザログイン用に実行中の
home-authインスタンス(このアプリ用に登録されたOAuth2クライアント)プロダクションデプロイ用のDocker(
deploy/docker-compose.yml)
ローカル開発
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 は backend/.env と garmin-connector/.env の間で一致している必要があります。
ビルド・テスト・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-wideHuskyフック(pre-commit、pre-push、commit-msg)は lint-staged と commitlint(Conventional Commits)を自動的に実行します。
デプロイ
リポジトリルートの Dockerfile は、フロントエンド → バックエンド → Litestream をバンドルしたランタイムイメージをマルチステージでビルドします。LitestreamはSQLiteの継続的レプリケーションをMinIO(S3互換)バケットに対して行い、MINIO_BUCKET が設定されている場合は起動時に復元します。garmin-connector/Dockerfile はサイドカーイメージを個別にビルドします。deploy/docker-compose.yml は両方を内部Dockerネットワーク上の兄弟サービスとして実行します。サイドカーには公開ポートがなく、バックエンドから http://garmin-connector:8000 でのみ到達可能です。deploy/Caddyfile は公開サービス用のリバースプロキシ設定です。
必要な環境変数は backend/.env.example と 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