メインコンテンツへスキップ

MCPサーバー

概要

Model-Context-Protocol (MCP) は、LLMがAPIを呼び出し、外部システムに明確に定義された方法でアクセスできるようにします。

Prisma は2つのMCPサーバーを提供します: ローカルサーバーとリモートサーバーです。それぞれに関する具体的な情報は以下を参照してください。

ローカルマシンで作業している開発者で、AIエージェントにデータベースワークフローを支援させたい場合は、ローカルMCPサーバーを使用してください。

「AIプラットフォーム」を構築していて、ユーザーにデータベースを管理する機能を提供したい場合は、リモートMCPサーバーを使用してください。

リモートMCPサーバー

リモートMCPサーバーは次のように起動できます

npx -y mcp-remote https://mcp.prisma.io/mcp

ツール

ツールは、MCPサーバーの機能を表します。以下は、リモートMCPサーバーによって公開されるツールのリストです

  • CreateBackupTool: 新しいマネージドPrisma Postgresバックアップを作成します。
  • CreateConnectionStringTool: 指定されたIDを持つPrisma Postgresデータベース用の新しい接続文字列を作成します。
  • CreateRecoveryTool: 指定されたバックアップIDを使用して、Prisma Postgresデータベースを新しいデータベースに復元します。
  • DeleteConnectionStringTool: 指定された接続文字列IDを持つ接続文字列を削除します。
  • DeleteDatabaseTool: 指定されたIDを持つPrisma Postgresデータベースを削除します。
  • ListBackupsTool: 指定されたデータベースIDと環境IDに対して、利用可能なPrisma Postgresバックアップのリストを取得します。
  • ListConnectionStringsTool: 指定されたデータベースIDと環境IDに対して、利用可能なPrisma Postgresデータベース接続文字列のリストを取得します。
  • ListDatabasesTool: ユーザーのワークスペースで利用可能なPrisma Postgresデータベースのリストを取得します。
  • ExecuteSqlQueryTool: 指定されたIDを持つPrisma Postgresデータベース上でSQLクエリを実行します。
  • IntrospectSchemaTool: 指定されたIDを持つPrisma Postgresデータベースのスキーマをイントロスペクトします。

リモートMCPサーバーに接続すると、AIエージェントに「Prismaツールをリストする」と指示することで、サポートされている最新のツールの完全な概要をいつでも取得できます。

使用法

リモートPrisma MCPサーバーは、MCPサーバーの標準的なJSONベースの構成に従っています。以下はその例です

{
"mcpServers": {
"Prisma-Remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
}
}
}
ヒント

リモートMCPサーバーを試してその機能を探索したい場合は、CloudflareのAI Playgroundをお勧めします。MCPサーバーURLを入力プレースホルダーのあるテキストフィールドにhttps://mcp.prisma.io/mcpのURLを追加し、接続をクリックして、以下の方法で認証してください。ポップアップウィンドウで。接続後、Playgroundにプロンプトを送信し、LLMがあなたのプロンプトに基づいてどのMCPツールを選択するかを確認できます。

プロンプト例

  • 「アカウント内のすべてのデータベースのリストを表示してください。」
  • 「米国リージョンに新しいデータベースを作成してください。」
  • 「私のデータベースを実際のデータのようにシードしますが、事前にバックアップを作成してください。」
  • 「私のデータベースの利用可能なすべてのバックアップを表示してください。」
  • 「すべての顧客を表示し、彼らの注文について分析を実行してください。」

ローカルMCPサーバー

ローカルMCPサーバーは次のように起動できます

npx -y prisma mcp
ヒント

VS Codeを使用している場合、VS Codeエージェントモードを使用して、「Postgresデータベースを作成」や「スキーマ移行を適用」といったプロンプトをチャットに直接入力できます。VS Codeエージェントは、すべての基礎となるPrisma CLI呼び出しとAPIコールを自動的に処理します。詳細については、VS Codeエージェントのドキュメントを参照してください。

ツール

ツールは、MCPサーバーの機能を表します。以下は、ローカルMCPサーバーによって公開されるツールのリストです

  • migrate-status: prisma migrate statusコマンドを使用してマイグレーションステータスを確認します。
  • migrate-dev: prisma migrate dev --name <name>コマンドを使用してマイグレーションを作成および実行します。LLMが<name>オプションを提供します。
  • migrate-reset: prisma migrate reset --forceコマンドを使用してデータベースをリセットします。
  • Prisma-Postgres-account-status: platform auth show --early-accessコマンドを使用して認証ステータスを確認します。via the platform auth show --early-access command.
  • Create-Prisma-Postgres-Database: 'init --db --name' <name> '--region' <region> '--non-interactive'コマンドを使用して新しいPrisma Postgresデータベースを作成します。LLMが<name><region>オプションを提供します。
  • Prisma-Login: platform auth login --early-accessコマンドを使用して認証します。via the platform auth login --early-access command.
  • Prisma-Studio: prisma studioコマンドを使用してPrisma Studioを開きます。

使用法

ローカルPrisma MCPサーバーは、MCPサーバーの標準的なJSONベースの構成に従っています。以下はその例です

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

プロンプト例

MCPサーバーが実行中に使用できるプロンプト例をいくつか示します

  • 「Prismaコンソールにログインしてください。」
  • 「米国リージョンにデータベースを作成してください。」
  • 「私のデータベースに新しいProductテーブルを作成してください。」

AIツールへの統合

AIツールはMCPサーバーを統合するためのさまざまな方法を持っています。ほとんどの場合、上記で追加したJSON構成を追加する専用の構成ファイルがあります。この構成には、サーバーを起動するためのコマンドが含まれており、そのコマンドはそれぞれのツールによって実行され、サーバーがLLMに利用可能になります。

このセクションでは、最も人気のあるAIツールの設定形式について説明します。

Cursor

CursorのMCP統合の詳細については、Cursor MCPドキュメントを参照してください。

ワンクリックインストールで追加

以下のリンクをクリックすることで、ワンクリックインストールを使用してPrisma MCPサーバーをCursorに追加できます

Install MCP Server

これにより、ブラウザでCursorアプリを開くよう促されます。開くと、Prisma MCPサーバーをCursorの設定に直接インストールするよう案内されます。

Cursor設定UIで追加

Cursor設定を開くと、次のようにPrisma MCPサーバーを追加できます

  1. 設定サイドナビでMCPを選択
  2. + 新しいグローバルMCPサーバーを追加をクリック
  3. PrismaスニペットをmcpServers JSONオブジェクトに追加
    {
    "mcpServers": {
    "Prisma-Local": {
    "command": "npx",
    "args": ["-y", "prisma", "mcp"]
    },
    "Prisma-Remote": {
    "command": "npx",
    "args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
    }
    }
    }

グローバル設定

Cursor設定経由で追加すると、グローバルの~/.cursor/mcp.json設定ファイルが変更されます。この場合、Prisma MCPサーバーはすべてのCursorプロジェクトで利用可能になります

~/.cursor/mcp.json
{
"mcpServers": {
"Prisma-Local": {
"command": "npx",
"args": ["-y", "prisma", "mcp"]
},
"Prisma-Remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
},
// other MCP servers
}
}

プロジェクト設定

Prisma MCPサーバーを特定のCursorプロジェクトでのみ利用可能にしたい場合は、プロジェクトのルートにある.cursorディレクトリ内の該当プロジェクトのCursor設定に追加してください

.cursor/mcp.json
{
"mcpServers": {
"Prisma-Local": {
"command": "npx",
"args": ["-y", "prisma", "mcp"]
},
"Prisma-Remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
}
// other MCP servers
}
}

Windsurf

WindsurfのMCP統合の詳細については、Windsurf MCPドキュメントを参照してください。

Windsurf MCPプラグインストアからPrisma MCPプラグインを使用してください。こちらの手順に従って、WindsurfにPrisma MCPプラグインを追加します。これは、WindsurfにPrisma MCPサーバーを追加する最も簡単で推奨される方法です。

Windsurf設定UIで追加

Windsurf設定を開く際(Windsurf - 設定 > 詳細設定またはコマンドパレット > Windsurf設定ページを開く経由)、Prisma MCPサーバーを次のように追加できます

  1. 設定サイドナビでCascadeを選択
  2. サーバーを追加をクリック
  3. Prisma-Localおよび/またはPrisma-RemoteスニペットをmcpServers JSONオブジェクトに追加
    {
    "mcpServers": {
    "Prisma-Local": {
    "command": "npx",
    "args": ["-y", "prisma", "mcp"]
    },
    "Prisma-Remote": {
    "command": "npx",
    "args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
    }
    }
    }

グローバル設定

Windsurf設定経由で追加すると、グローバルの~/.codeium/windsurf/mcp_config.json設定ファイルが変更されます。あるいは、手動でそのファイルに追加することもできます

~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"Prisma-Local": {
"command": "npx",
"args": ["-y", "prisma", "mcp"]
},
"Prisma-Remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
},
// other MCP servers
}
}

Warp

Prisma MCPをWarpにグローバルに利用可能なツールとして追加できます。まず、MCP設定にアクセスし+ 追加をクリックします。ここから、Prisma MCPサーバーをJSONとして構成できます。commandargsプロパティを使用して、Prisma MCPサーバーをセットアップコマンドとして起動します。オプションで、start_on_launchフラグを使用して、起動時にPrismaをアクティブ化するように設定できます

{
"Prisma": {
"command": "npx",
"args": [
"-y",
"prisma",
"mcp"
],
"env": {},
"working_directory": null,
"start_on_launch": true
}
}

保存をクリックし、MCP設定パネルからMCPサーバーが実行されていることを確認します。その後、新しいターミナルウィンドウを開き、WarpにPrismaデータベースの管理を依頼します。Warpは自動的にPrisma MCPサーバーに接続するはずです。

WarpのMCP統合の詳細については、Warp MCPドキュメントを参照してください。

Claude Code

Claude CodeはターミナルベースのAIツールで、ローカルMCPサーバー用にclaud mcp addコマンドを使用してMCPサーバーを追加できます

claude mcp add prisma-local npx prisma mcp

またはリモートMCPサーバー用に

claude mcp add prisma-remote npx mcp-remote https://mcp.prisma.io/mcp

Claude Code MCPドキュメントで詳細を確認してください。

Claude Desktop

必要な設定ファイルを作成するには、Claude Desktop MCPドキュメントの指示に従ってください

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

その後、その設定ファイルにJSONスニペットを追加します

{
"mcpServers": {
"Prisma-Local": {
"command": "npx",
"args": ["-y", "prisma", "mcp"]
},
"Prisma-Remote": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
},
// other MCP servers
}
}

OpenAI Agents SDK

OpenAI Agents SDKを介してPythonスクリプトでPrisma MCPサーバーを使用する例を次に示します

from openai import AsyncOpenAI
from openai.types.beta import Assistant
from openai.beta import AsyncAssistantExecutor
from openai.experimental.mcp import MCPServerStdio
from openai.types.beta.threads import Message, Thread
from openai.types.beta.tools import ToolCall

import asyncio

async def main():
# Launch both MCP servers concurrently
async with MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "prisma", "mcp"]
}
) as local_server, MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.prisma.io/mcp"]
}
) as remote_server:

# Optional: list tools from both servers
local_tools = await local_server.list_tools()
remote_tools = await remote_server.list_tools()
print("Local server tools:", [tool.name for tool in local_tools])
print("Remote server tools:", [tool.name for tool in remote_tools])

# Set up the assistant with both MCP servers
agent = Assistant(
name="Prisma Assistant",
instructions="Use the Prisma tools to help the user with database tasks.",
mcp_servers=[local_server, remote_server],
)

executor = AsyncAssistantExecutor(agent=agent)

# Create a thread and send a message
thread = Thread(messages=[Message(role="user", content="Create a new user in the database")])
response = await executor.run(thread=thread)

print("Agent response:")
for message in response.thread.messages:
print(f"{message.role}: {message.content}")

# Run the async main function
asyncio.run(main())
© . All rights reserved.