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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.4110Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server enabling AI assistants to perform CRUD operations on a Supabase database via a standardized interface.193MIT
- AlicenseNot gradedqualityCmaintenanceA Node.js MCP server with custom OAuth 2.1 + PKCE authentication, enabling secure remote connections to LLMs like Claude and ChatGPT.304MIT
- 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
Related MCP Connectors
MCP server for interacting with the Supabase platform
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sensact-agents/Sensact'
If you have feedback or need assistance with the MCP directory API, please join our Discord server