Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,192
  • Linux
  • Apple
tests.ts2.44 kB
import { NewPrismaClient } from '../_utils/types' import testMatrix from './_matrix' // @ts-ignore import type { PrismaClient } from './generated/prisma/client' declare const newPrismaClient: NewPrismaClient<PrismaClient, typeof PrismaClient> testMatrix.setupTestSuite( (suiteConfig, suiteMeta, clientMeta) => { const OLD_ENV = { ...process.env } const restoreEnv = () => { for (const key of Object.keys(process.env)) { if (!(key in OLD_ENV)) { delete process.env[key] } } for (const [key, value] of Object.entries(OLD_ENV)) { if (value === undefined) { delete process.env[key] } else { process.env[key] = value } } } afterEach(() => { restoreEnv() }) testIf(clientMeta.dataProxy)('url starts with invalid://', async () => { process.env[`DATABASE_URI_${suiteConfig.provider}`] = 'invalid://invalid' const prisma = newPrismaClient() await expect(prisma.user.findMany()).rejects.toThrow( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument expect.objectContaining({ message: expect.stringContaining( 'Error validating datasource `db`: the URL must start with the protocol `prisma://`', ), }), ) }) testIf(clientMeta.dataProxy)('url starts with prisma:// but is invalid', async () => { process.env[`DATABASE_URI_${suiteConfig.provider}`] = 'prisma://invalid' const prisma = newPrismaClient() await expect(prisma.user.findMany()).rejects.toThrow( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument expect.objectContaining({ message: expect.stringContaining('Error validating datasource `db`: the URL must contain a valid API key'), }), ) }) testIf(clientMeta.dataProxy)('url starts with prisma:// with nothing else', async () => { process.env[`DATABASE_URI_${suiteConfig.provider}`] = 'prisma://' const prisma = newPrismaClient() await expect(prisma.user.findMany()).rejects.toThrow( // eslint-disable-next-line @typescript-eslint/no-unsafe-argument expect.objectContaining({ message: expect.stringContaining('Error validating datasource `db`: the URL must contain a valid API key'), }), ) }) }, { skipDb: true, skipDefaultClientInstance: true, }, )

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/prisma/prisma'

If you have feedback or need assistance with the MCP directory API, please join our Discord server