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 分

    請在儲存庫或註冊中心條目中宣告授權條款。