chore(studio): upgrade @supabase/mcp-server-supabase to v0.6.2 (#42210)

* chore(mcp): upgrade @supabase/mcp-server-supabase to v0.6.2

* fix: mocks for Node.js / Web Standard HTTP APIs
This commit is contained in:
Matt Rossman authored and GitHub committed 2026-01-27 13:10:17 -05:00
1 parent 7cfd30370e
commit d21098ada4
3 files changed
+75 -59

No files matched your search

+3 -3
View File
@@ -47,7 +47,7 @@
"@heroicons/react": "^2.1.3",
"@hookform/resolvers": "^3.1.1",
"@mjackson/multipart-parser": "^0.10.1",
"@modelcontextprotocol/sdk": "^1.24.0",
"@modelcontextprotocol/sdk": "^1.25.2",
"@monaco-editor/react": "^4.6.0",
"@next/bundle-analyzer": "^16.0.3",
"@number-flow/react": "^0.3.2",
@@ -59,8 +59,8 @@
"@stripe/react-stripe-js": "^3.7.0",
"@stripe/stripe-js": "^7.5.0",
"@supabase/auth-js": "catalog:",
"@supabase/mcp-server-supabase": "^0.6.1",
"@supabase/mcp-utils": "^0.3.1",
"@supabase/mcp-server-supabase": "^0.6.2",
"@supabase/mcp-utils": "^0.3.2",
"@supabase/pg-meta": "workspace:*",
"@supabase/realtime-js": "catalog:",
"@supabase/shared-types": "0.1.83",
+24 -1
View File
@@ -1,12 +1,35 @@
import { describe, it, expect, beforeEach } from 'vitest'
import { describe, it, expect, beforeEach, vi } from 'vitest'
import { createMocks } from 'node-mocks-http'
import { mswServer } from 'tests/lib/msw'
import handler from '../../../../pages/api/mcp/index'
// Mock the MCP SDK and Supabase MCP server to avoid Hono/node-mocks-http compatibility issues.
//
// Starting with MCP SDK v1.25.x (required by @supabase/mcp-server-supabase@0.6.2), the SDK
// uses @hono/node-server for converting between Node.js HTTP and Web Standard APIs. This is
// incompatible with the node-mocks-http library used in these tests.
//
// Since these tests focus on query parameter validation in the API handler rather than
// testing the MCP transport implementation, we mock both packages to avoid hitting the
// incompatible Hono code paths.
vi.mock('@modelcontextprotocol/sdk/server/streamableHttp.js', () => ({
StreamableHTTPServerTransport: vi.fn().mockImplementation(() => ({
handleRequest: vi.fn().mockResolvedValue(undefined),
})),
}))
vi.mock('@supabase/mcp-server-supabase', () => ({
createSupabaseMcpServer: vi.fn().mockReturnValue({
connect: vi.fn().mockResolvedValue(undefined),
}),
}))
describe('/api/mcp', () => {
beforeEach(() => {
// Disable MSW for these tests
mswServer.close()
// Clear mock state between tests
vi.clearAllMocks()
})
describe('Method handling', async () => {
+48 -55
View File
@@ -560,7 +560,7 @@ importers:
version: 0.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
nuqs:
specifier: ^1.19.1
version: 1.19.1(next@15.5.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))
version: 1.19.1(next@15.5.10(@babel/core@7.28.4(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4))
openai:
specifier: ^4.75.1
version: 4.104.0(encoding@0.1.13)(ws@8.18.3)(zod@3.25.76)
@@ -836,8 +836,8 @@ importers:
specifier: ^0.10.1
version: 0.10.1
'@modelcontextprotocol/sdk':
specifier: ^1.24.0
version: 1.24.0(supports-color@8.1.1)(zod@3.25.76)
specifier: ^1.25.2
version: 1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76)
'@monaco-editor/react':
specifier: ^4.6.0
version: 4.6.0(monaco-editor@0.52.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -872,11 +872,11 @@ importers:
specifier: 'catalog:'
version: 2.93.1
'@supabase/mcp-server-supabase':
specifier: ^0.6.1
version: 0.6.1(supports-color@8.1.1)(zod@3.25.76)
specifier: ^0.6.2
version: 0.6.2(@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76))(zod@3.25.76)
'@supabase/mcp-utils':
specifier: ^0.3.1
version: 0.3.1(supports-color@8.1.1)(zod@3.25.76)
specifier: ^0.3.2
version: 0.3.2(@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76))(zod@3.25.76)
'@supabase/pg-meta':
specifier: workspace:*
version: link:../../packages/pg-meta
@@ -4178,6 +4178,12 @@ packages:
peerDependencies:
react: '>= 16'
'@hono/node-server@1.19.9':
resolution: {integrity: sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==}
engines: {node: '>=18.14.1'}
peerDependencies:
hono: ^4
'@hookform/resolvers@3.3.1':
resolution: {integrity: sha512-K7KCKRKjymxIB90nHDQ7b9nli474ru99ZbqxiqDAWYsYhOsU3/4qLxW91y+1n04ic13ajjZ66L3aXbNef8PELQ==}
peerDependencies:
@@ -4914,18 +4920,8 @@ packages:
'@mjackson/node-fetch-server@0.2.0':
resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==}
'@modelcontextprotocol/sdk@1.23.1':
resolution: {integrity: sha512-JvO6eVMbSKdk+iZcwECz/tra9DRAKlv1mAOsQ1DAWU3qG28tDIffpkEAUkqMMwlOq77GhnMpezEjiQJGIR+hHw==}
engines: {node: '>=18'}
peerDependencies:
'@cfworker/json-schema': ^4.1.1
zod: ^3.25 || ^4.0
peerDependenciesMeta:
'@cfworker/json-schema':
optional: true
'@modelcontextprotocol/sdk@1.24.0':
resolution: {integrity: sha512-D8h5KXY2vHFW8zTuxn2vuZGN0HGrQ5No6LkHwlEA9trVgNdPL3TF1dSqKA7Dny6BbBYKSW/rOBDXdC8KJAjUCg==}
'@modelcontextprotocol/sdk@1.25.3':
resolution: {integrity: sha512-vsAMBMERybvYgKbg/l4L1rhS7VXV1c0CtyJg72vwxONVX0l4ZfKVAnZEWTQixJGTzKnELjQ59e4NbdFDALRiAQ==}
engines: {node: '>=18'}
peerDependencies:
'@cfworker/json-schema': ^4.1.1
@@ -8926,15 +8922,17 @@ packages:
resolution: {integrity: sha512-Ott2IcIXHGupaC0nX9WNEiJAX4OdlGRu9upkkURaQHbaLdz9JuCcHxlwTERgtgjMpikbIWHfMM1M9QTQFYABiA==}
engines: {node: '>=20.0.0'}
'@supabase/mcp-server-supabase@0.6.1':
resolution: {integrity: sha512-NYxYg2t+CPoL4l/j+oGS0J9cu7ZWpWG+j3w4RHQht0jCSsRw2nD37UFPIRzG65eKYhuutK22uP12IDo/bpeohw==}
'@supabase/mcp-server-supabase@0.6.2':
resolution: {integrity: sha512-XcdWfXDckMZb4mexNBkGadTIU+7vnOdX+gffc/7wDdmkEb7TAndbSuoE5hHh/bj5wBlD2GXpFjieyWYF5Nz+3w==}
hasBin: true
peerDependencies:
'@modelcontextprotocol/sdk': ^1.25.2
zod: ^3.25.0 || ^4.0.0
'@supabase/mcp-utils@0.3.1':
resolution: {integrity: sha512-t9jVa9yvI+yGKLTsTgW1gQUX2tj77mcgy+OiRe/ysS+tvFckxZZTZUJrAMvVeIe6IMJ5FVXk5FWA4gIU9EyYyg==}
'@supabase/mcp-utils@0.3.2':
resolution: {integrity: sha512-hGenK6oEFHkWhAyKGD1gNeIsHRRCl/N/kHmwubZm+UWCj4O1iuS6XgX1Ub2+mH25qqpUHIMaVm9BEV2p1RbhNQ==}
peerDependencies:
'@modelcontextprotocol/sdk': ^1.25.2
zod: ^3.25.0 || ^4.0.0
'@supabase/postgres-meta@0.64.6':
@@ -13445,6 +13443,10 @@ packages:
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
engines: {node: '>=0.10.0'}
hono@4.11.4:
resolution: {integrity: sha512-U7tt8JsyrxSRKspfhtLET79pU8K+tInj5QZXs1jSugO1Vq5dFj3kmZsRldo29mTBfcjDRVRXrEZ6LS63Cog9ZA==}
engines: {node: '>=16.9.0'}
hookable@5.5.3:
resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
@@ -14259,6 +14261,9 @@ packages:
json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
json-schema-typed@8.0.2:
resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
json-schema@0.4.0:
resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
@@ -22555,6 +22560,10 @@ snapshots:
dependencies:
react: 18.3.1
'@hono/node-server@1.19.9(hono@4.11.4)':
dependencies:
hono: 4.11.4
'@hookform/resolvers@3.3.1(react-hook-form@7.47.0(react@18.3.1))':
dependencies:
react-hook-form: 7.47.0(react@18.3.1)
@@ -23330,26 +23339,9 @@ snapshots:
'@mjackson/node-fetch-server@0.2.0': {}
'@modelcontextprotocol/sdk@1.23.1(supports-color@8.1.1)(zod@3.25.76)':
dependencies:
ajv: 8.17.1
ajv-formats: 3.0.1(ajv@8.17.1)
content-type: 1.0.5
cors: 2.8.5
cross-spawn: 7.0.6
eventsource: 3.0.7
eventsource-parser: 3.0.6
express: 5.1.0(supports-color@8.1.1)
express-rate-limit: 7.5.0(express@5.1.0(supports-color@8.1.1))
pkce-challenge: 5.0.0
raw-body: 3.0.2
zod: 3.25.76
zod-to-json-schema: 3.25.0(zod@3.25.76)
transitivePeerDependencies:
- supports-color
'@modelcontextprotocol/sdk@1.24.0(supports-color@8.1.1)(zod@3.25.76)':
'@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76)':
dependencies:
'@hono/node-server': 1.19.9(hono@4.11.4)
ajv: 8.17.1
ajv-formats: 3.0.1(ajv@8.17.1)
content-type: 1.0.5
@@ -23360,11 +23352,13 @@ snapshots:
express: 5.1.0(supports-color@8.1.1)
express-rate-limit: 7.5.0(express@5.1.0(supports-color@8.1.1))
jose: 6.1.3
json-schema-typed: 8.0.2
pkce-challenge: 5.0.0
raw-body: 3.0.2
zod: 3.25.76
zod-to-json-schema: 3.25.0(zod@3.25.76)
transitivePeerDependencies:
- hono
- supports-color
'@monaco-editor/loader@1.4.0(monaco-editor@0.52.2)':
@@ -28006,27 +28000,21 @@ snapshots:
dependencies:
tslib: 2.8.1
'@supabase/mcp-server-supabase@0.6.1(supports-color@8.1.1)(zod@3.25.76)':
'@supabase/mcp-server-supabase@0.6.2(@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76))(zod@3.25.76)':
dependencies:
'@mjackson/multipart-parser': 0.10.1
'@modelcontextprotocol/sdk': 1.23.1(supports-color@8.1.1)(zod@3.25.76)
'@supabase/mcp-utils': 0.3.1(supports-color@8.1.1)(zod@3.25.76)
'@modelcontextprotocol/sdk': 1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76)
'@supabase/mcp-utils': 0.3.2(@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76))(zod@3.25.76)
common-tags: 1.8.2
gqlmin: 0.3.1
graphql: 16.11.0
openapi-fetch: 0.13.8
zod: 3.25.76
transitivePeerDependencies:
- '@cfworker/json-schema'
- supports-color
'@supabase/mcp-utils@0.3.1(supports-color@8.1.1)(zod@3.25.76)':
'@supabase/mcp-utils@0.3.2(@modelcontextprotocol/sdk@1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76))(zod@3.25.76)':
dependencies:
'@modelcontextprotocol/sdk': 1.23.1(supports-color@8.1.1)(zod@3.25.76)
'@modelcontextprotocol/sdk': 1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76)
zod: 3.25.76
transitivePeerDependencies:
- '@cfworker/json-schema'
- supports-color
'@supabase/postgres-meta@0.64.6(encoding@0.1.13)(supports-color@8.1.1)':
dependencies:
@@ -33745,6 +33733,8 @@ snapshots:
dependencies:
parse-passwd: 1.0.0
hono@4.11.4: {}
hookable@5.5.3: {}
hosted-git-info@2.8.9: {}
@@ -34535,6 +34525,8 @@ snapshots:
json-schema-traverse@1.0.0: {}
json-schema-typed@8.0.2: {}
json-schema@0.4.0: {}
json-stable-stringify-without-jsonify@1.0.1: {}
@@ -36774,7 +36766,7 @@ snapshots:
number-flow@0.3.7: {}
nuqs@1.19.1(next@15.5.10(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)):
nuqs@1.19.1(next@15.5.10(@babel/core@7.28.4(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)):
dependencies:
mitt: 3.0.1
next: 15.5.10(@babel/core@7.28.4(supports-color@8.1.1))(@opentelemetry/api@1.9.0)(@playwright/test@1.56.1)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.77.4)
@@ -39414,7 +39406,7 @@ snapshots:
'@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/preset-typescript': 7.27.1(@babel/core@7.28.4(supports-color@8.1.1))(supports-color@8.1.1)
'@dotenvx/dotenvx': 1.51.0
'@modelcontextprotocol/sdk': 1.24.0(supports-color@8.1.1)(zod@3.25.76)
'@modelcontextprotocol/sdk': 1.25.3(hono@4.11.4)(supports-color@8.1.1)(zod@3.25.76)
browserslist: 4.26.2
commander: 14.0.1
cosmiconfig: 9.0.0(typescript@5.9.2)
@@ -39442,6 +39434,7 @@ snapshots:
- '@cfworker/json-schema'
- '@types/node'
- babel-plugin-macros
- hono
- supports-color
- typescript