• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / mcp / 32367096656
97%

Build:
DEFAULT BRANCH: main
Ran 20 Aug 2026 12:07PM UTC
Jobs 1
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

20 Aug 2026 12:06PM UTC coverage: 96.512%. Remained the same
32367096656

push

github

web-flow
feat!: migrate published packages to MCP SDK v2 (#327)

## What kind of change does this PR introduce?

Moves the three published packages off the v1 monolithic
`@modelcontextprotocol/sdk` and onto the split v2 packages,
`@modelcontextprotocol/server` + `@modelcontextprotocol/client`, on the
released `2.0.0` line.

Part of
[AI-1044](https://linear.app/supabase/issue/AI-1044/migrate-mcp-server-supabase-to-mcp-sdk-v2),
PR 1 of 3 in the [MCP SDK v2 migration
plan](https://linear.app/supabase/document/mcp-sdk-v2-migration-plan-d19bb064d673).
Rebased off @raulb 's original beta.3 work onto current `main`.

## What is the current behavior?

`@supabase/mcp-utils`, `@supabase/mcp-server-supabase`, and
`@supabase/mcp-server-postgrest` depend on `@modelcontextprotocol/sdk:
^1.25.2`, which predates the 2026-07-28 spec.

## What is the new behavior?

Same wire behavior apart from one malformed-input error code, covered
under **Wire delta** below. Nothing about serving changed:

- `mcp-utils` registers its five handlers by method string
(`tools/call`, `tools/list`, `resources/list`,
`resources/templates/list`, `resources/read`) instead of by Zod request
schema. v2 still validates and narrows each request through its codec,
so this is a signature change, not a validation change.
- `createMcpServer` returns a bare `Server`. v2's `Server` takes no type
parameters, so the `ExtractRequest` / `ExtractNotification` /
`ExtractResult` machinery that existed only to widen intellisense had
nothing left to widen.
- `mcp-server-postgrest` is compile-only, as the plan requires: imports
moved, stdio entry and tool surface untouched.
- No `serveStdio`, no HTTP handler, no era negotiation. Those are PR 2.

## Additional context

**Catalog range.** The catalog entries are `^2.0.0` rather than an exact
`2.0.0`. `peerDependencies` in all three packages is `"catalog:"`, and
`pnpm publish` substitutes the catalog value verbatim, so an exact pin
would ship consumers a peer they cannot s... (continued)

348 of 382 branches covered (91.1%)

Branch coverage included in aggregate %.

2945 of 3030 relevant lines covered (97.19%)

49.82 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32367096656.1 20 Aug 2026 12:07PM UTC 32
96.51
GitHub Action Run
Source Files on build 32367096656
  • Tree
  • List 32
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32367096656
  • ead56f22 on github
  • Prev Build on main (#32362239820)
  • Next Build on main (#32367232457)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc