Skip to main content
Glama

Sensact

Sensact ist eine Supabase-gehostete remote MCP-Geräteplattform.

Das Ziel ist es, LLM-Clients wie Codex oder Claude zu ermöglichen, Fähigkeiten auf nutzereigenen Geräten über einen Standard-MCP-Server zu entdecken und aufzurufen, während Supabase Auth den OAuth-2.1-Autorisierungsablauf bereitstellt und Postgres + Realtime + Storage die Steuerungsebene bilden.

MCP-Registry-Preview

Sensact ist als remote-only public preview-Server für die offizielle MCP-Registry vorbereitet.

  • Registry-Name: io.github.sensact-agents/sensact

  • Registry-Metadatendatei: server.json

  • Kanonisches Repository: https://github.com/sensact-agents/Sensact

  • Öffentliche Preview-MCP-URL: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

  • Öffentliche Preview-Metadaten der geschützten Ressource: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource

  • Öffentliche Preview-Metadaten des Autorisierungsservers: https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Related MCP server: Supabase MCP

Aktueller Umfang

v1 für e Fokus auf die einmalige Ausführung von Gerätefähigkeiten:

  • Geräte auflisten, die für den authentifizierten Benutzer sichtbar sind

  • Gerätefähigkeiten anzeigen

  • einfache Gerätefähigkeiten über Jobs ausführen

  • strukturierte Ergebnisse oder Artefakt-Referenzen zurückgeben

Referenz-v1-Fähigkeiten:

  • vision.camera_capture

  • contacts.find_contact

  • vision.screen_capture

Geplante spätere Phasen:

  • v2: WebRTC-Medien-Sessions für Echtzeit-Audio/-Video

  • v3: erweiterte Aktionen und Echtzeit-Inferenz-Orchestrierung

Repository-Struktur

  • docs

    • Produkt, Architektur, Datenmodell, MCP-API, Supabase-Schema, Zustimmung, Laufzeitdesign

  • schemas/mcp

    • JSON-Schema-Verträge und MCP-Tool-Registrierungsmetadaten

  • services/mcp-service

    • Gemeinsames TypeScript-Paket für MCP-Tool-Definitionen und serverseitige Struktur

  • services/oauth-consent-app

    • Browser-Auth + Zustimmungs-UI für den Supabase-OAuth-Server unter / und /oauth/consent

  • supabase

    • MCP-Gateway der Edge Function, Migrationen, Konfiguration, Seed

Nicht Bestandteil dieses Repository-Stand:

  • mediapipe

    • als verschachteltes Upstream-Repository ignoriert

Wichtige Dokumente

Aktueller Implementierungsstatus

In diesem Repository implementiert:

  • Supabase Edge Function-MCP-Gateway unter supabase/functions/mcp

  • Metadaten für geschützte Ressourcen und WWW-Authenticate-Challenge für Remote-MCP-OAuth

  • list_devices, list_device_capabilities, invoke_device_capability, get_artifact

  • Supabase-SQL-Migrationen für Kern-Registry-, Fähigkeits-, Ausführungs- und Artefakt-Setup sowie RLS-Setup

  • Browser-Auth-App mit Google-Anmeldung, Magic-Link-Fallback und OAuth-Zustimmungs-UI für Supabase Auth

Bekannte Einschränkungen:

  • Es ist noch keine echte Gerätelaufzeitumgebungerverbindung vorhanden, daher hängt die Geräteerkennung von der externen Geräteregistrierung ab

  • invoke_device_capability setzt eine tatsächliche Gerätelaufzeitumgebung voraus, die Jobs verarbeitet und Ergebnisse schreibt

  • Die Zustimmungs-App sollte in Produktion unter https://www.sensactagent.com/oauth/consent ausgeliefert werden

Voraussetzungen

  • Node.js 20+

  • npm

  • Supabase CLI

  • ein Supabase-Projekt mit:

    • aktiviertem OAuth-Server

    • aktivierter dynamischer OAuth-App-Registrierung

    • diesem Repository, das mit dem Projekt verknüpft oder entsprechend konfiguriert ist

Lokale Entwicklung

1. Gemeinsames MCP-Paket

cd /Users/luolingfeng/Sensact/services/mcp-service
npm install
npm run typecheck

2. Web-Auth-App

cd /Users/luolingfeng/Sensact/services/oauth-consent-app
cp .env.example .env

Angeben:

  • VITE_SUPABASE_URL

  • VITE_SUPABASE_ANON_KEY

Danach ausführen:

npm install
npm run dev

Für die lokale Entwicklung läuft die Web-Auth-App unter:

http://127.0.0.1:3000/
http://127.0.0.1:3000/oauth/consent

Produktions-Web-Auth-URLs:

https://www.sensactagent.com/
https://www.sensactagent.com/oauth/consent

3. Supabase-Schema und Funktions-Deployment

Migrationen pushen:

cd /Users/luolingfeng/Sensact
supabase db push --linked --yes

MCP-Funktion deployen:

cd /Users/luolingfeng/Sensact
supabase functions deploy mcp --project-ref <project-ref> --use-api --no-verify-jwt

--no-verify-jwt ist Absicht. Das Gateway muss für die Remote-MCP-Discovery eine eigene 401 + WWW-Authenticate-Challenge zurückgeben.

MCP-Endpunkte

Öffentliche Preview-Server-URL:

https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

Öffentliche Preview-Metadaten der geschützten Ressource:

https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource

Öffentliche Preview-Metadaten des Autorisierungsservers:

https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Deployment-Vorlage:

https://<project-ref>.supabase.co/functions/v1/mcp
https://<project-ref>.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource
https://<project-ref>.supabase.co/auth/v1/.well-known/oauth-authorization-server

Verwendung mit MCP-Clients

Registry-Suche:

curl "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.sensact-agents/sensact"

Fallback-Installation für Codex:

codex mcp add sensact --url https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

Anmeldung über Supabase OAuth:

codex mcp login sensact

Status prüfen:

codex mcp list
codex mcp get sensact

Fallback-Installation für Claude Code:

claude mcp add --transport http sensact https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

Veröffentlichung in der MCP-Registry

Das Repository veröffentlicht über Git-Tags und GitHub Actions OIDC in der offiziellen MCP-Registry.

Einen Release-Tag erstellen und pushen:

git tag vX.Y.Z
git push origin vX.Y.Z

Der Workflow unter .github/workflows/publish-mcp.yml wird:

  • die veröffentlichungsbezogenen Tests auf Repository-Ebene ausführen

  • den Typecheck für services/mcp-service ausführen

  • services/oauth-consent-app testen und bauen

  • einen Smoke-Test des öffentlichen Preview-MCP-Endpunkts durchführen

  • server.json gegen sein $schema validieren

  • die Version des gepushten Tags in server.json einstempeln

  • sich mit mcp-publisher login github-oidc authentifizieren

  • io.github.sensact-agents/sensact in der Registry veröffentlichen

Nach der Veröffentlichung den öffentlichen Eintrag prüfen:

curl "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.sensact-agents/sensact"

Verifizierungsbefehle

Zustimmungs-App:

cd /Users/luolingfeng/Sensact/services/oauth-consent-app
npm test
npm run build

Gemeinsames MCP-Paket:

cd /Users/luolingfeng/Sensact/services/mcp-service
npm run typecheck

Registry-Publikations-Assets:

cd /Users/luolingfeng/Sensact
node --test scripts/registry-publication.test.mjs
node scripts/validate-server-json.mjs
node scripts/smoke-test-remote-mcp.mjs

Remote-MCP-Discovery:

curl -i https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp
curl -i https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource
curl -i https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Git

Aktueller Repository-Bootstrap:

  • commit: d394e5b

  • tag: v0.1.0

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A control plane for AI agents and human supervisors. Persistent task registry with scoped permissions, inter-agent delegation, and full provenance — all accessible via MCP. Deploy on Supabase free tier in 3 commands.
    41 npm
    11
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server enabling AI assistants to perform CRUD operations on a Supabase database via a standardized interface.
    193
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for self-hosted Supabase with RLS-aware PostgreSQL and PostgREST layers, enabling safe database introspection, SQL queries, and PostgREST access via natural language.
    MIT