Skip to main content
Glama

Sensact

Sensact — это платформа устройств remote MCP, размещённая на Supabase.

Цель — позволить LLM-клиентам, таким как Codex или Claude, обнаруживать и вызывать возможности на устройствах, принадлежащих пользователям, через стандартный MCP-сервер, в то время как Supabase Auth обеспечивает поток авторизации OAuth 2.1, а Postgres + Realtime + Storage — плоскость управления.

MCP Registry Preview

Sensact подготовлен для официального MCP Registry в качестве сервера remote-only public preview.

  • Имя в Registry: io.github.sensact-agents/sensact

  • Файл метаданных Registry: server.json

  • Канонический репозиторий: https://github.com/sensact-agents/Sensact

  • URL публичного предварительного MCP: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp

  • Метаданные защищённого ресурса публичного предварительного сервера: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource

  • Метаданные сервера авторизации публичного предварительного сервера: https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Related MCP server: Supabase MCP

Текущий охват

v1 сосредоточен на одноразовом вызове возможностей устройств:

  • перечисление устройств, видимых аутентифицированному пользователю

  • просмотр возможностей устройств

  • вызов простых возможностей устройств через задания

  • возврат структурированных результатов или ссылок на артефакты

Справочные возможности v1:

  • vision.camera_capture

  • contacts.find_contact

  • vision.screen_capture

Планируемые последующие этапы:

  • v2: медиасессии WebRTC для аудио/видео в реальном времени

  • v3: расширенные действия и оркестрация инференса в реальном времени

Структура репозитория

  • docs

    • Продукт, архитектура, модель данных, MCP API, схема Supabase, согласие, дизайн среды выполнения

  • schemas/mcp

    • Контракты JSON Schema и метаданные регистрации MCP-инструментов

  • services/mcp-service

    • Общий TypeScript-пакет для определений MCP-инструментов и серверной структуры

  • services/oauth-consent-app

    • Браузерная аутентификация + UI согласия для Supabase OAuth-сервера по адресам / и /oauth/consent

  • supabase

    • Edge Function MCP-шлюз, миграции, конфигурация, seed

Не входит в этот снимок репозитория:

  • mediapipe

    • игнорируется как вложенный вышестоящий репозиторий

Ключевые документы

Текущий статус реализации

Реализовано в этом репозитории:

  • MCP-шлюз Supabase Edge Function в supabase/functions/mcp

  • метаданные защищённого ресурса и запрос WWW-Authenticate для удалённого MCP OAuth

  • list_devices, list_device_capabilities, invoke_device_capability, get_artifact

  • SQL-миграции Supabase для базового реестра, возможностей, выполнения, артефактов и настройки RLS

  • браузерное приложение аутентификации со входом через Google, запасным вариантом magic-link и UI согласия OAuth для Supabase Auth

Известные ограничения:

  • Реальная среда выполнения устройств ещё не подключена, поэтому обнаружение устройств зависит от внешней регистрации устройств

  • invoke_device_capability требует реальной среды выполнения устройств для обработки заданий и записи результатов

  • В продакшене приложение согласия должно обслуживаться по адресу https://www.sensactagent.com/oauth/consent

Предварительные требования

  • Node.js 20+

  • npm

  • Supabase CLI

  • проект Supabase с:

    • включённым OAuth-сервером

    • включённой динамической регистрацией OAuth-приложений

    • этим репозиторием, связанным или настроенным с этим проектом

Локальная разработка

1. Общий MCP-пакет

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

2. Веб-приложение аутентификации

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

Задайте:

  • VITE_SUPABASE_URL

  • VITE_SUPABASE_ANON_KEY

Затем выполните:

npm install
npm run dev

При локальной разработке веб-приложение аутентификации доступно по адресу:

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

Продакшен-URL веб-приложения аутентификации:

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

3. Развёртывание схемы и функций Supabase

Отправьте миграции:

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

Разверните MCP-функцию:

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

--no-verify-jwt используется намеренно. Шлюз должен возвращать собственный запрос 401 + WWW-Authenticate для удалённого обнаружения MCP.

MCP-эндпоинты

URL публичного предварительного сервера:

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

Метаданные защищённого ресурса публичного предварительного сервера:

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

Метаданные сервера авторизации публичного предварительного сервера:

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

Шаблон развёртывания:

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

Использование с MCP-клиентами

Поиск в Registry:

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

Запасной вариант установки для Codex:

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

Войдите через Supabase OAuth:

codex mcp login sensact

Проверьте статус:

codex mcp list
codex mcp get sensact

Запасной вариант установки для Claude Code:

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

Публикация в MCP Registry

Репозиторий публикуется в официальный MCP Registry из Git-тегов через GitHub Actions OIDC.

Создайте и отправьте тег релиза:

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

Рабочий процесс в .github/workflows/publish-mcp.yml будет:

  • запускать тесты публикации на уровне репозитория

  • выполнять проверку типов services/mcp-service

  • тестировать и собирать services/oauth-consent-app

  • проводить смоук-тест публичного предварительного MCP-эндпоинта

  • проверять server.json на соответствие его $schema

  • проставлять версию отправленного тега в server.json

  • аутентифицироваться с помощью mcp-publisher login github-oidc

  • публиковать io.github.sensact-agents/sensact в Registry

После публикации проверьте публичную запись:

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

Команды проверки

Приложение согласия:

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

Общий MCP-пакет:

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

Ресурсы публикации в Registry:

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

Удалённое обнаружение MCP:

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 репозитория:

  • коммит: d394e5b

  • тег: 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