Sensact
OfficialSensact
Sensact 是一个由 Supabase 托管的 remote MCP 设备平台。
目标是让 Codex 或 Claude 等 LLM 客户端通过标准 MCP 服务器发现并调用用户自有设备上的能力,同时 Supabase Auth 提供 OAuth 2.1 授权流程,Postgres + Realtime + Storage 提供控制平面。
MCP Registry 预览
Sensact 已作为 remote-only public preview 服务器为官方 MCP Registry 做好准备。
Registry 名称:
io.github.sensact-agents/sensactRegistry 元数据文件:server.json
规范仓库:
https://github.com/sensact-agents/Sensact公开预览 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
Related MCP server: Supabase MCP
当前范围
v1 专注于一次性设备能力调用:
列出认证用户可见的设备
检查设备能力
通过任务调用简单的设备能力
返回结构化结果或工件引用
参考 v1 能力:
vision.camera_capturecontacts.find_contactvision.screen_capture
后续规划阶段:
v2:用于实时音视频的WebRTC媒体会话v3:高级操作与实时推理编排
仓库结构
产品、架构、数据模型、MCP API、Supabase 模式、同意、运行时设计
JSON Schema 契约和 MCP 工具注册元数据
用于 MCP 工具定义和服务端结构的共享 TypeScript 包
面向 Supabase OAuth 服务器的浏览器认证 + 同意 UI,位于
/和/oauth/consent
Edge Function MCP 网关、迁移、配置、种子数据
不属于此仓库快照的部分:
作为嵌套的上游仓库被忽略
关键文档
当前实现状态
本仓库已实现:
位于 supabase/functions/mcp 的
Supabase Edge FunctionMCP 网关用于远程 MCP OAuth 的受保护资源元数据和
WWW-Authenticate质询list_devices、list_device_capabilities、invoke_device_capability、get_artifact用于核心注册表、能力、执行、工件和 RLS 设置的 Supabase SQL 迁移
带有 Google 登录、魔法链接回退以及面向
Supabase Auth的 OAuth 同意 UI 的浏览器认证应用
已知限制:
尚未接入真实的设备运行时,因此设备发现依赖于外部设备注册
invoke_device_capability需要实际的设备运行时来消费任务并写入结果在生产环境中,同意应用应从
https://www.sensactagent.com/oauth/consent提供服务
前置条件
Node.js 20+npmSupabase CLI一个具有以下配置的
Supabase项目:已启用 OAuth 服务器
已启用动态 OAuth 应用注册
已链接或配置到该项目的此仓库
本地开发
1. MCP 共享包
cd /Users/luolingfeng/Sensact/services/mcp-service
npm install
npm run typecheck2. Web 认证应用
cd /Users/luolingfeng/Sensact/services/oauth-consent-app
cp .env.example .env设置:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
然后运行:
npm install
npm run dev在本地开发中,Web 认证应用运行于:
http://127.0.0.1:3000/
http://127.0.0.1:3000/oauth/consent生产环境 Web 认证 URL:
https://www.sensactagent.com/
https://www.sensactagent.com/oauth/consent3. 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 是有意为之。网关必须为远程 MCP 发现返回自己的 401 + WWW-Authenticate 质询。
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 sensactClaude Code 的回退安装:
claude mcp add --transport http sensact https://helavgrvwipmdvyejfom.supabase.co/functions/v1/mcp发布到 MCP Registry
该仓库通过 GitHub Actions OIDC 从 Git 标签发布到官方 MCP Registry。
创建并推送发布标签:
git tag vX.Y.Z
git push origin vX.Y.Z位于 .github/workflows/publish-mcp.yml 的工作流将:
运行仓库级发布测试
对
services/mcp-service进行类型检查测试并构建
services/oauth-consent-app对公开预览 MCP 端点进行冒烟测试
根据其
$schema验证server.json将推送的标签版本写入
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 buildMCP 共享包:
cd /Users/luolingfeng/Sensact/services/mcp-service
npm run typecheckRegistry 发布资产:
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-serverGit
当前仓库引导状态:
commit:
d394e5btag:
v0.1.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
- SupabaseOAuthcom.supabase
MCP server for interacting with the Supabase platform
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA 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 npm11Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server enabling AI assistants to perform CRUD operations on a Supabase database via a standardized interface.193MIT
- AlicenseNot gradedqualityDmaintenanceA Node.js MCP server with custom OAuth 2.1 + PKCE authentication, enabling secure remote connections to LLMs like Claude and ChatGPT.821 npmMIT
- AlicenseNot gradedqualityFmaintenanceMCP 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