mcp-neo4j-server-sse-java について
mcp-neo4j-server-sse-javaは、Neo4jグラフデータベースを検索・探索するJava製MCPサーバーです。Cypherによる読み取りと更新、スキーマ確認に対応し、SSEとSTDIOの両方で通信できます。
主な機能
- 01Cypherクエリの読み取りと更新
- 02Neo4jグラフスキーマの確認
- 03データベース操作のデモ用プロンプト
- 04SSEとSTDIOのトランスポート
- 05Spring AIによるツールの自動登録
活用シーン
- 01Cypherによるグラフデータの読み取り
- 02ノードとリレーションシップの更新
- 03グラフのラベル、属性、関係の確認
MCP 対応
MCPクライアントにNeo4jのクエリ・スキーマツールと`mcp-demo`プロンプトを提供します。SSEまたはSTDIOで接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-neo4j-server-sse-java
mcp-neo4j-server-sse-java は、SSE(Server-Sent Events)サーバートランスポートまたは STDIO トランスポートをトランスポートプロトコルとして使用し、Java で実装された MCP サーバーです。
概要
Neo4j を介したデータベース操作とグラフ探索機能を提供する、Model Context Protocol(MCP)サーバーの実装です。このサーバーでは、Cypher グラフクエリの実行、複雑なドメインデータの分析、リモートからアクセス可能なデータベースの選択が可能です。neo4j-contrib/mcp-neo4j に着想を得ています。
このプロジェクトでは、以下の機能を紹介します。
spring-ai-mcp-server-webflux-spring-boot-starterとの統合- SSE(Server-Sent Events)と STDIO の両方のトランスポートをサポート
- Spring AI の
@Toolアノテーションを使用したツールの自動登録
プロンプト
このサーバーは、デモ用プロンプトを提供します。
mcp-demo:データベース操作をユーザーに案内するインタラクティブなプロンプト- 適切なデータベーススキーマとサンプルデータを生成します
ツール
このサーバーは、6 つの主要なツールを提供します。
クエリツール
-
read-neo4j-cypher- データベースからデータを読み取る Cypher 読み取りクエリを実行します
- 入力:
query(string):実行する Cypher クエリ
- 戻り値:オブジェクトの配列としてのクエリ結果
-
write-neo4j-cypher- データを更新する Cypher クエリを実行します
- 入力:
query(string):Cypher 更新クエリ
- 戻り値:
{ nodes_updated: number, relationships_created: number, ... }を含む結果の概要カウンター
スキーマツール
get-neo4j-schema- グラフデータベース内のすべてのノードタイプと、名前、型、他のノードタイプとのリレーションシップを含む属性の一覧を取得します
- 入力は不要です
- 戻り値:属性用とリレーションシップ用の 2 つの辞書を含むノードラベルの一覧
Cline クライアントでの使用方法
- リポジトリをクローンします
git clone https://github.com/dsimile/mcp-neo4j-server-sse-java.git
- プロジェクトをビルドします
- Java 17 以降
cd mcp-neo4j-server-sse-java
mvn clean install -DskipTests
- サーバーを実行します
- WebFlux SSE モード(デフォルト)
- spring.ai.mcp.server.stdio(デフォルト):false
- サーバー IP(デフォルト):0.0.0.0
- サーバーポート(デフォルト):8543
- Neo4j URI(デフォルト):neo4j://localhost:7687
- Neo4j ユーザー名(デフォルト):neo4j
- Neo4j パスワード(デフォルト):neo4j
- Neo4j データベース(デフォルト):neo4j
java -jar target/mcp-neo4j-server-sse-java-1.0-SNAPSHOT.jar
- STDIO モード
STDIO トランスポートを有効にするには、適切なプロパティを設定します。
java -Dspring.ai.mcp.server.stdio=true \
-Dspring.main.web-application-type=none \
-Dneo4j.uri=neo4j://localhost:7687 \
-Dneo4j.username=neo4j \
-Dneo4j.password=<your password> \
-Dneo4j.database=<your database> \
-Dlog.path=/absolute/path/to/ \
-jar target/mcp-neo4j-server-sse-java-1.0-SNAPSHOT.jar
注:Neo4j が稼働しており、リモート接続でアクセスできることを確認してください。
リリース済みパッケージ
サーバーを cline_mcp_settings.json に追加します。
- WebFlux SSE モード(デフォルト)
{
"mcpServers": {
"neo4j-remote": {
"url": "http://0.0.0.0:8543/sse",
"disabled": false,
"autoApprove": []
}
}
}
- STDIO モード
{
"mcpServers": {
"neo4j-local": {
"disabled": false,
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dneo4j.uri=neo4j://localhost:7687",
"-Dneo4j.username=neo4j",
"-Dneo4j.password=<your password>",
"-Dneo4j.database=<your database>",
"-Dlog.path=/absolute/path/to/",
"-jar",
"/absolute/path/to/mcp-neo4j-server-sse-java-1.0-SNAPSHOT.jar"
],
"transportType": "stdio"
}
}
}
/absolute/path/to/ を、ビルド済みの jar ファイルまたはログファイルの実際のパスに置き換えてください。
ライセンス
この MCP サーバーは MIT ライセンスの下でライセンスされています。MIT ライセンスの利用規約に従うことを条件として、ソフトウェアを自由に使用、変更、配布できます。詳しくは、プロジェクトリポジトリの LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。