Airis Mcp Supabase Selfhost — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Airis Mcp Supabase Selfhost (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
[!WARNING] Unmaintained / archived. This repository is no longer developed or supported, and is archived read-only. It is left published for reference only. Released under the MIT License, so you are free to fork it, but expect no updates, issue responses, or security fixes.
MCP (Model Context Protocol) server for self-hosted Supabase with RLS-aware PostgreSQL + PostgREST layers.
This MCP server is designed to work with the AIRIS Suite - accessible via airis-mcp-gateway for token-efficient integration. See the full AIRIS Suite on the org page.
mindbase_search, mindbase_store)This MCP server comes pre-configured with AIRIS MCP Gateway. No additional setup required.
# Install the Gateway (includes this server)
brew install agiletec-inc/tap/airis-mcp-gateway
# Start the gateway
airis-mcp-gateway up
# Add to Claude Code
claude mcp add --transport http airis-mcp-gateway http://api.gateway.localhost:9400/api/v1/mcpIf you need to run this server independently:
git clone https://github.com/agiletec-inc/airis-mcp-supabase-selfhost.git
cd airis-mcp-supabase-selfhost && pnpm installWhat you get with the full suite:
┌─────────────────────────────────────────┐
│ LLM (Claude, GPT, etc.) │
└───────────────┬─────────────────────────┘
│ MCP Protocol (JSON-RPC)
┌───────────────▼─────────────────────────┐
│ Supabase Self-hosted MCP Server │
│ ┌─────────────────────────────────┐ │
│ │ Feature Flags & Safety Guards │ │
│ └─────────────────────────────────┘ │
│ │ │ │
│ ┌──────▼──────┐ ┌─────▼──────┐ │
│ │ PostgREST │ │ Direct │ │
│ │ Layer │ │ PG │ │
│ │ (RLS aware) │ │ (read-only)│ │
│ └──────┬──────┘ └─────┬──────┘ │
└─────────┼──────────────────┼───────────┘
│ │
▼ ▼
┌─────────────────────────────┐
│ Supabase Self-hosted │
│ (PostgreSQL + PostgREST) │
└─────────────────────────────┘pnpm installcp .env.example .env
# Edit .env with your Supabase credentialsKey Configuration:
# PostgreSQL (use read-only role for safety)
PG_DSN=postgres://mcp_ro:[email protected]:5432/postgres
# PostgREST endpoint
POSTGREST_URL=http://127.0.0.1:54321/rest/v1
# PostgREST JWT (anon key or service_role key)
POSTGREST_JWT=your_anon_key_here
# Safety mode (recommended: true)
READ_ONLY=true
# Feature flags
FEATURES=database,docs,postgrest-- Connect to your Supabase PostgreSQL as superuser
CREATE ROLE mcp_ro WITH LOGIN PASSWORD 'secure_password';
GRANT pg_read_all_data TO mcp_ro;
GRANT USAGE ON SCHEMA public TO mcp_ro;
GRANT USAGE ON SCHEMA information_schema TO mcp_ro;# Development mode (with auto-reload)
pnpm dev
# Production mode
pnpm build
pnpm startServer starts on http://localhost:3100
Tool Prefix: All tools use sbsh_ prefix to avoid collision with official Supabase MCP and PostgreSQL MCP servers.
#### 1. sbsh_introspect_schema
Get token-optimized schema summary for specified schemas.
{
"name": "sbsh_introspect_schema",
"arguments": {
"schemas": ["public"]
}
}Output: Digest format with table names, column types, index/constraint counts, RLS status.
#### 2. sbsh_execute_sql
Execute SELECT queries or EXPLAIN plans safely.
{
"name": "sbsh_execute_sql",
"arguments": {
"sql": "SELECT * FROM users WHERE created_at > '2024-01-01' LIMIT 10",
"limit": 100
}
}Safety: In READ_ONLY mode, DML/DDL/DCL are blocked.
#### 3. sbsh_postgrest_get
GET request via PostgREST with RLS respected.
{
"name": "sbsh_postgrest_get",
"arguments": {
"table": "users",
"query": {
"select": "id,email,created_at",
"eq": "status:active",
"order": "created_at.desc",
"limit": 10
}
}
}Security: Uses provided JWT, respects RLS policies.
#### 4. sbsh_get_table_doc
Get detailed documentation for a specific table.
{
"name": "sbsh_get_table_doc",
"arguments": {
"table": "public.users"
}
}Output: Columns, constraints, RLS policies, comments.
Control tool availability via FEATURES environment variable:
database: Schema introspection and SQL executiondocs: Table documentationpostgrest: PostgREST API wrapperfunctions: Edge Functions (not yet implemented)storage: Storage API (not yet implemented)introspect_schema returns compressed summarydocs.get_table_doc on demandname:type! (! = NOT NULL)This server is designed to work with dynamic MCP gateway patterns:
// Load only when Supabase tools are needed
await gateway.loadServer('airis-mcp-supabase-selfhost', {
url: 'http://localhost:3100/mcp',
features: 'database,docs'
})
// Use tools
await gateway.call('airis-mcp-supabase-selfhost', 'sbsh_introspect_schema', {})
// Unload after use
await gateway.unloadServer('airis-mcp-supabase-selfhost')Add to claude_desktop_config.json:
{
"mcpServers": {
"airis-mcp-supabase-selfhost": {
"command": "node",
"args": ["/path/to/dist/server.js"],
"env": {
"PG_DSN": "postgres://mcp_ro:pass@localhost:5432/postgres",
"POSTGREST_URL": "http://localhost:54321/rest/v1",
"POSTGREST_JWT": "your_jwt_here",
"READ_ONLY": "true",
"FEATURES": "database,docs,postgrest"
}
}
}
}Explore other tools in the AIRIS ecosystem:
We welcome contributions! Please:
git checkout -b feature/amazing-feature)git commit -m 'feat: add amazing feature')git push origin feature/amazing-feature)MIT
agiletec is a one-person studio building these tools full-time and open source. If they earn a spot in your workflow, a sponsorship keeps them maintained and independent.
Built with ❤️ by the [Agiletec](https://github.com/agiletec-inc) team
[Agiletec Inc.](https://github.com/agiletec-inc) | [Documentation](docs/) | [Issues](https://github.com/agiletec-inc/airis-mcp-supabase-selfhost/issues) | [Discussions](https://github.com/agiletec-inc/airis-mcp-supabase-selfhost/discussions)
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.