mcpField
M
mcp-neo4j-server-sse-java

mcp-neo4j-server-sse-java

ローカル
github.com/dsimileデータベース076 週間前に更新

mcp-neo4j-server-sse-java について

mcp-neo4j-server-sse-javaは、Neo4jグラフデータベースを検索・探索するJava製MCPサーバーです。Cypherによる読み取りと更新、スキーマ確認に対応し、SSEとSTDIOの両方で通信できます。

主な機能

  1. 01Cypherクエリの読み取りと更新
  2. 02Neo4jグラフスキーマの確認
  3. 03データベース操作のデモ用プロンプト
  4. 04SSEとSTDIOのトランスポート
  5. 05Spring AIによるツールの自動登録

活用シーン

  1. 01Cypherによるグラフデータの読み取り
  2. 02ノードとリレーションシップの更新
  3. 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 クライアントでの使用方法

  1. リポジトリをクローンします
git clone https://github.com/dsimile/mcp-neo4j-server-sse-java.git
  1. プロジェクトをビルドします
  • Java 17 以降
cd mcp-neo4j-server-sse-java

mvn clean install -DskipTests
  1. サーバーを実行します
  • 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 ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。