Supabase
MCP server for interacting with the Supabase platform
作者提供的说明(英文原文)
Ask a local SQLite mirror of your Jira and Confluence: SQL, full-text search, issue detail.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 midagedev 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.24.3)于3天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 MCPB。
同一分类中有: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、图片和脚本已被移除。链接会离开本站。
Find the thread in your backlog.
English · 한국어 · 日本語
Query your Jira backlog with SQL.
gadak mirrors the Jira Cloud projects and Confluence spaces you select (issues, comments, history, wiki pages) into one SQLite file on your machine, indexed together and searchable with no network. Use the mirror through the desktop app, a browser tab (gadak serve), the CLI, or MCP. Writes go to Jira first. One binary, no gadak account. It is 0.x software from one maintainer; status and promises are below. Atlassian's own Rovo MCP server is hosted and needs nothing installed, but it has no aggregation tool and no offline reads; the trade is in alternatives.
▶ Open the live demo · 534 issues, in your browser, right now.
Changelog · what shipped.
gadak sql "select epic_key, count(*) from issues_full where resolved_at is null
and epic_key <> '' group by epic_key order by 2 desc"
JQL has no GROUP BY. This query counts unresolved issues in each epic; the REST API returns the rows and leaves the counting to you. Datasette Lite runs this query on the demo snapshot in your browser+from+issues_full+where+resolved_at+is+null+and+epic_key+%3C%3E+''+group+by+epic_key+order+by+2+desc](https://lite.datasette.io/?url=https%3A%2F%2Fgadak.dev%2Fdemo%2Fgadak-demo.db#/demo?sql=select+epic_key%2C+count(*)+from+issues_full+where+resolved_at+is+null+and+epic_key+%3C%3E+''+group+by+epic_key+order+by+2+desc)) with nothing installed. More questions JQL cannot ask, as SQL: docs/RECIPES.md.
Measured 2026-08-26 against a live Cloud site (3,296 issues; medians, CLI startup included):
| Question | REST API | gadak | |
|---|---|---|---|
| Simple filter, 100 issues | 583 ms | 19 ms | 31× |
| One issue with its full history | 710 ms | 28 ms | 25× |
| Free-text search | 543 ms | 41 ms | 13× |
| Open issues per epic (`GROUP BY`) | 4,761 ms — 8 API pages in this measurement, aggregated client-side | 22 ms — one query | 214× |
| A count over the change history | no native aggregate — ≈ 28 min to crawl the history and count client-side | 14 ms | — |
The method, the re-measurement history, and the rows where gadak loses (the first full sync, the watch tick on a quiet site, one sync interval of staleness) are in docs/BENCHMARKS.md.
▶ 20-second tour of the list (GIF)
The window, in twenty seconds. Generated from e2e/demo/web-demo.spec.ts against the demo snapshot.
macOS app, CLI included:
brew install --cask midagedev/tap/gadak
CLI only, on macOS or Linux. The same UI opens in a browser tab via gadak serve:
brew install midagedev/tap/gadak-cli
Connect to Jira Cloud, then open the address gadak serve prints (http://gadak.localhost:7777). The first sync runs inside serve, newest issues first, and the list fills while it runs:
gadak init && gadak serve # mirror a Jira Cloud site
gadak init --local && gadak serve # no Jira — start on the tracker gadak ships with
A site needs one API token, a user token created with no scopes; it covers Jira and Confluence on the same site, and the mirror sees what your account sees. You pick what it mirrors: --projects for Jira, --spaces for the wiki, which stays off until you name spaces. Jira Server and Data Center connect with gadak init --server and a Personal Access Token; the wiki stays off there (no Confluence Server client).
gadak init --projects ENG,PROD --spaces ENG
Windows: the desktop app is on the Microsoft Store. The Store signs it, so neither SmartScreen nor Smart App Control objects, and a Store install puts the gadak command on PATH as well (since 0.20.2). For the CLI without the Store, take gadak_ _windows_amd64.zip (or arm64) from the latest release, unzip, put gadak.exe on PATH. The release's desktop zip (Gadak- -windows-x64.zip) stays unsigned, and a SmartScreen block there is a missing signature, not a virus finding (why). If it blocks, install from the Store, and do not turn Smart App Control off.
The window follows the browser or OS language (English, Korean or Japanese; Settings switches it). The signed dmg, the Linux tarball, Docker, upgrades: docs/INSTALL.md.
Other workspaces. gadak --workspace migrate --from moves a synced workspace onto another origin; add --to linear to target a Linear team. A second machine pairs with a home serve: gadak --workspace laptop init --pairing-code-stdin.
gadak serve syncs every 60 seconds by default (syncIntervalSec), plus an hourly reconcile that removes issues you can no longer see. Reads are one interval behind Jira.~/.gadak/config.json, mode 0600. Credentials never reach SQLite, a log, or a snapshot.SECURITY.md is the complete list and docs/NETWORK.md walks every connection and its off switch. Four reads still ask Jira: viewing an attachment, gadak issue --editmeta, gadak fields, and gadak api (a passthrough).The mirror is a cache you can throw away. Delete the directory and nothing is lost.
Let your coding agent query the same mirror through the CLI or MCP. Reference: [docs/MIRROR.md](docs/MIRROR.md); one paste per host: docs/AGENT_SETUP.md.
gadak skill install
That copies one SKILL.md for Claude Code and starts no process; the agent runs short-lived gadak commands. Name another host to install the same file there: gadak skill install codex, and the same for agents, cursor, gemini, opencode and grok. For Claude Desktop, which has no shell, register the same mirror as an MCP server (gadak mcp install claude is the Claude Code registration; Claude Desktop never sees it):
gadak mcp install claude-desktop
The shell is in the window (⌘K → Terminal, or Ctrl+`). gadak claim binds the pane to the issue, and a Claude Code session started in it filters the list, then saves and opens a dashboard in the same window. Nothing but the two prompts is scripted; the stretches where the agent is working are time-lapsed. The Korean and Japanese READMEs carry the same take recorded in their own language. Recorded from e2e/demo/terminal-claude-demo.spec.ts via record-terminal-claude.sh .
Two rules carry most of the value. Filter on status_category and priority_rank rather than a display name: Jira translates those per account, so priority = High is silently zero rows on a Korean-language site. And open the issues a query returns in the gadak window: gadak sql --no-header "…" | gadak views open --keys - puts the agent's answer on your screen, and gadak views open --jql '…' lands pasted JQL as chips.
Writes (create, edit, comment, transition, claim, link, and the wiki's page verbs) go through the origin before the mirror refreshes. On Jira and Linear, an agent's comments and the issues it creates carry its name (off switch: gadak config set actor.trailer false). On the built-in tracker, the person at the machine has the same byline: gadak me set "Your Name" authors their own writes as them.
An agent that reads the mirror sends what it reads to whatever model it talks to. gadak itself sends nothing. Scope the mirror to what the agent should see.
The iOS app pairs with a gadak serve you already run, over your own network. No gadak account, and nothing hosted in between. Whatever the cache holds, the phone shows: fields, attachments, linked issues, wiki pages, the active sprint and every sprint behind it. What is one line to say, the phone writes through the origin first, the way the desk does: a comment, a label, a due date, a photo, an issue filed under its epic. Editing a page or a custom field, authoring a view, laying out a dashboard and moving cards stay on the desktop, and the app says so where the control would be.
The writing half of one take — the whole clip plays on the site , because GitHub's markdown drops a <video> . Nothing here is staged: the demo snapshot is served as a tracker of its own, so every write lands.
Beta, and that is the whole status. Builds go to TestFlight for internal testers, and there is no public download. An App Store listing waits on a way for a reviewer to see the app without joining your network.
Four origins, one set of verbs: Atlassian Cloud, Jira Server / Data Center (gadak init --server and a Personal Access Token), Linear (a "linear" block in the workspace config and gadak sync --source linear), and the built-in tracker that travels with the app. Reads, writes, hierarchy, attachments, history and the board layout work on all four; the wiki on the three that have one. What each origin refuses, with the code citation behind every cell: docs/SUPPORT_MATRIX.md. Three things appear on no origin at all and stay in Jira: sprints as a UI,
只显示了开头部分;其余内容请在仓库中阅读