CData Python MCP Server でSAP Netweaver Gateway を AI アシスタントに接続
Model Context Protocol(MCP)は、AI アシスタントが外部ソースからデータにセキュアにアクセスできるようにするオープンスタンダードです。MCP を使用すると、Claude などの AI アシスタントにデータソースへのダイレクトアクセスを提供し、リアルタイムデータに基づいて質問に回答したりアクションを実行したりできます。
CData Python MCP Server は、CData Python Connector を活用することで、この機能を 350 以上のデータソースに拡張します。これにより、Claude を SAP Netweaver Gateway インスタンスに直接接続し、自然言語でデータを操作できます。
このガイドでは、CData Python MCP Server for SAP Netweaver Gateway をセットアップし、Claude Desktop で設定します。「トップ顧客は誰ですか?」や「チケット #123 のステータスを更新して」といった質問を Claude に投げかけ、リアルタイムのSAP Netweaver Gateway のデータに基づいた回答を得られるようになります。
それでは始めましょう!
前提条件
- CData Python Connector for SAP Netweaver Gateway:無料の Community Edition ライセンスはこちらからリクエストしてダウンロードできます。 すでにライセンスをお持ちの場合やトライアルをご利用の場合は、 こちらから CData Python Connector for SAP Netweaver Gateway をダウンロードまたはアップデートできます。
- Claude Desktop:claude.ai/download からダウンロード
- Python 3.12 以上がマシンにインストールされていること
- uv パッケージマネージャー:pip install uv でインストール
- 適切な API アクセス権を持つアクティブな SAP Netweaver Gateway アカウント
仕組み
CData Python MCP Server は、AI アシスタントとデータソース間のブリッジとして機能します:
- Claude に質問をSAP Netweaver Gateway のデータについて投げかけます
- Claude は MCP を使用して CData MCP Server にリクエストを送信します
- サーバーが接続し、CData Python Connector を使用して SAP Netweaver Gateway に接続します
- リアルタイムデータが取得され、Claude に返されます
- Claude が回答を提示し、自然言語で表示します
このサーバーは、データのクエリ、メタデータの表示、更新の実行、ストアドプロシージャの呼び出しなどのツールを提供します。すべて Claude との会話を通じて行えます。
ステップ 1:MCP Server のセットアップ
1.1 リポジトリのクローン
まず、CData Python MCP Server リポジトリをクローンします:
git clone https://github.com/CDataSoftware/cdata-mcp-python.git cd cdata-mcp-python
1.2 仮想環境の作成
uv を使用して Python 仮想環境をセットアップします:
uv venv uv pip install "mcp[cli]"
注意:uv では、仮想環境を手動でアクティベートする必要はありません。uv pip と uv run コマンドは、カレントディレクトリの .venv を自動的に使用します。
ステップ 2:CData Connector のインストール
2.1 Connector パッケージのインストール
ダウンロードした CData Python Connector for SAP Netweaver Gateway をインストールします。このコマンドを実行する際は、プロジェクトディレクトリにいることを確認してください:
Windows の場合:
uv pip install "\PATH\TO\cdata_sapgateway_connector-##.0.####-cp312-cp312-win_amd64.whl"
macOS/Linux の場合:
uv pip install ~/PATH/TO/cdata_sapgateway_connector-##.0.####-py3-none-any.whl
2.2 インストールの確認
Connector がインストールされていることを確認します:
uv pip list | grep cdata # 以下が表示されるはずです:cdata-sapgateway-connector
2.3 ライセンスのアクティベーション(必要な場合)
一部の Connector は、初期テスト中は明示的なライセンスアクティベーションなしで動作します。ライセンスエラーが発生した場合は、ライセンスをアクティベートしてください:
ライセンスアクティベーション手順ライセンスインストーラーの場所を特定:
import os
import cdata.sapgateway
path = os.path.dirname(os.path.abspath(cdata.sapgateway.__file__))
print(f"License installer location: {path}/installlic_sapgateway/")
インストーラーの実行:
Windows:cd .venv\Lib\site-packages\cdata\installlic_sapgateway .\install-license.exe YOUR-LICENSE-KEYmacOS/Linux:
cd .venv/lib/python3.12/site-packages/cdata/installlic_sapgateway ./install-license.sh YOUR-LICENSE-KEY
注意:ライセンスキー引数を省略すると、トライアルライセンスがアクティベートされます。
ステップ 3:接続のテスト
Claude を設定する前に、Connector が正しく動作することを確認します。
3.1 環境変数の設定
接続の詳細をエクスポートします:
export CONNECTOR_MOD="cdata.sapgateway" export CONNECTION_STRING=" User=user; Password=password; URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;"
Windows ユーザー:export の代わりに set を使用してください
3.2 クイック接続テスト
uv run python -c "from utils.get_connection import get_connection; print('✅ Connected!' if get_connection() else '❌ Failed')"
ステップ 4:Claude Desktop の設定
4.1 Claude 設定の編集
Claude Desktop の設定ファイルを開きます:
- Windows:%APPDATA%\Claude\claude_desktop_config.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
MCP サーバー設定を追加します:
{
"mcpServers": {
"sapgateway_server": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/cdata-mcp-python",
"run",
"--active",
"main.py"
],
"env": {
"CONNECTOR_MOD": "cdata.sapgateway",
"CONNECTION_STRING": "
User=user;
Password=password;
URL=https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/;"
}
}
}
}
重要:/absolute/path/to/cdata-mcp-python を、クローンしたリポジトリの実際のパスに置き換えてください。
4.2 Claude Desktop の再起動
- Claude を完全に終了します(ウィンドウを閉じるだけではありません)
- Claude Desktop を再度開きます
- MCP アイコンがサーバー名の横に表示されていることを確認します
ステップ 5:Claude でSAP Netweaver Gateway のデータを使用
これで、自然な会話を通じてSAP Netweaver Gateway のデータを操作できます!
Claude に質問する例:
- 「SAP Netweaver Gateway インスタンスで利用可能なテーブルは何ですか?」
- 「[primary_table] テーブルのスキーマを見せてください」
- 「[primary_table] の最初の 10 件のレコードを表示してください」
- 「今月作成された [records] は何件ですか?」
- 「[record] ID 123 のステータスを更新してください」
- 「利用可能なストアドプロシージャは何ですか?」
利用可能な MCP ツール
Claude は質問に基づいてこれらのツールを自動的に使用できます:
| ツール | 用途 | トリガー例 |
|---|---|---|
| get_tables | 利用可能なすべてのテーブル/オブジェクトを一覧表示 | 「利用可能なテーブルは何ですか?」 |
| get_columns | 特定のテーブルのフィールドを表示 | 「Customer テーブルにはどんなフィールドがありますか?」 |
| run_query | SELECT クエリを実行 | 「アクティブな顧客をすべて表示してください」 |
| run_nonquery | INSERT/UPDATE/DELETE を実行 | 「顧客 123 のメールを更新してください」 |
| get_procedures | ストアドプロシージャを一覧表示 | 「どんなアクションを実行できますか?」 |
| call_procedure | ストアドプロシージャを実行 | 「RefreshCache プロシージャを実行してください」 |
高度な設定
パフォーマンスの最適化
大規模なデータセットの場合、クエリを最適化してください:
- LIMIT 句を使用:SELECT * FROM Customers LIMIT 100
- WHERE フィルターを追加:SELECT * FROM Orders WHERE OrderDate > '2024-01-01'
- 特定のカラムを選択:SELECT Id, Name, Email FROM Contacts
トラブルシューティング
サーバーが Claude に表示されない場合
- Claude が完全に終了していることを確認します(タスクマネージャー/アクティビティモニターで確認)
- 設定ファイルが有効な JSON であることを確認します:python -m json.tool claude_desktop_config.json
- リポジトリへの絶対パスが正しいことを確認します
- 構文エラー(カンマや引用符の欠落)を確認します
接続エラー
- テストスクリプトを使用して接続文字列をテストします
- SAP Netweaver Gateway の資格情報が正しいことを確認します
- ネットワークアクセスを確認します(ファイアウォール、VPN の要件)
- OAuth の場合:コールバック URL が設定されていることを確認します
ライセンスの問題
- ライセンスアクティベーション手順を実行します
- トライアルが期限切れ(30 日間)でないか確認します
- 正しい Python バージョン(3.12 以上)を使用していることを確認します
セキュリティに関する考慮事項
- 資格情報:機密性の高い接続文字列は安全に保存してください。環境変数やセキュアな資格情報ストアの使用を検討してください。
- 権限:必要に応じて適切な読み取り/書き込み権限を持つ SAP Netweaver Gateway アカウントを使用してください。
- ネットワーク:MCP サーバーはローカルマシン上で実行され、SAP Netweaver Gateway に直接接続します。
まとめ
CData Python MCP Server を使用して、Claude をSAP Netweaver Gateway のデータに正常に接続できました!この強力な統合により、以下のことが可能になります:
- 自然言語を使用してリアルタイムデータにクエリを実行
- 会話を通じて更新や変更を実行
- AI アシスタントによるデータの分析と理解
- 日常的なデータタスクの自動化
同じセットアッププロセスが、CRM(Salesforce など)からデータベース(MongoDB など)、API(REST エンドポイントなど)まで、CData Python Connector がサポートする 350 以上のデータソースに対して機能します。
今すぐ無料トライアルを開始するか、Community ライセンスを取得して、AI アシスタントにエンタープライズデータへのダイレクトアクセスを提供しましょう。