Agno を使って CData Connect AI 経由で SAP Netweaver Gateway のデータと対話する

Anusha M B
Anusha M B
Technical Marketing Engineer
CData Connect AI Remote MCP Server を活用して、Agno エージェントが SAP Netweaver Gateway のデータ に対して安全に質問やアクションを実行できるようにします。

Agno は、ツールを使って推論・計画・アクションを実行する AI エージェントを構築するための、開発者向け Python フレームワークです。 Agno はクリーンでコード駆動型のアーキテクチャを重視しており、エージェントランタイムを開発者が完全に制御できます。

CData Connect AI は、数百種類のエンタープライズデータソースを AI システムと連携させるための、セキュアなクラウド間インターフェースを提供します。 Connect AI を使用すると、リアルタイムの SAP Netweaver Gateway のデータ をレプリケーションなしでリモート MCP エンドポイント経由で公開できます。

このガイドでは、Agno Python SDK を使用して本番環境対応の Agno エージェントを構築します。 エージェントは streamable HTTP を使用して MCP 経由で CData Connect AI に接続し、利用可能なツールを動的に検出して、 リアルタイムの SAP Netweaver Gateway のデータ にクエリを実行します。

前提条件

  1. Python 3.9 以上
  2. CData Connect AI アカウント – こちらからサインアップまたはログイン
  3. 有効な認証情報を持つ SAP Netweaver Gateway アカウント
  4. LLM API キー(例:OpenAI

概要

プロセスの概要は以下のとおりです。

  1. 接続:CData Connect AI で SAP Netweaver Gateway 接続を設定します。
  2. 検出:MCP を使用して CData Connect AI が公開するツールを動的に取得します。
  3. クエリ:MCP ツールを Agno 関数としてラップし、リアルタイムの SAP Netweaver Gateway のデータ にクエリを実行します。

Step 1: CData Connect AI で SAP Netweaver Gateway を設定

Agno からリアルタイムの SAP Netweaver Gateway のデータ にクエリを実行するには、まず CData Connect AISAP Netweaver Gateway 接続を作成します。 この接続は CData Remote MCP Server 経由で公開されます。

  1. Connect AI にログインし、Sources をクリックしてから Add Connection をクリックします。 Adding a connection
  2. Add Connection パネルから「SAP Netweaver Gateway」を選択します。 Selecting a data source
  3. 必要な認証プロパティを入力します。

    SAP Gateway 接続プロパティの取得・設定方法

    SAP Gateway のテーブルにアクセスするには、次の接続プロパティを設定します。

    • URL = お使いの環境のURL、またはサービスの完全URL。例えば、完全URL は次のようになります:https://sapes5.sapdevcenter.com/sap/opu/odata/IWBEP/GWSAMPLE_BASIC/。この例では、環境URL は次のようになります:https://sapes5.sapdevcenter.com。CustomUrlParams プロパティを使用して、追加プロパティを追加します。
    • Namespace = 適切なService Namespace。先ほどの例では、IWBEP が名前空間です。サービスへの完全URL が指定されている場合は任意です。
    • Service = データを取得するサービス。先ほどの例では、サービスはGWSAMPLE_BASIC です。完全URL が指定されている場合は必須ではありません。
    • CustomUrlParams = HTTP リクエストに含まれる必要のある追加プロパティ;例えばsap-client=001&sap-language=EN

    SAP Gateway への認証

    SAP Gateway はBasic 認証、OAuth 2.0 認証、SAP BTP Destination 認証に対応しています。

    Basic 認証

    Basic 認証を有効にするには、以下のプロパティを設定します。

    • AuthScheme = Basic
    • User = SAP Gateway へのログインに使用するユーザー名。
    • Password = SAP Gateway へのログインに使用するパスワード。

    上記のプロパティを設定したら、接続の準備は完了です。本製品への接続には、お使いの認証情報を使用してください。

    他の認証方法については、ヘルプドキュメントの「接続の確立」セクションを参照してください。

    Configuring connection properties Create & Test をクリックします。
  4. Permissions タブを開き、ユーザーアクセスを設定します。 Updating permissions

Personal Access Token の追加

Personal Access Token(PAT)は、Agno から CData Connect AI への MCP リクエストを認証するために使用されます。

  1. Settings を開き、Access Tokens に移動します。
  2. Create PAT をクリックします。
  3. 生成されたトークンを安全に保存します。 Creating a PAT

Step 2: 依存関係のインストールと環境変数の設定

Agno と MCP アダプターの依存関係をインストールします。LangChain は MCP ツールの互換性のためだけに含まれています。

pip install agno agno-mcp langchain-mcp-adapters

環境変数を設定します。

export CDATA_MCP_URL="https://mcp.cloud.cdata.com/mcp"
export CDATA_MCP_AUTH="Base64EncodedCredentials"
export OPENAI_API_KEY="your-openai-key"

「Base64EncodedCredentials」は、Connect AI ユーザーのメールアドレスと Personal Access Token をコロン(「:」)で結合し、Base64 エンコードした値です:Base64([email protected]:MY_CONNECT_AI_PAT)

Step 3: MCP 経由で CData Connect AI に接続

streamable HTTP を使用して MCP クライアントを作成します。これにより、CData Connect AI へのセキュアな接続が確立されます。

import os
from langchain_mcp_adapters.client import MultiServerMCPClient

mcp_client = MultiServerMCPClient(
  connections={
    "default": {
      "transport": "streamable_http",
      "url": os.environ["CDATA_MCP_URL"],
      "headers": {
        "Authorization": f"Basic {os.environ['CDATA_MCP_AUTH']}"
      }
    }
  }
)

Step 4: MCP ツールの検出

CData Connect AI は操作を MCP ツールとして公開します。これらは実行時に動的に取得されます。

langchain_tools = await mcp_client.get_tools()
for tool in langchain_tools:
  print(tool.name)

Step 5: MCP ツールを Agno 関数に変換

各 MCP ツールを Agno 関数としてラップし、エージェントで使用できるようにします。

注意:Agno がすべての推論、計画、ツール選択を行います。LangChain は CData Connect AI が公開するツールを利用するための軽量な MCP 互換レイヤーとしてのみ使用されます。

from agno.tools import Function

def make_tool_caller(lc_tool):
  async def call_tool(**kwargs):
    return await lc_tool.ainvoke(kwargs)
  return call_tool

Step 6: Agno エージェントを作成してリアルタイムの SAP Netweaver Gateway のデータ にクエリ

Agno がすべての推論、計画、ツール呼び出しを行います。LangChain は MCP 互換性以外の役割を果たしません。

from agno.agent import Agent
from agno.models.openai import OpenAIChat

agent = Agent(
  model=OpenAIChat(
    id="gpt-4o",
    temperature=0.2,
    api_key=os.environ["OPENAI_API_KEY"]
  ),
  tools=agno_tools,
  markdown=True
)

await agent.aprint_response(
  "Show me the top 5 records from the available data source"
)

if __name__ == "__main__":
    asyncio.run(main())

以下の結果は、Agno エージェントが CData Connect AI を通じて MCP ツールを呼び出し、リアルタイムの SAP Netweaver Gateway のデータ を返す様子を示しています。

Running the Agno agent Agno agent output

これで、Agno エージェントを通じて自然言語でリアルタイムの SAP Netweaver Gateway のデータ にクエリを実行できるようになりました。


CData Connect AI の詳細

数百種類の SaaS、ビッグデータ、NoSQL ソースにクラウドアプリケーションから直接アクセスするには、 CData Connect AI をぜひお試しください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル