Prisma MCP Server

Official
by prisma
Apache 2.0
9
42,142
  • Linux
  • Apple

Was ist Prisma?

Prisma ORM ist ein ORM der nächsten Generation , das aus diesen Tools besteht:

  • Prisma Client : Automatisch generierter und typsicherer Abfrage-Generator für Node.js und TypeScript
  • Prisma Migrate : Deklaratives Datenmodellierungs- und Migrationssystem
  • Prisma Studio : GUI zum Anzeigen und Bearbeiten von Daten in Ihrer Datenbank

Prisma Client kann in jeder Node.js- oder TypeScript-Backend-Anwendung (einschließlich serverloser Anwendungen und Microservices) verwendet werden. Dies kann eine REST-API , eine GraphQL-API , eine gRPC-API oder alles andere sein, was eine Datenbank benötigt.

Wenn Sie eine Datenbank zur Verwendung mit Prisma ORM benötigen, sehen Sie sich Prisma Postgres an.

Erste Schritte

Schnellstart (5 Min.)

Der schnellste Weg, mit Prisma zu beginnen, ist, den Kurzanleitungen zu folgen. Sie können zwischen zwei Datenbanken wählen:

Bringen Sie Ihre eigene Datenbank mit

Wenn Sie bereits über eine eigene Datenbank verfügen, können Sie diesen Anleitungen folgen:

So funktioniert Prisma ORM

Dieser Abschnitt bietet einen allgemeinen Überblick über die Funktionsweise von Prisma ORM und seine wichtigsten technischen Komponenten. Eine ausführlichere Einführung finden Sie in der Prisma-Dokumentation .

Das Prisma-Schema

Jedes Projekt, das ein Werkzeug aus dem Prisma-Toolkit verwendet, beginnt mit einer Prisma-Schemadatei . Das Prisma-Schema ermöglicht es Entwicklern, ihre Anwendungsmodelle in einer intuitiven Datenmodellierungssprache zu definieren. Es enthält außerdem die Verbindung zu einer Datenbank und definiert einen Generator :

// 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[] }

In diesem Schema konfigurieren Sie drei Dinge:

  • Datenquelle : Gibt Ihre Datenbankverbindung an (über eine Umgebungsvariable)
  • Generator : Gibt an, dass Sie Prisma Client generieren möchten
  • Datenmodell : Definiert Ihre Anwendungsmodelle

Das Prisma-Datenmodell

Auf dieser Seite liegt der Fokus auf dem Datenmodell. Weitere Informationen zu Datenquellen und Generatoren finden Sie auf den jeweiligen Dokumentationsseiten.

Funktionen der Prisma-Modelle

Das Datenmodell ist eine Sammlung von Modellen . Ein Modell hat zwei Hauptfunktionen:

  • Stellt eine Tabelle in der zugrunde liegenden Datenbank dar
  • Stellen Sie die Grundlage für die Abfragen in der Prisma Client API bereit
Ein Datenmodell erhalten

Es gibt zwei Hauptarbeitsabläufe, um ein Datenmodell in Ihr Prisma-Schema zu „bekommen“:

Sobald das Datenmodell definiert ist, können Sie den Prisma-Client generieren , der CRUD- und weitere Abfragen für die definierten Modelle bereitstellt. Mit TypeScript erhalten Sie vollständige Typsicherheit für alle Abfragen (auch beim Abrufen von Teilmengen der Felder eines Modells).


Zugriff auf Ihre Datenbank mit Prisma Client

Prisma-Client generieren

Der erste Schritt bei der Verwendung von Prisma Client ist die Installation des npm-Pakets:

npm install @prisma/client

Beachten Sie, dass die Installation dieses Pakets den Befehl prisma generate aufruft, der Ihr Prisma-Schema liest und den Prisma-Client-Code generiert . Der Code befindet sich in node_modules/.prisma/client , das von node_modules/@prisma/client/index.d.ts exportiert wird.

Nachdem Sie Ihr Datenmodell geändert haben, müssen Sie Prisma Client manuell neu generieren, um sicherzustellen, dass der Code in node_modules/.prisma/client aktualisiert wird:

npx prisma generate

Weitere Informationen zum „Generieren des Prisma-Clients“ finden Sie in der Dokumentation.

Verwenden des Prisma-Clients zum Senden von Abfragen an Ihre Datenbank

Sobald der Prisma-Client generiert ist, können Sie ihn in Ihren Code importieren und Abfragen an Ihre Datenbank senden. So sieht der Setup-Code aus.

Prisma Client importieren und instanziieren

Sie können Prisma Client wie folgt importieren und instanziieren:

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

oder

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

Jetzt können Sie Abfragen über die generierte Prisma Client API senden. Hier sind einige Beispielabfragen. Beachten Sie, dass alle Prisma Client-Abfragen einfache alte JavaScript-Objekte zurückgeben.

Erfahren Sie mehr über die verfügbaren Vorgänge in den Prisma Client-Dokumenten oder sehen Sie sich dieses Demo-Video (2 Min.) an.

Alle User aus der Datenbank abrufen
const allUsers = await prisma.user.findMany()
Fügen Sie die posts -Relation in jedes zurückgegebene User ein
const allUsers = await prisma.user.findMany({ include: { posts: true }, })
Filtern Sie alle Post Datensätze, die "prisma" enthalten
const filteredPosts = await prisma.post.findMany({ where: { OR: [{ title: { contains: 'prisma' } }, { content: { contains: 'prisma' } }], }, })
Erstellen Sie einen neuen User und einen neuen Post Datensatz in derselben Abfrage
const user = await prisma.user.create({ data: { name: 'Alice', email: 'alice@prisma.io', posts: { create: { title: 'Join us for Prisma Day 2021' }, }, }, })
Aktualisieren eines vorhandenen Post -Datensatzes
const post = await prisma.post.update({ where: { id: 42 }, data: { published: true }, })
Verwendung mit TypeScript

Beachten Sie, dass bei Verwendung von TypeScript das Ergebnis dieser Abfrage statisch typisiert wird, sodass Sie nicht versehentlich auf eine nicht vorhandene Eigenschaft zugreifen können (und Tippfehler beim Kompilieren erkannt werden). Weitere Informationen zur Nutzung der generierten Typen von Prisma Client finden Sie auf der Seite „Erweiterte Verwendung generierter Typen“ in der Dokumentation.

Gemeinschaft

Prisma verfügt über eine große und unterstützende Community begeisterter Anwendungsentwickler. Sie können uns auf Discord und hier auf GitHub beitreten.

Abzeichen

Haben Sie mit Prisma etwas Tolles gebaut? 🌟 Zeigen Sie es mit diesen Abzeichen , perfekt für Ihre Readme-Datei oder Website.

[![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)

MCP-Server

Die Prisma-CLI enthält einen Prisma-MCP-Server . Dieser wird über diesen CLI-Befehl gestartet:

npx prisma mcp

Die meisten KI-Tools unterstützen eine JSON-basierte Konfiguration für MCP-Server, die wie folgt aussieht:

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

Der MCP-Server von Prisma ermöglicht KI-Agenten die Verwaltung von Prisma-Postgres- Datenbanken (z. B. das Hochfahren neuer Datenbankinstanzen oder das Ausführen von Schemamigrationen).

Sicherheit

Wenn Sie ein Sicherheitsproblem melden möchten, kontaktieren Sie uns bitte unter security@prisma.io .

Unterstützung

Stellen Sie eine Frage zu Prisma

Sie können im prisma Repository auf GitHub Fragen stellen und Diskussionen zu Prisma-bezogenen Themen anstoßen.

👉 Stellen Sie eine Frage

Erstellen Sie einen Fehlerbericht für Prisma

Wenn Sie eine Fehlermeldung sehen oder auf ein Problem stoßen, erstellen Sie bitte unbedingt einen Fehlerbericht! Best Practices zum Erstellen von Fehlerberichten (z. B. zum Hinzufügen zusätzlicher Debug-Ausgaben) finden Sie in der Dokumentation.

👉 Fehlerbericht erstellen

Senden Sie eine Funktionsanfrage

Sollte Prisma aktuell über eine bestimmte Funktion nicht verfügen, schauen Sie unbedingt in der Roadmap nach, ob diese für die Zukunft bereits geplant ist.

Wenn die Funktion in der Roadmap mit einem GitHub-Problem verknüpft ist, hinterlassen Sie bitte unbedingt eine 👍 Reaktion auf das Problem und idealerweise einen Kommentar mit Ihren Gedanken zu der Funktion!

👉 Funktionsanfrage senden

Beitragen

Beachten Sie unsere Beitragsrichtlinien und den Verhaltenskodex für Mitwirkende .

Teststatus

  • Status der Prisma-Tests:
  • Status der Ökosystemtests:
-
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.

Verwalten Sie Prisma Postgres-Datenbanken mit Leichtigkeit

  1. Erste Schritte
    1. Schnellstart (5 Min.)
    2. Bringen Sie Ihre eigene Datenbank mit
  2. So funktioniert Prisma ORM
    1. Das Prisma-Schema
    2. Das Prisma-Datenmodell
    3. Zugriff auf Ihre Datenbank mit Prisma Client
  3. Gemeinschaft
    1. Abzeichen
      1. MCP-Server
        1. Sicherheit
          1. Unterstützung
            1. Stellen Sie eine Frage zu Prisma
            2. Erstellen Sie einen Fehlerbericht für Prisma
            3. Senden Sie eine Funktionsanfrage
          2. Beitragen
            1. Teststatus

              Related MCP Servers

              • A
                security
                A
                license
                A
                quality
                Facilitates management and optimization of PostgreSQL databases, offering analysis, setup guidance, and debugging, while ensuring secure and efficient database operations.
                Last updated -
                3
                6
                12
                TypeScript
                AGPL 3.0
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                Provides read-only access to PostgreSQL databases, enabling users to inspect database schemas and execute read-only queries through a Model Context Protocol server.
                Last updated -
                3
                JavaScript
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables powerful PostgreSQL database management capabilities including analysis, schema management, data migration, and monitoring through natural language interactions.
                Last updated -
                6
                19
                TypeScript
                AGPL 3.0
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A powerful server that provides administrative control over Supabase PostgreSQL databases through Cursor's Composer and Codeium's Cascade, enabling database management with features for tables, records, schema modifications, and more.
                Last updated -
                9
                10
                TypeScript
                • Apple
                • Linux

              View all related MCP servers

              ID: 5atsjpttzp