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

Supabase Remote MCP SDK

MCP Server

Supabase Remote MCP SDK是一个用于快速构建和部署Model Context Protocol (MCP)服务器的工具,提供类型安全和生产就绪的功能,支持Supabase Edge Functions和可选的UI扩展。

工具数

1

提示词数

0

GitHub Stars

1

资源数

0
边缘计算类型安全TypeScript

安装说明

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

作者 / 组织

Rodriguespn

提供方

Rodriguespn

最后核验

2026/5/17 20:23

快速接入

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

详细介绍

Supabase远程MCP SDK——规范

动机

构建和部署模型上下文协议(MCP)服务器应该是快速、类型安全和生产就绪的,而无需深入了解边缘运行时或传输细节。如今,开发人员面临着三个方面的摩擦:

  • 服务器脚手架:连接传输、模式验证和MCP功能(工具、资源、提示、中间件)。
  • 部署:绑定并部署到具有合理默认值和可重复工作流的边缘运行时(例如,Deno上的Supabase edge Functions)。
  • 用户体验:为MCP响应(用于ChatGPT应用程序和MCP-UI)添加丰富的UI功能强大,但跨多个协议和库。

此SDK旨在:

  • 在mcp-lite之上提供一个流畅、类型安全的服务器构建器,可在Supabase Edge Functions上无缝工作。
  • 提供附带电池的CLI,用于初始化、开发、部署、列出和查看特定功能的日志: supabase-mcp-remote logs .
  • 使UI成为一流的可选插件,同时支持OpenAI应用程序(ChatGPT小部件)和MCP-UI消息模式。
  • 将身份验证作为一个单独的包进行插入,这样不同的组织就可以带来自己的OAuth/JWT/Supabase Auth,而不会使核心膨胀。

非目标:

  • 替换 mcp-lite。我们在此基础上进行构建,并按照人体工程学原理展示其功能。
  • 将用户锁定到单个UI协议中。ChatGPT应用程序和MCP-UI都通过可选的UI包支持。
  • 对任何单一身份验证机制进行硬编码。Auth是一个单独的包,是可选的。

设计原则:

  • Edge-first和minimum:使用Deno/Subabase边缘函数和Hono,坚持Fetch API。
  • 端到端类型安全:用于模式的Zod(或适配器)→ 键入处理程序。
  • 渐进式、模块化采用:核心SDK(服务器+部署)、可选UI、可选身份验证。
  • 清晰的人体工程学:小API表面和“刚刚好用”的CLI

项目结构

Monorepo由三个包和文档/示例组成。身份验证包已计划好,但尚未实现。

supabase-remote-mcp-sdk/
├── packages/
│   ├── sdk/                        # @supabase-remote-mcp/sdk (core)
│   │   ├── src/
│   │   │   ├── core/
│   │   │   │   ├── server-builder.ts        # Fluent builder over mcp-lite
│   │   │   │   ├── tool-registry.ts         # Tools API
│   │   │   │   ├── resource-registry.ts     # Static & templated resources
│   │   │   │   ├── prompt-registry.ts       # Prompt templates
│   │   │   │   ├── middleware-manager.ts    # Middleware chain
│   │   │   │   └── config.ts                # SDK config types
│   │   │   ├── deployment/
│   │   │   │   ├── deployer.ts              # Orchestrates edge deploys
│   │   │   │   ├── supabase-client.ts       # Supabase CLI/API wrapper
│   │   │   │   ├── bundler.ts               # Build/bundle for Edge Functions
│   │   │   │   └── templates.ts             # Function/handler templates
│   │   │   ├── cli/
│   │   │   │   ├── commands/
│   │   │   │   │   ├── init.ts
│   │   │   │   │   ├── dev.ts
│   │   │   │   │   ├── deploy.ts
│   │   │   │   │   ├── list.ts
│   │   │   │   │   └── logs.ts              # supabase-mcp-remote logs 
│   │   │   │   └── index.ts                 # CLI entry
│   │   │   └── index.ts                     # Public exports
│   │   ├── tests/                           # Unit, integration, e2e
│   │   └── package.json
│   │
│   ├── ui/                         # @supabase-remote-mcp/ui (optional UI)
│   │   ├── src/
│   │   │   ├── chatgpt/                    # OpenAI Apps widgets
│   │   │   │   ├── hooks/                  # useWidgetProps, useWidgetState, etc.
│   │   │   │   ├── server/                 # registerChatGPTWidget(), resource wiring
│   │   │   │   └── bundler/                # Bundle React → single HTML for widgets
│   │   │   ├── mcp-ui/                     # MCP-UI protocol support
│   │   │   │   ├── messenger/              # Iframe messenger (postMessage/RPC)
│   │   │   │   ├── hooks/                  # useUIMessenger(), etc.
│   │   │   │   └── server/                 # registerMCPUIWidget() helpers
│   │   │   └── index.ts
│   │   ├── templates/              # Starter UI templates (ChatGPT/MCP-UI)
│   │   └── package.json
│   │
│   └── auth/                       # @supabase-remote-mcp/auth (future)
│       ├── src/
│       │   ├── strategies/                 # oauth, jwt, api-key, custom
│       │   ├── middleware/                 # createAuthMiddleware(), rate limiter
│       │   ├── supabase/                   # Supabase Auth helpers
│       │   └── index.ts
│       └── package.json
│
├── examples/
│   ├── basic-tools/                # Minimal tools-only example
│   ├── with-resources/             # Static + templated resources
│   ├── with-prompts/               # Prompt templates
│   ├── with-middleware/            # Logging/Auth/Rate limiting patterns
│   ├── chatgpt-widget/             # UI example (OpenAI Apps)
│   └── mcp-ui-widget/              # UI example (MCP-UI)
│
└── docs/
    ├── getting-started.md
    ├── ui/chatgpt-widgets.md
    ├── ui/mcp-ui.md
    └── authentication.md           # Placeholder for future auth package

关键决策:

  • 核心保持精简:mcp-lite服务器构建器+Supabase部署+CLI。
  • UI是可选的:通过单独的包支持ChatGPT(OpenAI Apps)和MCP-UI;受分形mcp/sdk图案的启发。
  • Auth是可选的和独立的:一个提供中间件和策略的未来包;芯部露出钩子来连接它。
  • CLI名称稳定且明确: supabase-mcp-remote,包括功能范围日志 supabase-mcp-remote logs .

基本用法(非常少)

本例展示了开发人员如何使用SDK流畅的API通过一个工具定义一个小型MCP服务器。它侧重于核心开发人员体验;还没有UI或身份验证。

TypeScript(服务器文件):

import { z } from "zod";
import { SupabaseMCPServer } from "@supabase-remote-mcp/sdk";

const server = new SupabaseMCPServer({
  name: "hello-mcp",
  version: "1.0.0",
  // You can pass env or config as needed; SDK will handle edge bundling/deploy
});

server.tool("echo", {
  description: "Echo a message",
  schema: z.object({ message: z.string() }),
  handler: async (args) => ({
    content: [{ type: "text", text: args.message }],
  }),
});

// Optionally add resources or prompts:
// server.resource("file://config.json", { /* … */ }, async (uri) => ({ contents: [/* … */] }));
// server.prompt("review", { /* … */ });

export default server;

CLI(部署和查看日志):

# Deploy to Supabase Edge Functions (bundles automatically)
supabase-mcp-remote deploy

# View logs for a specific function (tail optional)
supabase-mcp-remote logs hello-mcp

这有什么作用:

  • 使用一个工具定义MCP服务器 mcp-lite 引擎盖下。
  • 将Supabase Edge Functions的代码捆绑在一起,并将其部署在 //mcp 终点。
  • 允许您通过以下方式查看函数范围的日志 supabase-mcp-remote logs .

下一步(可选):

  • 通过添加UI @supabase-remote-mcp/ui:

- ChatGPT小部件:注册一个小部件并返回 structuredContent +HTML资源。 - MCP-UI:为其他客户端中的交互式UI添加iframe信使和钩子。

  • 通过添加身份验证 @supabase-remote-mcp/auth (未来):

- 插入式OAuth/JWT/neneneba API关键中间件;访问 ctx.authInfo 在处理程序中。

目录标签

目录标签

边缘计算类型安全TypeScriptMCP服务器本地部署Supabase集成UI扩展

接入字段

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

未说明

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

oauth

工具数量(toolCount,工具数)

1

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明oauth部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP