Skip to main content
Glama

{"type": "text"}# Sensact

Sensact es una plataforma de dispositivos remote MCP alojada en Supabase.

El objetivo es permitir que clientes LLM como Codex o Claude descubran e invoquen capacidades en dispositivos propiedad del usuario a través de un servidor MCP estándar, mientras que Supabase Auth proporciona el flujo de autorización OAuth 2.1 y Postgres + Realtime + Storage proporcionan el plano de control.

Vista previa del registro MCP

Sensact está preparado para el MCP Registry oficial como un servidor de remote-only public preview.

  • Nombre del registro: io.github.sensact-agents/sensact

  • Archivo de metadatos del registro: server.json

  • Repositorio canónico: https://github.com/sensact-agents/Sensact

  • URL MCP de vista previa pública: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

  • Metadatos de recurso protegido de vista previa pública: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource

  • Metadatos del servidor de autorización de vista previa pública: https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Related MCP server: Supabase MCP

Alcance actual

v1 se centra en la invocación de capacidades de dispositivo de una sola vez:

  • listar dispositivos visibles para el usuario autenticado

  • inspeccionar las capacidades del dispositivo

  • invocar capacidades simples del dispositivo a través de trabajos

  • devolver resultados estructurados o referencias de artefactos

Capacidades de referencia v1:

  • vision.camera_capture

  • contacts.find_contact

  • vision.screen_capture

Fases planificadas posteriores:

  • v2: sesiones de medios WebRTC para audio/vídeo en tiempo real

  • v3: acciones avanzadas y orquestación de inferencia en tiempo real

Estructura del repositorio

  • docs

    • Producto, arquitectura, modelo de datos, API MCP, esquema de Supabase, consentimiento, diseño de tiempo de ejecución

  • schemas/mcp

    • Contratos JSON Schema y metadatos de registro de herramientas MCP

  • services/mcp-service

    • Paquete TypeScript compartido para definiciones de herramientas MCP y estructura del lado del servidor

  • services/oauth-consent-app

    • Interfaz de autenticación y consentimiento del navegador para el servidor OAuth de Supabase en / y /oauth/consent

  • supabase

    • Puerta de enlace MCP de Edge Function, migraciones, configuración, semilla

No forma parte de esta instantánea del repositorio:

  • mediapipe

    • ignorado como repositorio ascendente anidado

Documentos clave

Estado de implementación actual

Implementado en este repositorio:

  • Puerta de enlace MCP de Supabase Edge Function en supabase/functions/mcp

  • metadatos de recurso protegido y desafío WWW-Authenticate para OAuth MCP remoto

  • list_devices, list_device_capabilities, invoke_device_capability, get_artifact

  • migraciones SQL de Supabase para el registro central, capacidad, ejecución, artefacto y configuración de RLS

  • aplicación de autenticación del navegador con inicio de sesión de Google, respaldo de enlace mágico e interfaz de consentimiento OAuth para Supabase Auth

Limitaciones conocidas:

  • Aún no hay un tiempo de ejecución de dispositivo real conectado, por lo que el descubrimiento de dispositivos depende del registro externo de dispositivos

  • invoke_device_capability requiere un tiempo de ejecución de dispositivo real para consumir trabajos y escribir resultados

  • La aplicación de consentimiento debe servirse desde https://www.sensactagent.com/oauth/consent en producción

Requisitos previos

  • Node.js 20+

  • npm

  • Supabase CLI

  • un proyecto de Supabase con:

    • servidor OAuth habilitado

    • registro dinámico de aplicaciones OAuth habilitado

    • este repositorio vinculado o configurado con ese proyecto

Desarrollo local

1. Paquete compartido MCP

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

2. Aplicación de autenticación web

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

Establece:

  • VITE_SUPABASE_URL

  • VITE_SUPABASE_ANON_KEY

Luego ejecuta:

npm install
npm run dev

Para el desarrollo local, la aplicación de autenticación web se ejecuta en:

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

URLs de autenticación web de producción:

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

3. Implementación de esquema y funciones de Supabase

Empuja las migraciones:

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

Implementa la función MCP:

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

--no-verify-jwt es intencional. La puerta de enlace debe devolver su propio desafío 401 + WWW-Authenticate para el descubrimiento MCP remoto.

Puntos de conexión MCP

URL del servidor de vista previa pública:

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

Metadatos de recurso protegido de vista previa pública:

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

Metadatos del servidor de autorización de vista previa pública:

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

Plantilla de implementación:

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

Uso con clientes MCP

Búsqueda en el registro:

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

Instalación de respaldo para Codex:

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

Inicia sesión a través de Supabase OAuth:

codex mcp login sensact

Comprueba el estado:

codex mcp list
codex mcp get sensact

Instalación de respaldo para Claude Code:

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

Publicación en el registro MCP

El repositorio publica en el registro MCP oficial desde etiquetas de Git mediante GitHub Actions OIDC.

Crea y empuja una etiqueta de versión:

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

El flujo de trabajo en .github/workflows/publish-mcp.yml hará lo siguiente:

  • ejecutar las pruebas de publicación a nivel de repositorio

  • verificar tipos de services/mcp-service

  • probar y compilar services/oauth-consent-app

  • probar el punto de conexión MCP de vista previa pública

  • validar server.json contra su $schema

  • grabar la versión de la etiqueta empujada en server.json

  • autenticarse con mcp-publisher login github-oidc

  • publicar io.github.sensact-agents/sensact en el registro

Después de la publicación, verifica la entrada pública:

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

Comandos de verificación

Aplicación de consentimiento:

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

Paquete compartido MCP:

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

Activos de publicación del registro:

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

Descubrimiento MCP remoto:

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

Bootstrap actual del repositorio:

  • commit: d394e5b

  • etiqueta: 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