Prisma MCP Server

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

Что такое Призма?

Prisma ORM — это ORM нового поколения , которая состоит из следующих инструментов:

  • Prisma Client : автоматически генерируемый и типобезопасный конструктор запросов для Node.js и TypeScript
  • Prisma Migrate : декларативная система моделирования и миграции данных
  • Prisma Studio : графический интерфейс для просмотра и редактирования данных в вашей базе данных

Prisma Client можно использовать в любом бэкенд-приложении Node.js или TypeScript (включая бессерверные приложения и микросервисы). Это может быть REST API , GraphQL API , gRPC API или что-либо еще, требующее базы данных.

Если вам нужна база данных для использования с Prisma ORM, ознакомьтесь с Prisma Postgres .

Начиная

Быстрый старт (5 мин)

Самый быстрый способ начать работу с Prisma — следовать руководствам по быстрому старту. Вы можете выбрать одну из двух баз данных:

Принесите свою собственную базу данных

Если у вас уже есть собственная база данных, вы можете следовать этим инструкциям:

Как работает Prisma ORM

В этом разделе представлен общий обзор того, как работает Prisma ORM и его наиболее важные технические компоненты. Для более подробного ознакомления посетите документацию Prisma .

Схема Prisma

Каждый проект, использующий инструмент из набора инструментов Prisma, начинается с файла схемы Prisma . Схема Prisma позволяет разработчикам определять свои модели приложений на интуитивно понятном языке моделирования данных. Она также содержит подключение к базе данных и определяет генератор :

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

В этой схеме вы настраиваете три вещи:

  • Источник данных : указывает подключение к базе данных (через переменную среды)
  • Генератор : указывает, что вы хотите сгенерировать Prisma Client
  • Модель данных : определяет модели вашего приложения.

Модель данных Prisma

На этой странице основное внимание уделяется модели данных. Вы можете узнать больше об источниках данных и генераторах на соответствующих страницах документации.

Функции моделей Prisma

Модель данных представляет собой набор моделей . Модель имеет две основные функции:

  • Представляет таблицу в базовой базе данных
  • Обеспечить основу для запросов в Prisma Client API
Получение модели данных

Существует два основных рабочих процесса для «включения» модели данных в схему Prisma:

  • Сгенерировать модель данных путем интроспекции базы данных
  • Написание модели данных вручную и ее сопоставление с базой данных с помощью Prisma Migrate

После определения модели данных вы можете сгенерировать Prisma Client , который выставит CRUD и другие запросы для определенных моделей. Если вы используете TypeScript, вы получите полную безопасность типов для всех запросов (даже при извлечении только подмножеств полей модели).


Доступ к вашей базе данных с помощью Prisma Client

Создание Prisma Client

Первым шагом при использовании Prisma Client является установка пакета npm:

npm install @prisma/client

Обратите внимание, что установка этого пакета вызывает команду prisma generate , которая считывает вашу схему Prisma и генерирует код Prisma Client. Код будет расположен в node_modules/.prisma/client , который экспортируется node_modules/@prisma/client/index.d.ts .

После изменения модели данных вам потребуется вручную повторно сгенерировать Prisma Client, чтобы гарантировать обновление кода внутри node_modules/.prisma/client :

npx prisma generate

Дополнительную информацию о «создании клиента Prisma» можно найти в документации.

Использование Prisma Client для отправки запросов в вашу базу данных

После того, как Prisma Client сгенерирован, вы можете импортировать его в свой код и отправлять запросы в свою базу данных. Вот как выглядит код настройки.

Импорт и создание экземпляра Prisma Client

Вы можете импортировать и создать экземпляр Prisma Client следующим образом:

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

или

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

Теперь вы можете начать отправлять запросы через сгенерированный Prisma Client API, вот несколько примеров запросов. Обратите внимание, что все запросы Prisma Client возвращают простые старые объекты JavaScript .

Узнайте больше о доступных операциях в документации Prisma Client или посмотрите это демонстрационное видео (2 мин).

Извлечь все записи User из базы данных
const allUsers = await prisma.user.findMany()
Включить отношение posts к каждому возвращаемому объекту User
const allUsers = await prisma.user.findMany({ include: { posts: true }, })
Фильтровать все записи Post , содержащие "prisma"
const filteredPosts = await prisma.post.findMany({ where: { OR: [{ title: { contains: 'prisma' } }, { content: { contains: 'prisma' } }], }, })
Создайте нового User и новую запись Post в одном запросе.
const user = await prisma.user.create({ data: { name: 'Alice', email: 'alice@prisma.io', posts: { create: { title: 'Join us for Prisma Day 2021' }, }, }, })
Обновить существующую запись Post
const post = await prisma.post.update({ where: { id: 42 }, data: { published: true }, })
Использование с TypeScript

Обратите внимание, что при использовании TypeScript результат этого запроса будет статически типизирован, так что вы не сможете случайно получить доступ к свойству, которого не существует (и любые опечатки будут обнаружены во время компиляции). Узнайте больше об использовании сгенерированных типов Prisma Client на странице Расширенное использование сгенерированных типов в документации.

Сообщество

Prisma имеет большое и поддерживающее сообщество энтузиастов-разработчиков приложений. Вы можете присоединиться к нам на Discord и здесь на GitHub .

Значки

Создали что-то потрясающее с помощью Prisma? 🌟 Покажите это с помощью этих значков , которые идеально подойдут для вашего файла readme или веб-сайта.

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

МСР-сервер

Prisma CLI включает в себя сервер Prisma MCP . Он запускается с помощью этой команды CLI:

npx prisma mcp

Большинство инструментов ИИ поддерживают конфигурацию на основе JSON для серверов MCP, которая выглядит следующим образом:

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

Сервер MCP Prisma предоставляет агентам ИИ возможность управлять базами данных Prisma Postgres (например, запускать новые экземпляры баз данных или выполнять миграцию схем).

Безопасность

Если у вас возникли проблемы с безопасностью, свяжитесь с нами по адресу security@prisma.io .

Поддерживать

Задайте вопрос о Prisma

Вы можете задавать вопросы и инициировать обсуждения по темам, связанным с Prisma, в репозитории prisma на GitHub.

👉 Задать вопрос

Создайте отчет об ошибке для Prisma

Если вы видите сообщение об ошибке или сталкиваетесь с проблемой, обязательно создайте отчет об ошибке! Вы можете найти лучшие практики создания отчетов об ошибках (например, включение дополнительных отладочных данных) в документации.

👉 Создать отчет об ошибке

Отправить запрос на функцию

Если в Prisma в настоящее время отсутствует определенная функция, обязательно ознакомьтесь с дорожной картой , чтобы узнать, запланирована ли она на будущее.

Если функция в дорожной карте связана с проблемой GitHub, обязательно оставьте 👍 реакцию на проблему и, в идеале, комментарий с вашими мыслями о функции!

👉 Отправить запрос на функцию

Внося вклад

Ознакомьтесь с нашими правилами внесения вклада и Кодексом поведения для вкладчиков .

Статус тестов

  • Статус испытаний Prisma:
  • Статус тестов экосистемы:

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