Sensact

io.github.sensact-agents由 GitHub 账号 sensact-agents 发布v0.1.2更新于 Oct 25, 2026

An authenticated remote MCP server for user-owned devices and one-shot capability invocation.

已验证Streamable HTTP可网页运行开发者工具安全与监控

概览

AI 生成的概览

远程 MCP 服务器,让助手列出用户已注册的设备、查看设备能力,并一次性调用设备能力。

可以做什么
列出通过认证的用户可见的设备,并查看每台设备的能力,包括摄像头拍摄、屏幕截取和联系人查找等参考能力。以任务方式调用设备能力,并获取结构化结果或产物引用。访问由 Supabase OAuth 控制,需要浏览器登录与授权同意。实时音视频会话和高级操作被描述为后续计划,而非当前功能。
适用场景
当你希望 Codex 或 Claude 等 AI 客户端通过标准远程 MCP 端点访问用户自有设备时使用,例如触发摄像头或屏幕截取、查找联系人。它目前是公开预览版,功能有限。
运行要求
支持 HTTP 传输和 OAuth 的远程 MCP 客户端。登录通过 Supabase Auth(Google 登录或魔法链接备选)并经过授权同意页面。未声明 API 密钥或环境变量。设备发现依赖设备已在外部注册,调用能力还需要有设备运行时来消费任务。
安装前请注意
服务器会操作用户自有设备:调用能力可能拍摄摄像头、截取屏幕或读取联系人,请谨慎授权。README 说明尚未接入真实设备运行时,发现与调用可能无法端到端工作。它是托管在 Supabase 上的公开预览版,设备数据和产物会经过该托管控制平面。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sensact,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.sensact-agents%2Fsensact/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "sensact": {
      "type": "http",
      "url": "https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp"
    }
  }
}

README

Sensact

Sensact is a Supabase-hosted remote MCP device platform.

The goal is to let LLM clients such as Codex or Claude discover and invoke capabilities on user-owned devices through a standard MCP server, while Supabase Auth provides the OAuth 2.1 authorization flow and Postgres + Realtime + Storage provide the control plane.

MCP Registry Preview

Sensact is prepared for the official MCP Registry as a remote-only public preview server.

  • Registry name: io.github.sensact-agents/sensact
  • Registry metadata file: server.json
  • Canonical repository: https://github.com/sensact-agents/Sensact
  • Public preview MCP URL: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp
  • Public preview protected resource metadata: https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp/.well-known/oauth-protected-resource
  • Public preview authorization server metadata: https://helavgrvwipmdvyejfom.supabase.co/auth/v1/.well-known/oauth-authorization-server

Current Scope

v1 is focused on one-shot device capability invocation:

  • list devices visible to the authenticated user
  • inspect device capabilities
  • invoke simple device capabilities through jobs
  • return structured results or artifact references

Reference v1 capabilities:

  • vision.camera_capture
  • contacts.find_contact
  • vision.screen_capture

Planned later phases:

  • v2: WebRTC media sessions for realtime audio/video
  • v3: advanced actions and realtime inference orchestration

Repository Layout

  • docs
    • Product, architecture, data model, MCP API, Supabase schema, consent, runtime design
  • schemas/mcp
    • JSON Schema contracts and MCP tool registration metadata
  • services/mcp-service
    • Shared TypeScript package for MCP tool definitions and server-side structure
  • services/oauth-consent-app
    • Browser auth + consent UI for the Supabase OAuth server at / and /oauth/consent
  • supabase
    • Edge Function MCP gateway, migrations, config, seed

Not part of this repository snapshot:

  • mediapipe
    • ignored as a nested upstream repository

Key Documents

  • sensact-app-product-design.md
  • sensact-system-architecture.md
  • sensact-mcp-api.md
  • sensact-supabase-schema.md
  • sensact-oauth-consent.md

Current Implementation Status

Implemented in this repository:

  • Supabase Edge Function MCP gateway at supabase/functions/mcp
  • protected resource metadata and WWW-Authenticate challenge for remote MCP OAuth
  • list_devices, list_device_capabilities, invoke_device_capability, get_artifact
  • Supabase SQL migrations for core registry, capability, execution, artifact, and RLS setup
  • browser auth app with Google sign-in, magic-link fallback, and OAuth consent UI for Supabase Auth

Known limitations:

  • No real device runtime is wired yet, so device discovery depends on external device registration
  • invoke_device_capability requires an actual device runtime to consume jobs and write results
  • The consent app should be served from https://www.sensactagent.com/oauth/consent in production

Prerequisites

  • Node.js 20+
  • npm
  • Supabase CLI
  • a Supabase project with:
    • OAuth server enabled
    • dynamic OAuth app registration enabled
    • this repository linked or configured against that project

Local Development

1. MCP shared package

bash
cd /Users/luolingfeng/Sensact/services/mcp-servicenpm installnpm run typecheck

2. Web auth app

bash
cd /Users/luolingfeng/Sensact/services/oauth-consent-appcp .env.example .env

Set:

  • VITE_SUPABASE_URL
  • VITE_SUPABASE_ANON_KEY

Then run:

bash
npm installnpm run dev

For local development the web auth app runs at:

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

Production web auth URLs:

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

3. Supabase schema and function deployment

Push migrations:

bash
cd /Users/luolingfeng/Sensactsupabase db push --linked --yes

Deploy the MCP function:

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

--no-verify-jwt is intentional. The gateway must return its own 401 + WWW-Authenticate challenge for remote MCP discovery.

MCP Endpoints

Public preview server URL:

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

Public preview protected resource metadata:

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

Public preview authorization server metadata:

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

Deployment template:

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

Using With MCP Clients

Registry lookup:

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

Fallback install for Codex:

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

Log in through Supabase OAuth:

bash
codex mcp login sensact

Check status:

bash
codex mcp listcodex mcp get sensact

Fallback install for Claude Code:

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

Publishing To MCP Registry

The repository publishes to the official MCP Registry from Git tags via GitHub Actions OIDC.

Create and push a release tag:

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

The workflow at .github/workflows/publish-mcp.yml will:

  • run the repository-level publication tests
  • typecheck services/mcp-service
  • test and build services/oauth-consent-app
  • smoke test the public preview MCP endpoint
  • validate server.json against its $schema
  • stamp the pushed tag version into server.json
  • authenticate with mcp-publisher login github-oidc
  • publish io.github.sensact-agents/sensact to the Registry

After publication, verify the public entry:

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

Verification Commands

Consent app:

bash
cd /Users/luolingfeng/Sensact/services/oauth-consent-appnpm testnpm run build

MCP shared package:

bash
cd /Users/luolingfeng/Sensact/services/mcp-servicenpm run typecheck

Registry publication assets:

bash
cd /Users/luolingfeng/Sensactnode --test scripts/registry-publication.test.mjsnode scripts/validate-server-json.mjsnode scripts/smoke-test-remote-mcp.mjs

Remote MCP discovery:

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

Git

Current repository bootstrap:

  • commit: d394e5b
  • tag: v0.1.0

来源:README.md,提交 613ba46

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式必需10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。