Skip to main content
Glama
prisma

Prisma MCP Server

Official
by prisma
format.ts1.55 kB
import type { SqlCommenterQueryInfo } from '@prisma/sqlcommenter' import { parameterizeQuery } from '../parameterize/parameterize' import { shapeQuery } from '../shape/shape' /** * Encodes data to base64url (URL-safe base64 without padding) */ export function toBase64Url(data: string): string { return Buffer.from(data, 'utf-8').toString('base64url') } /** * Formats query info into the compact prismaQuery format. * * Format: [modelName].action[:base64urlEncodedPayload] * * - Raw queries: just the action (e.g., "queryRaw", "executeRaw") * - Single queries: Model.action:base64url(query) * - Compacted batches: Model.action:base64url(queries) */ export function formatQueryInsight(queryInfo: SqlCommenterQueryInfo): string { switch (queryInfo.type) { case 'single': { const { modelName, action, query } = queryInfo if (!modelName) { return action } const parameterizedQuery = parameterizeQuery(query) const shapedQuery = shapeQuery(parameterizedQuery) const encoded = toBase64Url(JSON.stringify(shapedQuery)) return `${modelName}.${action}:${encoded}` } case 'compacted': { const { modelName, action, queries } = queryInfo const shapedQueries = queries.map((q) => shapeQuery(parameterizeQuery(q))) const encoded = toBase64Url(JSON.stringify(shapedQueries)) return `${modelName}.${action}:${encoded}` } default: throw new Error(`invalid queryInfo.type=${(queryInfo satisfies never as SqlCommenterQueryInfo).type}`) } }

Latest Blog Posts

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