
Sensact
io.github.sensact-agentsPublished by GitHub account sensact-agentsv0.1.2Updated Oct 25, 2026
An authenticated remote MCP server for user-owned devices and one-shot capability invocation.
Overview
Remote MCP server that lets an assistant list a user's registered devices, inspect their capabilities, and invoke one-shot device capabilities.
- What you can do
- List devices visible to the authenticated user and inspect each device's capabilities, including reference capabilities such as camera capture, screen capture and contact lookup. Invoke a device capability as a job and retrieve structured results or artifact references. Access is gated by Supabase OAuth with a browser sign-in and consent step. Realtime media sessions and advanced actions are described as planned, not current.
- When to use it
- Use it when you want an AI client such as Codex or Claude to reach user-owned devices through a standard remote MCP endpoint, for example to trigger a camera or screen capture or look up a contact. It is a public preview, so expect limited functionality.
- Requirements
- A remote MCP client that supports HTTP transport and OAuth. Sign-in goes through Supabase Auth (Google sign-in or magic-link fallback) with a consent screen. No API keys or environment variables are declared. Device discovery depends on devices being registered externally, and invocation needs a device runtime to consume jobs.
Installation
In SourceWeft
- Open Sensact in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.sensact-agents%2Fsensact/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config.
{
"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_capturecontacts.find_contactvision.screen_capture
Planned later phases:
v2:WebRTCmedia sessions for realtime audio/videov3: 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
- Browser auth + consent UI for the Supabase OAuth server at
- 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 FunctionMCP gateway at supabase/functions/mcp- protected resource metadata and
WWW-Authenticatechallenge 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_capabilityrequires an actual device runtime to consume jobs and write results- The consent app should be served from
https://www.sensactagent.com/oauth/consentin production
Prerequisites
Node.js 20+npmSupabase CLI- a
Supabaseproject with:- OAuth server enabled
- dynamic OAuth app registration enabled
- this repository linked or configured against that project
Local Development
1. MCP shared package
2. Web auth app
Set:
VITE_SUPABASE_URLVITE_SUPABASE_ANON_KEY
Then run:
For local development the web auth app runs at:
Production web auth URLs:
3. Supabase schema and function deployment
Push migrations:
Deploy the MCP function:
--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:
Public preview protected resource metadata:
Public preview authorization server metadata:
Deployment template:
Using With MCP Clients
Registry lookup:
Fallback install for Codex:
Log in through Supabase OAuth:
Check status:
Fallback install for Claude Code:
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:
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.jsonagainst its$schema - stamp the pushed tag version into
server.json - authenticate with
mcp-publisher login github-oidc - publish
io.github.sensact-agents/sensactto the Registry
After publication, verify the public entry:
Verification Commands
Consent app:
MCP shared package:
Registry publication assets:
Remote MCP discovery:
Git
Current repository bootstrap:
- commit:
d394e5b - tag:
v0.1.0
Source: README.md at commit 613ba46
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declaredRequired10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.