mcp-server-neon

Official
MIT License
1,584
192
  • Linux
  • Apple

ネオンMCPサーバー

Neon MCP Server は、 自然言語で Neon Postgres データベースと対話できるオープンソース ツールです。

モデルコンテキストプロトコル(MCP)は、大規模言語モデル(LLM)と外部システム間のコンテキストを管理するために設計された新しい標準化プロトコルです。このリポジトリには、 Neon用のインストーラーとMCPサーバーが含まれています。

NeonのMCPサーバーは、自然言語リクエストとNeon API間の橋渡しとして機能します。MCP上に構築されたこのサーバーは、リクエストを必要なAPI呼び出しに変換し、プロジェクトやブランチの作成、クエリの実行、データベースの移行といったタスクをシームレスに管理できるようにします。

Neon MCP サーバーの主な機能は次のとおりです。

  • **自然言語によるインタラクション:**直感的な会話型コマンドを使用して Neon データベースを管理します。
  • 簡素化されたデータベース管理: SQL を記述したり、Neon API を直接使用したりすることなく、複雑なアクションを実行します。
  • **開発者以外のユーザーもアクセス可能:**さまざまな技術的背景を持つユーザーが Neon データベースを操作できるようにします。
  • **データベース移行のサポート:**自然言語で開始されたデータベース スキーマの変更に Neon の分岐機能を活用します。

たとえば、Claude Desktop または任意の MCP クライアントでは、自然言語を使用して、次のようなことを Neon で実行できます。

  • Let's create a new Postgres database, and call it "my-database". Let's then create a table called users with the following columns: id, name, email, and password.
  • I want to run a migration on my project called "my-project" that alters the users table to add a new column called "created_at".
  • Can you give me a summary of all of my Neon projects and what data is in each one?

[!注記]
Neon MCPサーバーは、自然言語リクエストを通じて強力なデータベース管理機能を提供します。LLMによって要求されたアクションは、実行前に必ず確認し、承認してください。承認されたユーザーとアプリケーションのみがNeon MCPサーバーとNeon APIキーにアクセスできるようにしてください。

Neon MCPサーバーの設定

MCP クライアントを Neon に接続するには、次の 2 つのオプションがあります。

  1. リモートMCPサーバー(プレビュー): OAuth認証を使用して、Neonが管理するMCPサーバーに接続します。この方法はAPIキーの管理が不要で、より便利です。さらに、最新の機能や改善がリリースされるとすぐに自動的に通知されます。
  2. ローカル MCP サーバー: Neon API キーで認証して、マシン上でローカルに Neon MCP サーバーを実行します。

前提条件

  • MCP クライアント アプリケーション。
  • Neonアカウント
  • Node.js (>= v18.0.0) および npm: nodejs.orgからダウンロードします。

ローカルMCPサーバーのセットアップには、Neon APIキーも必要です。生成手順については、 Neon APIキーのドキュメントをご覧ください。

オプション 1. リモート ホスト MCP サーバー (プレビュー)

OAuth認証を使用して、NeonのマネージドMCPサーバーに接続します。これは最も簡単な設定で、サーバーのローカルインストールは不要で、クライアントでNeon APIキーを設定する必要もありません。

  • クライアントの MCP サーバー構成ファイル (例: mcp.jsonmcp_config.json ) に次の「Neon」エントリを追加します。
    { "mcpServers": { "Neon": { "command": "npx", "args": ["-y", "mcp-remote", "https://mcp.neon.tech/sse"] } } }
  • 設定ファイルを保存します。
  • MCP クライアントを再起動または更新します。
  • ブラウザにOAuthウィンドウが開きます。指示に従って、MCPクライアントがNeonアカウントにアクセスできるように承認してください。

オプション2. ローカルMCPサーバー

ローカル マシンで Neon MCP サーバーを実行します。

Smithery 経由のセットアップ:

npx -y @smithery/cli@latest install neon --client <client_name>

Neon APIキーの入力を求められます。前提条件セクションで取得したAPIキーを入力してください。 <client_name> MCPクライアントアプリケーションの名前に置き換えてください。サポートされているクライアント名は次のとおりです。

インストール後に MCP クライアントを再起動します。

npm経由でセットアップ

MCP クライアントがここにリストされていない場合は、クライアントのmcp_configファイルに Neon MCP サーバーの詳細を手動で追加できます。

クライアントのmcp_configファイルのmcpServersセクション内に次の JSON 構成を追加し、 <YOUR_NEON_API_KEY>実際の Neon API キーに置き換えます。

{ "mcpServers": { "neon": { "command": "npx", "args": [ "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }

トラブルシューティング

クライアントが MCP サーバーの構成にJSONを使用していない場合は (古いバージョンの Cursor など)、プロンプトが表示されたときに次のコマンドを使用できます。

npx -y @neondatabase/mcp-server-neon start <YOUR_NEON_API_KEY>

Windowsでのトラブルシューティング

Windowsをご利用で、MCPサーバーの追加中に問題が発生した場合、コマンドプロンプト( cmd )またはWindows Subsystem for Linux( wsl )を使用して必要なコマンドを実行する必要がある場合があります。設定は以下のようになります。

{ "mcpServers": { "neon": { "command": "cmd", "args": [ "/c", "npx", "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }
{ "mcpServers": { "neon": { "command": "wsl", "args": [ "npx", "-y", "@neondatabase/mcp-server-neon", "start", "<YOUR_NEON_API_KEY>" ] } } }

ガイド

特徴

サポートされているツール

Neon MCPサーバーは、MCPクライアントに「ツール」として公開される以下のアクションを提供します。これらのツールを使用することで、自然言語コマンドを使用してNeonプロジェクトやデータベースを操作できます。

プロジェクト管理:

  • list_projects : Neon プロジェクトのリストを取得し、Neon アカウントに関連付けられている各プロジェクトの概要を提供します。
  • describe_project : 特定の Neon プロジェクトの ID、名前、関連するブランチやデータベースなどの詳細情報を取得します。
  • create_project : Neonアカウントに新しいNeonプロジェクトを作成します。プロジェクトは、ブランチ、データベース、ロール、コンピューティングのコンテナとして機能します。
  • delete_project : 既存の Neon プロジェクトとそれに関連付けられたすべてのリソースを削除します。

支店管理:

  • create_branch : 指定された Neon プロジェクト内に新しいブランチを作成します。開発、テスト、移行にNeon のブランチ機能を活用します。
  • delete_branch : Neon プロジェクトから既存のブランチを削除します。
  • describe_branch : 特定のブランチの名前、ID、親ブランチなどの詳細を取得します。

SQLクエリ実行:

  • get_connection_string : データベース接続文字列を返します。
  • run_sql : 指定されたNeonデータベースに対して単一のSQLクエリを実行します。読み取りと書き込みの両方の操作をサポートします。
  • run_sql_transaction : Neon データベースに対して、単一のトランザクション内で一連の SQL クエリを実行します。
  • get_database_tables : 指定された Neon データベース内のすべてのテーブルを一覧表示します。
  • describe_table_schema : 特定のテーブルのスキーマ定義を取得し、列、データ型、制約の詳細を示します。

データベースの移行 (スキーマの変更):

  • prepare_database_migration : データベース移行プロセスを開始します。重要なのは、メインブランチに影響を与える前に、移行を安全に適用してテストするための一時ブランチを作成することです。
  • complete_database_migration : 準備済みのデータベース移行を完了し、メインブランチに適用します。このアクションは、一時的な移行ブランチからの変更をマージし、一時的なリソースをクリーンアップします。

ネオン認証:

  • provision_neon_auth : NeonプロジェクトにNeon Authをプロビジョニングするアクション。開発者はStack Auth ( @stackframe/stack )との統合を作成することで、認証インフラストラクチャを簡単にセットアップできます。

移行

マイグレーションは、データベーススキーマへの変更を時間の経過とともに管理する方法です。Neon MCPサーバーでは、LLMは「開始」( prepare_database_migration )コマンドと「コミット」( complete_database_migration )コマンドを別々に実行することで、安全にマイグレーションを実行できます。

「Start」コマンドはマイグレーションを受け取り、新しい一時ブランチで実行します。コマンドが戻ると、LLMにこのブランチでマイグレーションをテストする必要があることを通知します。LLMはその後、「Commit」コマンドを実行し、マイグレーションを元のブランチに適用します。

発達

MCP CLI クライアントを使用した開発

MCPサーバーで反復処理を行う最も簡単な方法はmcp-client/を使用することです。詳細についてはmcp-client/README.mdを参照してください。

npm install npm run build npm run watch # You can keep this open. cd mcp-client/ && NEON_API_KEY=... npm run start:mcp-server-neon

Claude Desktop(ローカルMCPサーバー)を使用した開発

npm install npm run build npm run watch # You can keep this open. node dist/index.js init $NEON_API_KEY

その後、変更をテストするたびにClaude を再起動します

テスト

テストを実行するには、 .env.exampleファイルに従って.envファイルを設定する必要があります。

npm run test
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Claude Desktop または任意の MCP クライアントを使用して、自然言語でNeonの操作を実行できます。

  1. Setting up Neon MCP Server
    1. Prerequisites
      1. Option 1. Remote Hosted MCP Server (Preview)
      2. Option 2. Local MCP Server
      3. Troubleshooting
    2. Guides
      1. Features
        1. Supported Tools
        2. Migrations
      2. Development
        1. Development with MCP CLI Client
        2. Development with Claude Desktop (Local MCP Server)
      3. Testing
        ID: 1yes4hhjq4