Skip to main content
Glama

Prisma MCP Server

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

プリズマ

Prismaとは何ですか?

Prisma ORM は、次のツールで構成される次世代 ORMです。

  • Prisma Client : Node.js と TypeScript 用の自動生成型セーフクエリビルダー
  • Prisma Migrate : 宣言型データモデリングと移行システム
  • Prisma Studio : データベース内のデータを表示および編集するためのGUI

Prisma Clientは、Node.jsまたはTypeScriptで構築されたあらゆるバックエンドアプリケーション(サーバーレスアプリケーションやマイクロサービスを含む)で使用できます。REST APIGraphQL API 、gRPC APIなど、データベースを必要とするあらゆるアプリケーションで使用できます。

Prisma ORM で使用するデータベースが必要な場合は、 Prisma Postgres を確認してください。

はじめる

クイックスタート(5分)

Prismaを使い始める最も早い方法は、クイックスタートガイドに従うことです。以下の2つのデータベースのいずれかを選択できます。

独自のデータベースを持ち込む

すでに独自のデータベースをお持ちの場合は、次のガイドに従ってください。

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

このスキーマでは、次の 3 つの項目を構成します。

  • データソース: データベース接続を指定します(環境変数経由)
  • ジェネレーター: Prismaクライアントを生成することを示します
  • データモデル: アプリケーションモデルを定義します

Prismaデータモデル

このページでは、データモデルに焦点を当てています。データソースジェネレーターの詳細については、それぞれのドキュメントページをご覧ください。

Prismaモデルの機能

データモデルは モデルの集合です。モデルには2つの主要な機能があります。

  • 基礎となるデータベース内のテーブルを表す
  • Prisma クライアント API のクエリの基盤を提供する
データモデルの取得

データ モデルを Prisma スキーマに「取り込む」ための主なワークフローは 2 つあります。

データモデルを定義したら、定義されたモデルに対してCRUDやその他のクエリを公開するPrismaクライアントを生成できます。TypeScriptを使用している場合は、すべてのクエリで完全な型安全性が確保されます(モデルのフィールドのサブセットのみを取得する場合でも)。


Prisma Client でデータベースにアクセスする

Prismaクライアントの生成

Prisma Client を使用する際の最初のステップは、npm パッケージをインストールすることです。

npm install @prisma/client

このパッケージをインストールすると、 prisma generateコマンドが呼び出され、Prismaスキーマが読み込まれてPrismaクライアントコードが生成されます。生成されたコードは、node_modules/@prisma/client/index.d.ts によってエクスポートされるnode_modules/@prisma/client/index.d.ts node_modules/.prisma/clientに配置されます。

データ モデルを変更した後、 node_modules/.prisma/client内のコードが更新されるように、Prisma Client を手動で再生成する必要があります。

npx prisma generate

「Prisma クライアントの生成」の詳細については、ドキュメントを参照してください。

Prisma Clientを使用してデータベースにクエリを送信する

Prismaクライアントが生成されたら、コードにインポートしてデータベースにクエリを送信できます。セットアップコードは以下のようになります。

Prisma Client をインポートしてインスタンス化する

Prisma Client を次のようにインポートしてインスタンス化できます。

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

または

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

生成されたPrismaクライアントAPI経由でクエリを送信できるようになりました。以下にサンプルクエリをいくつか示します。すべてのPrismaクライアントクエリは*、プレーンなJavaScriptオブジェクト*を返すことに注意してください。

利用可能な操作の詳細については、 Prisma クライアントのドキュメントを参照するか、このデモ ビデオ(2 分) をご覧ください。

データベースからすべてのUserレコードを取得する
const allUsers = await prisma.user.findMany()
返される各Userオブジェクトにpostsリレーションを含める
const allUsers = await prisma.user.findMany({ include: { posts: true }, })
"prisma"を含むすべてのPostレコードをフィルタリングします
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 や 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)

MCPサーバー

Prisma CLIにはPrisma MCPサーバーが含まれています。これは以下のCLIコマンドで起動できます。

npx prisma mcp

ほとんどの AI ツールは、次のような MCP サーバーの JSON ベースの構成をサポートしています。

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

Prisma の MCP サーバーは、AI エージェントにPrisma Postgresデータベースを管理する機能 (新しいデータベース インスタンスの起動やスキーマ移行の実行など) を提供します。

安全

セキュリティ上の問題を報告する場合は、 security@prisma.ioまでご連絡ください。

サポート

Prismaについて質問する

GitHub のprismaリポジトリで、Prisma 関連のトピックについて質問したり、ディスカッションを開始したりできます。

👉質問する

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 -
    355
    46
    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

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