Token导航 LogoToken导航TokenDH.com
Airis MCP Supabase Selfhost logo
数据服务未说明官方级别未说明来源级核验

Airis MCP Supabase Selfhost

MCP Server

为自托管Supabase提供RLS感知的PostgreSQL和PostgREST层的MCP服务器,支持安全、高效的数据库访问和操作。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
数据库服务自托管PostgreSQLClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

agiletec-inc

提供方

agiletec-inc

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Supabase自托管MCP服务器

MCP(模型上下文协议)服务器,用于具有RLS感知PostgreSQL+PostgREST层的自托管Supabase。

______________________________________________________________________

🌟 AIRIS生态系统的一部分

此MCP服务器旨在与 AIRIS套房 -可通过以下方式访问 airis mcp网关 用于令牌高效集成。

AIRIS套房

组件目的适用对象
airis代理人🧠 所有编辑器的智能层(置信度检查、深入研究、自我审查)所有使用Claude Code、Cursor、Windsurf、Codex、Gemini CLI的开发人员
airis mcp网关🚪 通过延迟加载减少90%令牌的统一MCP代理希望更快启动的Claude Code用户
Mindbase 的💾 具有语义搜索的本地跨会话内存想要持久对话历史的开发人员
airis工作区🏗️ Docker第一个monorepo管理器构建monorepo的团队
airiscode🖥️ 终端优先自主编码代理CLI优先开发者

MCP服务器(通过网关提供)

  • airis mcp suabase自宿主 (此仓库)-支持RLS的自托管Supabase MCP
  • Mindbase 的 -内存搜索和存储工具(mindbase_search, mindbase_store)

建议:通过AIRIS MCP网关安装

此MCP服务器来了 预配置 使用AIRIS MCP网关。无需额外设置。

# 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/mcp

替代方案:独立安装

如果您需要独立运行此服务器:

git clone https://github.com/agiletec-inc/airis-mcp-supabase-selfhost.git
cd airis-mcp-supabase-selfhost && pnpm install

全套套房为您带来:

  • ✅ 信任门控工作流程(防止错误的方向编码)
  • ✅ 深入研究与证据综合
  • ✅ 通过存储库索引减少94%的令牌
  • ✅ 跨所有编辑器的跨会话内存
  • ✅ 自我审查和实施后验证

______________________________________________________________________

✨ 特性

  • 2层后端:PostgREST(尊重RLS)+直接PostgreSQL(模式自检和诊断)
  • 令牌优化:懒惰的广告、模式摘要、最少的工具描述
  • 安全第一:默认情况下为READ_ONLY模式,DML/DDL/DCL被阻止,SQL验证
  • 功能标志:选择性工具激活(数据库、文档、postgrest、函数、存储)
  • RLS意识:PostgREST层遵守行级安全策略
  • Supabase兼容:适用于官方Supabase自托管部署

🏗️ 建筑

┌─────────────────────────────────────────┐
│  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)  │
    └─────────────────────────────┘

🚀 快速开始

先决条件

  • Node.js>=20.0.0
  • 自托管Supabase实例正在运行(本地主机:54321或远程)
  • PostgreSQL只读用户(推荐)

1.安装依赖项

pnpm install

2.配置环境

cp .env.example .env
# Edit .env with your Supabase credentials

关键配置:

# PostgreSQL (use read-only role for safety)
PG_DSN=postgres://mcp_ro:password@127.0.0.1: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

3.创建只读PostgreSQL用户(推荐)

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

4.启动服务器

# Development mode (with auto-reload)
pnpm dev

# Production mode
pnpm build
pnpm start

服务器启动于 http://localhost:3100

🛠️ 可用工具

MVP工具(当前实施)

工具前缀:所有工具使用 sbsh_ 前缀,以避免与官方Supabase MCP和PostgreSQL MCP服务器冲突。

1. sbsh_introspect_schema

获取指定架构的令牌优化架构摘要。

{
  "name": "sbsh_introspect_schema",
  "arguments": {
    "schemas": ["public"]
  }
}

输出:包含表名、列类型、索引/约束计数、RLS状态的摘要格式。

2. sbsh_execute_sql

安全地执行SELECT查询或解释计划。

{
  "name": "sbsh_execute_sql",
  "arguments": {
    "sql": "SELECT * FROM users WHERE created_at > '2024-01-01' LIMIT 10",
    "limit": 100
  }
}

安全:在READ_ONLY模式下,DML/DDL/DCL被阻止。

3. sbsh_postgrest_get

通过PostgREST发出GET请求,并尊重RLS。

{
  "name": "sbsh_postgrest_get",
  "arguments": {
    "table": "users",
    "query": {
      "select": "id,email,created_at",
      "eq": "status:active",
      "order": "created_at.desc",
      "limit": 10
    }
  }
}

安全:使用提供的JWT,尊重RLS政策。

4. sbsh_get_table_doc

获取特定表格的详细文档。

{
  "name": "sbsh_get_table_doc",
  "arguments": {
    "table": "public.users"
  }
}

输出:列、约束、RLS策略、评论。

🔐 安全特性

只读模式(默认)

  • 默认情况下启用 为了安全
  • 阻止所有DML/DDL/DCL操作
  • 仅允许SELECT和EXPLAIN查询
  • 建议用于生产

SQL验证

  • 基于正则表达式的变异操作检测
  • 块:INSERT、UPDATE、DELETE、TRUNCATE、ALTER、DROP、CREATE、GRANT、REVOKE等。
  • 允许:选择、解释

RLS尊重

  • PostgREST层自动执行行级安全
  • PostgreSQL直接层使用只读角色(无写权限)
  • 基于JWT的用户范围访问身份验证

功能标志

通过以下方式控制工具可用性 FEATURES 环境变量:

  • database:模式自省和SQL执行
  • docs:表格文件
  • postgrest:PostgREST API包装
  • functions:边缘功能(尚未实现)
  • storage:存储API(尚未实现)

📊 令牌优化

懒惰的广告

  • 仅支持广告功能
  • 最少的工具描述(按需提供详细帮助)
  • 功能标志减少了初始令牌负载

架构摘要

  • introspect_schema 返回压缩摘要
  • 详细信息请访问 docs.get_table_doc 按需
  • 列格式: name:type! (!=非空)

结果抽样

  • 可配置的行限制(最大1000)
  • 包含用于上下文的字段元数据
  • 截断警告

🔧 发展路线图

第一阶段:MVP(当前)

  • \[x\] 项目设置
  • \[x\] 核心工具:内省模式、执行sql、postgrest.get、文档
  • \[x\] 只读模式
  • \[x\] 功能标志
  • \[x\] 令牌优化

第二阶段:增强安全性

  • \[\]DML操作的干运行模式
  • \[\]审核日志记录
  • \[\]速率限制
  • \[\]查询成本估算

第三阶段:扩展功能

  • \[\]边缘功能支持
  • \[\]存储API集成
  • \[\]实时订阅
  • \[\]多项目支持

第四阶段:高级优化

  • \[\]模式缓存无效
  • \[\]结果分页
  • \[\]流媒体响应
  • \[\]连接池优化

🤝 整合

使用airis mcp网关

此服务器设计用于动态MCP网关模式:

// 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')

使用克劳德桌面

增添 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"
      }
    }
  }
}

______________________________________________________________________

🔗 相关项目

探索AIRIS生态系统中的其他工具:

______________________________________________________________________

💖 支持这个项目

如果你觉得这个项目有帮助,可以考虑支持它的开发:

![Buy Me A Coffee](https://buymeacoffee.com/kazukinakai) ](https://github.com/sponsors/kazukinakai)

您的支持有助于维护和改进所有AIRIS项目!

______________________________________________________________________

🤝 贡献

我们欢迎捐款!拜托:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'feat: add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

______________________________________________________________________

📝 许可证

麻省理工学院

______________________________________________________________________

🙏 致谢

______________________________________________________________________

内置于❤️ 由 Agiletec 团队

目录标签

目录标签

数据库服务自托管PostgreSQLClaudeTypeScript本地部署RLS支持PostgREST

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP