Skip to main content
Glama

Sensact

Sensact は、Supabase がホストする リモート MCP デバイスプラットフォームです。

目標は、Codex や Claude などの LLM クライアントが、標準の MCP サーバーを通じてユーザー所有のデバイス上の機能を発見・呼び出しできるようにすることです。一方、Supabase Auth が OAuth 2.1 認可フローを提供し、Postgres + Realtime + Storage が制御プレーンを提供します。

MCP レジストリプレビュー

Sensact は、公式 MCP レジストリ向けの リモート専用パブリックプレビュー サーバーとして準備されています。

  • レジストリ名: io.github.sensact-agents/sensact

  • レジストリメタデータファイル: 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_capture

  • contacts.find_contact

  • vision.screen_capture

計画されている今後のフェーズ:

  • v2: リアルタイムのオーディオ/ビデオのための WebRTC メディアセッション

  • v3: 高度なアクションとリアルタイム推論オーケストレーション

リポジトリ

  • docs

    • 製品、アーキテクチャ、データモデル、MCP API、Supabase スキーマ、同意、ランタイム設計

  • schemas/mcp

    • JSON スキーマ契約と MCP ツール登録メタデータ

  • services/mcp-service

    • MCP ツール定義とサーバー側構造のための共有 TypeScript パッケージ

  • services/oauth-consent-app

    • / および /oauth/consent における Supabase OAuth サーバー用のブラウザ認証 + 同意 UI

  • supabase

    • Edge Function MCP ゲートウェイ、マイグレーション、設定、シード

このリポジトリスナップショットの一部ではないもの:

  • mediapipe

    • ネストされた上流リポジトリとして無視

主要ドキュメント

現在の実装状況

このリポジトリで実装済み:

  • supabase/functions/mcp における Supabase Edge Function MCP ゲートウェイ

  • リモート MCP OAuth のための保護リソースメタデータと WWW-Authenticate チャレンジ

  • list_devices、list_device_capabilities、invoke_device_capability、get_artifact

  • コアレジストリ、機能、実行、アーティファクト、および RLS セットアップのための Supabase SQL マイグレーション

  • Supabase Auth のための Google サインイン、マジックリンクフォールバック、OAuth 同意 UI を備えたブラウザ認証アプリ

既知の制限事項:

  • 実際のデバイスランタイムはまだ配線されていないため、デバイス検出は外部のデバイス登録に依存します

  • invoke_device_capability は、ジョブを消費して結果を書き込むための実際のデバイスランタイムを必要とします

  • 同意アプリは、本番環境では https://www.sensactagent.com/oauth/consent から提供されるべきです

前提条件

  • Node.js 20+

  • npm

  • Supabase CLI

  • 以下の機能を備えた Supabase プロジェクト:

    • OAuth サーバーが有効

    • 動的 OAuth アプリ登録が有効

    • このリポジトリがそのプロジェクトにリンクされている、またはそのプロジェクトに対して設定されている

ローカル開発

1. MCP 共有パッケージ

cd /Users/luolingfeng/Sensact/services/mcp-service
npm install
npm run typecheck

2. Web 認証アプリ

cd /Users/luolingfeng/Sensact/services/oauth-consent-app
cp .env.example .env

設定:

  • VITE_SUPABASE_URL

  • VITE_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/consent

3. 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 クライアントでの使用

レジストリルックアップ:

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 sensact

Claude Code のフォールバックインストール:

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

MCP レジストリへの公開

このリポジトリは、GitHub Actions OIDC を介して Git タグから公式 MCP レジストリに公開します。

リリースタグを作成してプッシュ:

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

.github/workflows/publish-mcp.yml のワークフローは次のことを行います:

  • リポジトリレベルの公開テストを実行

  • services/mcp-service の型チェック

  • services/oauth-consent-app のテストとビルド

  • パブリックプレビュー MCP エンドポイントのスモークテスト

  • server.json をその $schema に対して検証

  • プッシュされたタグバージョンを server.json にスタンプ

  • mcp-publisher login github-oidc で認証

  • io.github.sensact-agents/sensact をレジストリに公開

公開後、パブリックエントリを確認:

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 build

MCP 共有パッケージ:

cd /Users/luolingfeng/Sensact/services/mcp-service
npm run typecheck

レジストリ公開アセット:

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-server

Git

現在のリポジトリブートストラップ:

  • コミット: d394e5b

  • タグ: v0.1.0

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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 npm
    11
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server enabling AI assistants to perform CRUD operations on a Supabase database via a standardized interface.
    193
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP 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