Skip to main content
Glama
prisma

Prisma MCP Server

Official
by prisma

Призма

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

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 .

Related MCP server: SaaS database MCP

Начиная

Быстрый старт (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 Сделано с помощью Prisma

Создали что-то потрясающее с помощью 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: Статус испытаний Prisma

  • Статус тестов экосистемы: Статус тестов экосистемы

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Appeared in Searches

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