Neo4j MCP Server for Cursor について
Neo4j MCP Server for Cursor は、クエリ実行やデータベースの確認のために Cursor と Neo4j データベースを接続します。認証情報または環境変数による接続に対応し、接続状態や診断情報も取得できます。
主な機能
- 01Neo4j データベースへの接続
- 02パラメーター付き Cypher クエリの実行
- 03データベースのメタデータと指標の確認
- 04接続状態と診断情報の確認
- 05認証情報または環境変数での接続
- 06Neo4j のデータ型を JavaScript オブジェクトに変換
活用シーン
- 01Cursor から Cypher クエリを実行
- 02データベースのラベルとリレーション型を確認
- 03件数やバージョン情報を確認
- 04データベース接続の診断や切断
MCP 対応
stdio トランスポートを使用し、Neo4j への接続、クエリ、データベース情報、状態確認、切断のツールを Cursor に提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cursor 向け Neo4j MCP サーバー
Cursor IDE から Neo4j データベースを直接シームレスに操作できる、Cursor 用 MCP(Model Context Protocol)サーバーです。
機能
- Neo4j データベースに接続します
- Cypher クエリを実行し、結果を取得します
- Neo4j 固有のデータ型を標準の JavaScript オブジェクトに変換します
- 公式 MCP SDK と stdio トランスポートを使用し、Cursor とシームレスに連携します
- 安全な認証情報管理のため、環境変数をサポートします
- 詳細なデータベース情報とメトリクスを取得します
- 接続状態と診断情報を監視します
前提条件
Docker Compose で Neo4j を実行する
このプロジェクトには、Neo4j をコンテナで簡単に実行するための Docker Compose 設定が含まれています。
-
Docker と Docker Compose がインストールされていることを確認します。
-
Docker Compose を使用して Neo4j を起動します。
docker-compose up -d -
Neo4j Browser にアクセスします:http://localhost:7474
- デフォルトのユーザー名:
neo4j - デフォルトのパスワード:
your_password(docker-compose.yml で指定されています)
- デフォルトのユーザー名:
-
Neo4j を停止するには:
docker-compose down -
Neo4j を停止してすべてのデータを削除するには:
docker-compose down -v
Note:docker-compose.yml のデフォルトパスワードは
your_passwordに設定されています。本番環境で使用する場合は、安全なパスワードに変更し、それに合わせて.envファイルを更新してください。
インストール
-
このリポジトリをクローンします。
git clone https://github.com/yourusername/neo4j-mcp.git cd neo4j-mcp -
依存関係をインストールします。
bun install -
環境変数を設定します。 ルートディレクトリに
.envファイルを作成し、Neo4j の認証情報を記述します。NEO4J_URI=neo4j://localhost:7687 NEO4J_USERNAME=neo4j NEO4J_PASSWORD=your_password NEO4J_DATABASE=neo4j NODE_ENV=development
使い方
サーバーの起動
このサーバーは Cursor との通信に stdio トランスポートを使用するため、Cursor 自身が起動する必要があります。ただし、手動でテストすることもできます。
# Run directly
bun run index.ts
# Run with logging using the provided script
./run-mcp-server.sh
利用可能なツール
MCP サーバーは次のツールを公開します。
1. 明示的な認証情報で Neo4j に接続する
指定された認証情報を使用して Neo4j データベースに接続します。
パラメーター:
uri:Neo4j データベースの URI(例:neo4j://localhost:7687)username:Neo4j データベースのユーザー名password:Neo4j データベースのパスワードdatabase:(任意)Neo4j データベース名
2. 環境変数で Neo4j に接続する
環境変数の認証情報を使用して Neo4j データベースに接続します。
パラメーターは不要です。
3. Cypher クエリを実行する
接続中の Neo4j データベースに対して Cypher クエリを実行します。
パラメーター:
query:実行する Cypher クエリparams:(任意)クエリパラメーター
4. データベース情報を取得する
接続中の Neo4j データベースに関する詳細情報を取得します。次の情報が含まれます。
- Neo4j のバージョンとエディション
- データベース名
- ノードとリレーションシップの数
- 利用可能なラベル
- リレーションシップの種類
パラメーターは不要です。
5. 接続状態を取得する
現在の接続状態を取得します。次の情報が含まれます。
- 接続状態(接続済み/切断済み)
- 接続の詳細(URI、データベース)
- 接続時刻
- 最後に発生したエラー(ある場合)
パラメーターは不要です。
6. Neo4j から切断する
Neo4j データベースから切断します。
パラメーターは不要です。
環境変数
次の環境変数を .env ファイルに設定できます。
| 変数 | 説明 | デフォルト |
|---|---|---|
| NEO4J_URI | Neo4j データベースの URI | neo4j://localhost:7687 |
| NEO4J_USERNAME | Neo4j データベースのユーザー名 | neo4j |
| NEO4J_PASSWORD | Neo4j データベースのパスワード | (空) |
| NEO4J_DATABASE | Neo4j データベース名 | (デフォルトのデータベース) |
| NODE_ENV | 環境(開発/本番) | development |
Cursor との連携
この MCP サーバーは、Cursor の MCP 連携で使用することを想定しています。Cursor は、このサーバーが提供するツールを自動的に検出して使用します。
開発
プロジェクト構成
index.ts- MCP サーバーを起動するエントリーポイントsrc/mcpNeo4jServer.ts- MCP SDK を使用した MCP サーバーの実装src/services/neo4jService.ts- データベース操作を行う Neo4j サービスsrc/types/index.ts- TypeScript の型定義src/utils/errorHandler.ts- エラー処理用のユーティリティ関数
本番環境向けのビルド
本番環境向けにサーバーをビルドするには、次のようにします。
# Build the server
bun build index.ts --outdir ./dist
# Make the output file executable
chmod +x ./dist/index.js
ビルドプロセスでは、すべての依存関係が 1 つの JavaScript ファイルにバンドルされるため、依存関係をインストールせずにサーバーを簡単に配布して実行できます。
サーバーの実行
付属のシェルスクリプトを使用してサーバーを実行できます。
./run-mcp-server.sh
このスクリプトは次の処理を行います。
- 作業ディレクトリをスクリプトの場所に設定します
- 存在しない場合は logs ディレクトリを作成します
- Bun を使用してサーバーを実行し、出力を
logs/mcp-server.logに記録します
注:このスクリプトを実行するには、Bun がインストールされ、PATH から利用できる必要があります。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。