Skip to main content
Glama

Prisma MCP Server

Official
by prisma
Apache 2.0
4
44,192
  • Linux
  • Apple
helpers.ts1.68 kB
import { capitalize, uncapitalize } from '@prisma/client-common' import * as DMMF from '@prisma/dmmf' import pluralize from 'pluralize' import type { JSDocMethodBodyCtx } from './jsdoc' import { JSDocs } from './jsdoc' export function getMethodJSDocBody(action: DMMF.ModelAction, mapping: DMMF.ModelMapping, model: DMMF.Model): string { const ctx: JSDocMethodBodyCtx = { singular: capitalize(mapping.model), plural: capitalize(mapping.plural), firstScalar: model.fields.find((f) => f.kind === 'scalar'), method: `prisma.${uncapitalize(mapping.model)}.${action}`, action, mapping, model, } const jsdoc = JSDocs[action]?.body(ctx) return jsdoc ? jsdoc : '' } export function getMethodJSDoc(action: DMMF.ModelAction, mapping: DMMF.ModelMapping, model: DMMF.Model): string { return wrapComment(getMethodJSDocBody(action, mapping, model)) } export function wrapComment(str: string): string { return `/**\n${str .split('\n') .map((l) => ' * ' + l) .join('\n')}\n**/` } export function getArgFieldJSDoc( type?: DMMF.OutputType, action?: DMMF.ModelAction, field?: DMMF.SchemaArg | string, ): string | undefined { if (!field || !action || !type) return const fieldName = typeof field === 'string' ? field : field.name if (JSDocs[action] && JSDocs[action]?.fields[fieldName]) { const singular = type.name const plural = pluralize(type.name) const comment = JSDocs[action]?.fields[fieldName](singular, plural) return comment as string } return undefined } export function escapeJson(str: string): string { return str.replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t') }

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