mcpField
O
Oracle MCP Server

Oracle MCP Server

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

Oracle MCP Server について

Oracle MCP Server は、Spring AI MCP Server を基盤とする Oracle データベース操作用の MCP サーバーです。ツールでテーブル一覧や構造を確認し、SQL を実行できます。結果は CSV または更新行数で返されます。

主な機能

  1. 01データベースのテーブル一覧
  2. 02列・型・制約の確認
  3. 03SELECT、INSERT、UPDATE、DELETE の実行
  4. 04クエリ結果の CSV 形式での返却
  5. 05データベース接続の管理

活用シーン

  1. 01Oracle データベースのテーブル確認
  2. 02テーブル列や主キーの確認
  3. 03MCP 経由で SQL の検索や変更
  4. 04書き込み後の更新行数の確認

MCP 対応

MCP ツールとして Oracle データベース操作を公開し、リアルタイム通信に SSE を使用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Oracle MCP サーバー

spring-ai-mcp-server-webmvc-spring-boot-starter を基盤として構築された、Oracle データベース操作用の Model Context Protocol(MCP)サーバー実装です。このサービスは、Server-Sent Events(SSE)を使用したリアルタイム通信により、MCP 経由で Oracle データベースを操作するためのツール一式を提供します。

特長

  • Oracle データベース内のすべてのテーブルを一覧表示
  • テーブル構造(列、データ型、制約)を表示
  • SQL 文(SELECT、INSERT、UPDATE、DELETE)を実行
  • 安全なデータベース接続管理
  • SSE によるリアルタイム通信
  • spring-ai-mcp-server-webmvc-spring-boot-starter を基盤として構築

技術スタック

主な依存関係
  • Spring Boot 3.2.0
  • spring-ai-mcp-server-webmvc-spring-boot-starter
  • Oracle JDBC Driver
  • Model Context Protocol(MCP)フレームワーク
  • Lombok
開発ツール
  • Java 17
  • Maven 3.6+
  • Spring Boot テストフレームワーク
  • JUnit 5

はじめに

前提条件
  • JDK 17
  • Maven 3.6+
  • Oracle Database インスタンス
  • MCP サーバー環境
  • Cursor IDE
設定
1. データベース設定

application.properties または application.yml を作成または変更し、次の設定を追加します。

oracle:
  connectionString: jdbc:oracle:thin:@//your-oracle-host:1521/your-service-name
  username: your-username
  password: your-password
2. Cursor MCP 設定

Cursor IDE で、設定画面から MCP サーバーを設定します。

{
  "mcpServers": {
    "oracle-mcp-server": {
      "url": "http://{server-ip}:{server-port}/sse",
      "enabled": true
    }
  }
}

この設定では、次のことを行います。

  • MCP サーバー名を「oracle-mcp-server」に設定
  • サーバー URL を「http://{server-ip}:{server-port}/sse」に設定
    • {server-ip} をサーバーの IP アドレスに置き換えます
    • {server-port} をサーバーのポート番号に置き換えます
  • Cursor で MCP サーバーを使用できるようにします
プロジェクトのビルド
mvn clean install
アプリケーションの実行
mvn spring-boot:run

API ツール

1. テーブル一覧表示ツール
  • 名前:list_tables
  • 説明:Oracle データベース内のすべてのテーブルの一覧を取得します
  • 使用方法:パラメーターは不要です
  • 戻り値:改行区切りのテーブル名一覧
2. テーブル構造表示ツール
  • 名前:describe_table
  • 説明:指定したテーブルの構造情報を取得します
  • パラメーター:tableName - 構造を表示するテーブルの名前
  • 戻り値:テーブル構造を示す CSV 形式のデータ。次の情報を含みます。
    • 列名
    • データ型
    • NULL 許容状態
    • データ長
    • 主キー情報
3. SQL 実行ツール
  • 名前:execute_sql
  • 説明:Oracle SQL 文を実行します
  • パラメーター:sql - 実行する SQL 文
  • 戻り値:
    • SELECT の場合:クエリ結果を CSV 形式で返します
    • INSERT/UPDATE/DELETE の場合:影響を受けた行数を返します

実装の詳細

アーキテクチャ
com.mcp.oracle/
├── config/
│   └── OracleConfig.java         # Database configuration
├── service/
│   └── OracleService.java        # Core service implementation
└── OracleApplication.java        # Application entry point
主なコンポーネント
  1. OracleConfig

    • データベース接続設定を処理します
    • Spring の @ConfigurationProperties を使用します
    • パスワードを安全に管理します
  2. OracleService

    • データベース操作用の MCP ツールを実装します
    • データベース接続を管理します
    • SQL の実行と結果の整形を処理します
    • エラー処理とログ記録を実装します
  3. 接続管理

    • Oracle のコネクションプーリングを使用します
    • リソースを自動的に閉じる処理を実装します
    • 接続エラーを適切に処理します
セキュリティに関する考慮事項
  • 設定内のパスワードの暗号化
  • コネクションプールの管理
  • SQL インジェクションの防止
  • エラーメッセージのサニタイズ

テスト

このプロジェクトには、包括的なユニットテストが含まれています。

mvn test

テストでは、次の項目をカバーしています。

  • データベース接続
  • テーブル一覧表示
  • テーブル構造の表示
  • SQL の実行
  • エラー処理

エラー処理

このサービスでは、次のようなエラーを堅牢に処理します。

  • 接続エラー
  • 無効な SQL 文
  • テーブル/列の欠落
  • 権限の問題

コントリビューション

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

サポート

サポートや質問については、リポジトリに issue を作成してください。

コメント

MCP は初めてですか?

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

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