Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,213
  • Linux
  • Apple
index.ts1.77 kB
import { Prisma, PrismaClient } from '@prisma/client' export const extension = Prisma.defineExtension((client) => { return client.$extends({ model: { $allModels: { someOperation<T, A>(this: T, _: Prisma.Exact<A, Prisma.Args<T, 'findMany'>>) { // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents return {} as Prisma.Result<T, A, 'findMany'> & { prop: string } }, }, }, }) }) export const xprismaViaDefinedExt = new PrismaClient().$extends(extension) export const xprismaViaInlineExt = new PrismaClient().$extends({ model: { $allModels: { someOperation<T, A>(this: T, _: Prisma.Exact<A, Prisma.Args<T, 'findMany'>>) { // eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents return {} as Prisma.Result<T, A, 'findMany'> & { prop: string } }, }, }, }) export class SomeClassWrapper { // eg. NestJS constructor(private readonly prismaService: PrismaClient) {} findMany<T extends Prisma.ModelAFindManyArgs>(findManyDto: Prisma.SelectSubset<T, Prisma.ModelAFindManyArgs>) { return this.prismaService.modelA.findMany(findManyDto) } findFirst(findFirstDto: Prisma.ModelAFindFirstArgs) { return this.prismaService.modelA.findFirst(findFirstDto) } create(createDto: Prisma.ModelACreateArgs) { this.prismaService.modelA.create(createDto) } update(updateDto: Prisma.ModelAUpdateArgs) { this.prismaService.modelA.update(updateDto) } delete(deleteDto: Prisma.ModelADeleteArgs) { this.prismaService.modelA.delete(deleteDto) } } export function someFunction(data: Prisma.Args<typeof xprismaViaInlineExt.modelA, 'create'>['data']) { return xprismaViaInlineExt.modelA.create({ data }) }

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