Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
Deploy a multi-user web app from your agent: hosting, auth, database, and permissions.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
HOMESPUN_API_KEY, HOMESPUN_URL, HOMESPUN_AGENT_NAME, HOMESPUN_REGISTER_SECRET标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://homespun.dev/mcp打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"homespun": {
"command": "npx",
"args": [
"-y",
"@homespunapps/mcp"
],
"env": {
"HOMESPUN_API_KEY": "your-value",
"HOMESPUN_URL": "your-value",
"HOMESPUN_AGENT_NAME": "your-value",
"HOMESPUN_REGISTER_SECRET": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add --transport http homespun https://homespun.dev/mcpclaude mcp add homespun --env HOMESPUN_API_KEY=your-value --env HOMESPUN_URL=your-value --env HOMESPUN_AGENT_NAME=your-value --env HOMESPUN_REGISTER_SECRET=your-value -- npx -y @homespunapps/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"homespun": {
"url": "https://homespun.dev/mcp"
}
}
}粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"homespun": {
"command": "npx",
"args": [
"-y",
"@homespunapps/mcp"
],
"env": {
"HOMESPUN_API_KEY": "your-value",
"HOMESPUN_URL": "your-value",
"HOMESPUN_AGENT_NAME": "your-value",
"HOMESPUN_REGISTER_SECRET": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"homespun": {
"type": "http",
"url": "https://homespun.dev/mcp"
}
}
}粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"homespun": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@homespunapps/mcp"
],
"env": {
"HOMESPUN_API_KEY": "your-value",
"HOMESPUN_URL": "your-value",
"HOMESPUN_AGENT_NAME": "your-value",
"HOMESPUN_REGISTER_SECRET": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://homespun.dev/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
HOMESPUN_URL envHOMESPUN_AGENT_NAME env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 homespun.dev 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:HOMESPUN_API_KEY, HOMESPUN_REGISTER_SECRET
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(1.6.98)于21天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP server for interacting with the Supabase platform
MongoDB Model Context Protocol Server
MCP server for interacting with Elasticsearch
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A thin stdio [Model Context Protocol](https://modelcontextprotocol.io) server for Homespun. It lets any MCP client (Claude Desktop, Cursor, Windsurf, Cline, your own host) deploy a real multi-user web app in one call and keep operating its data afterwards: hosting on its own URL, magic-link identity, a shared realtime database with per-role permissions, email notifications and file attachments, all included.
It is a wrapper, not a reimplementation: all relay I/O goes through @homespunapps/core, and config is shared with the homespun CLI (~/.config/homespun/config.json), so the CLI and this server use the same agent identity.
The binary is homespun-mcp. It speaks MCP over stdio and is meant to be launched by an MCP host, not run interactively.
No global install needed: point your MCP client at npx @homespunapps/mcp. On first use, if no API key is configured, the server auto-registers a fresh agent against the hosted relay and saves the key to the shared CLI store; nothing else to set up.
Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "homespun": { "command": "npx", "args": ["-y", "@homespunapps/mcp"] } } }
To pin an existing agent key instead of auto-registering, add an env block:
{
"mcpServers": { "homespun": { "command": "npx", "args": ["-y", "@homespunapps/mcp"], "env": { "HOMESPUN_API_KEY": "hs_..." } } } }
Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{
"mcpServers": { "homespun": { "command": "npx", "args": ["-y", "@homespunapps/mcp"], "env": { "HOMESPUN_API_KEY": "hs_..." } } } }
Any client that takes a command + args + env works the same way:
{
"mcpServers": { "homespun": { "command": "npx", "args": ["-y", "@homespunapps/mcp"], "env": { "HOMESPUN_URL": "https://homespun.dev", "HOMESPUN_API_KEY": "hs_..." } } } }
If you'd rather install it globally (npm i -g @homespunapps/mcp), use "command": "homespun-mcp" with no args.
All environment variables are optional; the defaults target the hosted relay and auto-register on first use.
| Variable | Default | Purpose |
|---|---|---|
HOMESPUN_URL | https://homespun.dev | Relay base URL. Set to point at a different relay. |
HOMESPUN_API_KEY | _(auto-registered)_ | Agent API key. If unset, the server registers an agent on first use and saves the key to ~/.config/homespun/config.json (shared with the CLI). |
HOMESPUN_TOKEN | _(none)_ | Alias for HOMESPUN_API_KEY (for hosts that name secrets *_TOKEN). HOMESPUN_API_KEY wins if both are set. |
HOMESPUN_AGENT_NAME | homespun-mcp | Display name for the auto-registered agent. |
HOMESPUN_REGISTER_SECRET | _(none)_ | Registration secret, only for relays running REGISTRATION_MODE=secret. |
Config precedence mirrors the CLI: env vars win over the saved profile, which falls back to the default relay URL.
This server has full parity with the [`homespun` CLI](https://www.npmjs.com/package/@homespunapps/cli): every capability the CLI exposes is reachable here.
MCP tools are request/response, so there is no long-lived "watch". To see what changed you poll get_feed_events with the cursor from the previous call (pass wait to long-poll, 0 to 30 seconds); to watch one collection, re-call list_rows with the prior next_cursor as since. Each tool description spells out the pattern for the model.
To keep the tool list compact (a flat 50+ tools would bloat client context and degrade selection), hot-path nouns stay discrete tools while multi-verb management nouns collapse into one tool each with a required `action` enum.
| Tool | What it does |
|---|---|
deploy_app | Deploy a v2 app: an HTML document plus a capability manifest, hosted at its own URL. Omit app_id to create, pass it to redeploy in place (same URL, same data, same members). Takes html or html_path, optional assets, visibility, slug, dry_run, force. |
list_rows | List rows in a collection. Doubles as the poll for a collection's current state: pass the prior next_cursor as since. |
get_row | Fetch one row by key (a dedicated relay route, not a client-side scan). |
add_row | Create a row, or return the existing one if key is already present (deduped: true), or row_not_found when the collection's read list does not reach that row for you. The only create-shaped verb. |
update_row | Replace an existing row's data. Optional if_match optimistic lock. |
delete_row | Soft-delete a row. Optional if_match. |
get_feed_events | Poll the app's change feed for row creates/updates/deletes from any writer, human or agent. Optional wait (0-30s) long-poll. |
action)| Tool | Actions |
|---|---|
apps | list · show · update · share_link_rotate · delete · wake · domain_set · domain_status · domain_remove |
members | add · list · set_role · remove · roles |
grants | mint · list · revoke |
ingest | list · rotate · set_signing_secret · clear_signing_secret |
attachments | upload · fetch · presign · finalize · download · show · list · delete · mint_token · revoke_token · list_tokens |
taste | get · set · clear |
key | list · mint · revoke |
feedback | create · list |
agent | whoami · claim · logout |
community | publish · unpublish · get_config_contract · install · list_pending · get_submission · approve · reject · set_trust_level |
publisher | claim · get · update |
review | create · respond · report · remove · unhold |
| Tool | What it does |
|---|---|
get_skill | Fetch the relay's auto-updating guide (unauthenticated) to self-teach the workflow. |
Attachments take and return file paths: upload reads an absolute file_path; download writes to an absolute out_path (or returns base64 when omitted). For real media, presign then PUT then finalize avoids moving bytes through the tool call.
One data primitive. Everything an app stores is a collection: a named, mutable, queryable set of rows, each with a key, a data payload, an optimistic-lock version and an author. Every write also lands on the app's ordered change feed. Declare a collection appendOnly: true in the manifest when you want a journal (an audit trail, a submission log) rather than mutable state.
config show is replaced by agent → whoami (resolved relay URL, active profile, and whether a key is set; no secrets).agent register is not a tool. The server auto-registers on first use and shares the CLI's key store; agent → claim binds it to a human afterwards.demo (the interactive terminal tour) and the CLI self-updater are terminal concerns with no agent use; omitted.deploy_app with your HTML plus an x-homespun-manifest declaring the app's collections and which roles may read, write and delete each. Returns { app_id, url, ... }.url to the owner, and invite anyone else with members (action: add).get_feed_events with wait: 25 in a loop, passing the prior cursor as since, to see what people do.list_rows / add_row / update_row, and ship changes with deploy_app again, passing app_id.server.json (in this package) carries the metadata for the official MCP registry. Publishing there is a follow-up step for the maintainer.
MIT, see LICENSE.