Prisma MCP Server

Official
by prisma
Apache 2.0
8
42,003
  • Linux
  • Apple

¿Qué es Prisma?

Prisma ORM es un ORM de próxima generación que consta de estas herramientas:

  • Cliente Prisma : generador de consultas generado automáticamente y con seguridad de tipos para Node.js y TypeScript
  • Prisma Migrate : Sistema de migración y modelado de datos declarativos
  • Prisma Studio : GUI para ver y editar datos en su base de datos

El Cliente Prisma se puede usar en cualquier aplicación backend de Node.js o TypeScript (incluidas las aplicaciones sin servidor y los microservicios). Puede ser una API REST , una API GraphQL , una API gRPC o cualquier otra que requiera una base de datos.

Si necesita una base de datos para usar con Prisma ORM, consulte Prisma Postgres .

Empezando

Inicio rápido (5 minutos)

La forma más rápida de empezar a usar Prisma es seguir las guías de inicio rápido. Puede elegir entre dos bases de datos:

Traiga su propia base de datos

Si ya tienes tu propia base de datos, puedes seguir estas guías:

Cómo funciona Prisma ORM

Esta sección ofrece una descripción general del funcionamiento de Prisma ORM y sus componentes técnicos más importantes. Para una introducción más detallada, consulte la documentación de Prisma .

El esquema Prisma

Todo proyecto que utiliza una herramienta del kit de herramientas Prisma comienza con un archivo de esquema Prisma . Este esquema permite a los desarrolladores definir sus modelos de aplicación en un lenguaje de modelado de datos intuitivo. También incluye la conexión a una base de datos y define un generador .

// Data source datasource db { provider = "postgresql" url = env("DATABASE_URL") } // Generator generator client { provider = "prisma-client-js" } // Data model model Post { id Int @id @default(autoincrement()) title String content String? published Boolean @default(false) author User? @relation(fields: [authorId], references: [id]) authorId Int? } model User { id Int @id @default(autoincrement()) email String @unique name String? posts Post[] }

En este esquema se configuran tres cosas:

  • Fuente de datos : especifica su conexión a la base de datos (a través de una variable de entorno)
  • Generador : Indica que desea generar Prisma Client
  • Modelo de datos : define sus modelos de aplicación

El modelo de datos Prisma

En esta página, nos centramos en el modelo de datos. Puede obtener más información sobre las fuentes de datos y los generadores en las respectivas páginas de documentación.

Funciones de los modelos Prisma

El modelo de datos es una colección de modelos . Un modelo tiene dos funciones principales:

  • Representar una tabla en la base de datos subyacente
  • Proporcionar la base para las consultas en la API del cliente Prisma

Obtener un modelo de datos

Hay dos flujos de trabajo principales para "incorporar" un modelo de datos en su esquema Prisma:

Una vez definido el modelo de datos, puede generar Prisma Client , que expondrá CRUD y más consultas para los modelos definidos. Si usa TypeScript, obtendrá seguridad de tipos completa para todas las consultas (incluso al recuperar solo los subconjuntos de los campos de un modelo).


Acceder a su base de datos con Prisma Client

Generando cliente Prisma

El primer paso al utilizar Prisma Client es instalar su paquete npm:

npm install @prisma/client

Tenga en cuenta que la instalación de este paquete invoca el comando prisma generate , que lee el esquema de Prisma y genera el código del cliente de Prisma. El código se encuentra en node_modules/.prisma/client , que se exporta mediante node_modules/@prisma/client/index.d.ts .

Después de cambiar su modelo de datos, deberá volver a generar manualmente Prisma Client para garantizar que el código dentro de node_modules/.prisma/client se actualice:

npx prisma generate

Consulte la documentación para obtener más información sobre cómo "generar el cliente Prisma" .

Usar Prisma Client para enviar consultas a su base de datos

Una vez generado el Cliente Prisma, puede importarlo en su código y enviar consultas a su base de datos. Así es como se ve el código de configuración.

Importar e instanciar Prisma Client

Puede importar e instanciar Prisma Client de la siguiente manera:

import { PrismaClient } from '@prisma/client' const prisma = new PrismaClient()

o

const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient()

Ahora puede empezar a enviar consultas mediante la API de Prisma Client generada. A continuación, se muestran algunos ejemplos. Tenga en cuenta que todas las consultas de Prisma Client devuelven objetos JavaScript estándar .

Obtenga más información sobre las operaciones disponibles en la documentación del cliente Prisma o mire este video de demostración (2 minutos).

Recuperar todos los registros User de la base de datos
const allUsers = await prisma.user.findMany()
Incluya la relación posts en cada objeto User devuelto
const allUsers = await prisma.user.findMany({ include: { posts: true }, })
Filtrar todos los registros Post que contienen "prisma"
const filteredPosts = await prisma.post.findMany({ where: { OR: [{ title: { contains: 'prisma' } }, { content: { contains: 'prisma' } }], }, })
Crear un nuevo User y un nuevo registro de Post en la misma consulta
const user = await prisma.user.create({ data: { name: 'Alice', email: 'alice@prisma.io', posts: { create: { title: 'Join us for Prisma Day 2021' }, }, }, })
Actualizar un registro Post existente
const post = await prisma.post.update({ where: { id: 42 }, data: { published: true }, })

Uso con TypeScript

Tenga en cuenta que al usar TypeScript, el resultado de esta consulta se tipificará estáticamente para evitar el acceso accidental a una propiedad inexistente (y cualquier error tipográfico se detecta en tiempo de compilación). Obtenga más información sobre cómo aprovechar los tipos generados de Prisma Client en la página " Uso avanzado de tipos generados" de la documentación.

Comunidad

Prisma cuenta con una amplia y solidaria comunidad de desarrolladores de aplicaciones entusiastas. Puedes unirte a nosotros en Discord y aquí en GitHub .

Insignias

¿Creaste algo increíble con Prisma? 🌟 Presúmelo con estas insignias , perfectas para tu archivo Léame o sitio web.

[![Made with Prisma](http://made-with.prisma.io/dark.svg)](https://prisma.io)
[![Made with Prisma](http://made-with.prisma.io/indigo.svg)](https://prisma.io)

Servidor MCP

La CLI de Prisma incluye un servidor Prisma MCP . Se inicia mediante este comando CLI:

npx prisma mcp

La mayoría de las herramientas de IA admiten una configuración basada en JSON para servidores MCP como la siguiente:

{ "mcpServers": { "Prisma": { "command": "npx", "args": ["-y", "prisma", "mcp"] } } }

El servidor MCP de Prisma brinda a los agentes de IA la capacidad de administrar las bases de datos Prisma Postgres (por ejemplo, crear nuevas instancias de bases de datos o ejecutar migraciones de esquemas).

Seguridad

Si tiene un problema de seguridad que desea informar, contáctenos en security@prisma.io .

Apoyo

Haz una pregunta sobre Prisma

Puede hacer preguntas e iniciar debates sobre temas relacionados con Prisma en el repositorio de prisma en GitHub.

👉 Haz una pregunta

Crear un informe de errores para Prisma

Si ves un mensaje de error o tienes algún problema, ¡crea un informe de errores! Puedes encontrar las mejores prácticas para crear informes de errores (como incluir información de depuración adicional) en la documentación.

👉 Crear informe de errores

Enviar una solicitud de función

Si Prisma actualmente no tiene una característica determinada, asegúrese de consultar la hoja de ruta para ver si ya está planificada para el futuro.

Si la función en la hoja de ruta está vinculada a un problema de GitHub, asegúrate de dejar una reacción 👍 en el problema e idealmente un comentario con tus pensamientos sobre la función.

👉 Enviar solicitud de función

Contribuyendo

Consulte nuestras pautas de contribución y el Código de conducta para contribuyentes .

Estado de las pruebas

  • Estado de las pruebas de Prisma:
  • Estado de las pruebas del ecosistema:
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Administre bases de datos Prisma Postgres con facilidad

  1. Getting started
    1. Quickstart (5min)
    2. Bring your own database
  2. How Prisma ORM works
    1. The Prisma schema
    2. The Prisma data model
    3. Accessing your database with Prisma Client
  3. Community
    1. Badges
      1. MCP server
        1. Security
          1. Support
            1. Ask a question about Prisma
            2. Create a bug report for Prisma
            3. Submit a feature request
          2. Contributing
            1. Tests Status
              ID: 5atsjpttzp