Skip to main content
Glama
yanivshoval0104

siebel-mcp-gateway

Siebel MCP Gateway

Oracle Siebel REST API をストリーミング可能な HTTP 上の MCP ツールとして公開し、エージェント型クライアントが Siebel の資格情報を保持することなく、Siebel レコードの照会・作成・更新・削除やオブジェクトカタログの取得を行えるようにします。

モックモードは、合成されたヘルスケア紹介のデモスキーマ(患者 → コミュニティ/病院紹介 → Form 17 コミットメント → 治療履歴)をモデル化しており、文書化された意図的なデータ品質の問題を滑らかにするのではなく、忠実に伝えるように構築されています。2 つの組織にまたがる重複患者レコード、実際には緊急度を保持しているステータスフィールド、ワークフローの明示された制限を静かに上書きするスクリプト、乖離する 2 つの「残り訪問回数」フィールドなどです。すべてのデータは合成です。

スタック

Python 3.12+、公式 mcp SDK(MCPServer。古い SDK バージョンでは FastMCP と呼ばれていたものの現在の名前)、外部への Siebel 呼び出し用の httpx、ASGI サーバーとしての uvicorn

Related MCP server: MuleSoft Code MCP

ローカル実行

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Fill in .env, or for a first run without a live Siebel instance:
#   MOCK_MODE=true
#   MCP_GATEWAY_TOKEN=<any string you'll also give your client>
MOCK_MODE=true MCP_GATEWAY_TOKEN=dev-token \
  uvicorn app.server:app --host 0.0.0.0 --port 8000

ヘルスチェック: curl http://localhost:8000/healthz{"status":"ok"}(認証不要のため、プラットフォームのヘルスチェッカーが動作します)。

MCP エンドポイント: http://localhost:8000/mcp — すべてのリクエストに Authorization: Bearer <MCP_GATEWAY_TOKEN> が必要です。公開デプロイ後、このエンドポイント自体には他のアクセス制御がないためです。

テスト

python3 -m pytest -v

すべてのテストはインメモリのモックストアまたはモックされた HTTP トランスポートに対して実行されます。ネットワーク呼び出しや実 Siebel インスタンスは不要です。

Render へのデプロイ

  1. このリポジトリを GitHub にプッシュします。

  2. まだ接続していない場合は、まず Render にリポジトリへのアクセスを許可します。 Render の GitHub App は、明示的にアクセスを許可されたリポジトリしか認識しません。新しいリポジトリは、あなたが所有しているだけでは Render のリポジトリ選択に表示されません。github.com/settings/installations に移動し、Render を見つけて Configure をクリックし、「All repositories」に切り替えるか、このリポジトリを許可リストに追加して Save します。その後、Render の接続画面に再び表示されます。

  3. Render ダッシュボードで: New → Blueprint(「Web Service」ではありません。このリポジトリには render.yaml があり、Blueprint がそれを読み取ります)。リポジトリを接続し、ブランチ main とデフォルトの render.yaml パスを確認します。

  4. Render は render.yamlsync: false とマークされたすべての環境変数のフォームを表示します。デプロイ前にこれらを入力してください:

    • MCP_GATEWAY_TOKEN — 生成します。例: openssl rand -hex 32

    • MOCK_MODE — モックデータをすぐに提供する場合は true(実際の Siebel インスタンスがまだ準備できていない間は推奨)、下記に実際の Siebel 資格情報を入力する準備ができている場合は false

    • SIEBEL_BASE_URL / SIEBEL_USERNAME / SIEBEL_PASSWORDMOCK_MODE=false の場合のみ必須。モックモードで開始する場合は空白のままにします

  5. Deploy Blueprint をクリックします。Render は https://<your-service>.onrender.com を割り当てます。

後でこれらを変更する場合(例: 実際の Siebel インスタンスの準備ができたら MOCK_MODE を切り替える): サービス(Blueprint ではなく)を開き、Environment タブで値を編集し、Save Changes をクリックすると再デプロイがトリガーされます。

デプロイされたゲートウェイに MCP クライアントを向ける

  • URL: https://<your-service>.onrender.com/mcp

  • トランスポート: ストリーミング可能な HTTP

  • 認証: OAuth ではなく静的なベアラートークン/API キー。ヘッダーを Authorization: Bearer <MCP_GATEWAY_TOKEN> に設定します(上記ステップ 4 と同じ値)。クライアントの認証 UI がヘッダー名と生の値を別々に要求する場合(1 つの結合ヘッダーではなく)、ヘッダー名は Authorization、値は Bearer <token>(「Bearer」という単語を含む)です。401 が返る場合は、生のトークンだけを渡してみてください。一部のクライアントは Bearer プレフィックスを自分で追加するためです。

実際にデプロイした際の注意点

  • モックストアはインメモリのみです。 セッション中に作成・更新・削除されたものは、そのサーバープロセスが稼働している間だけ保持されます。再デプロイ、または Render の無料ティアインスタンスが約 15 分のアイドル後にスピンダウンし、次のリクエストでコールドスタートすると、元のシードデータにリセットされます。これはモックモードの想定された動作であり、バグではありません。

  • mcp Python SDK のクライアント側トランスポート依存関係は httpx2 であり、通常の httpx ではありません。これは、このゲートウェイに対して SDK の streamable_http_client ヘルパーを使用して独自の MCP クライアントを書く場合にのみ関係します。高レベルなクライアントアプリではなく、http_client= 引数には通常の httpx.AsyncClient ではなく httpx2.AsyncClient が期待されます。

本番切り替えチェックリスト

実際の Siebel インスタンスが起動したら:

  • SIEBEL_BASE_URL を実際のインスタンスに設定(末尾スラッシュなし)。例: https://<siebel-host>/siebel/v1.0

  • SIEBEL_USERNAME / SIEBEL_PASSWORD を設定

  • インスタンスがまだ自己署名証明書を使用している場合のみ SIEBEL_VERIFY_TLS=false に設定。実際の証明書を取得したら true に戻す

  • MOCK_MODE=false に設定

  • 再デプロイし、実際のエージェントトラフィックを向ける前に siebel_list_objectssearch_facilities でスモークテストを実行

ツール

汎用(任意のビジネスコンポーネントで動作: ContactEmployeeMedical FacilityAppointment SlotReferral RequestCommitment FormTreatment History):

ツール

目的

siebel_query

レコードの一覧/検索: searchspecfieldspage_sizestart_row

siebel_get

row_id で 1 件のレコードを取得

siebel_create

fields ディクショナリからレコードを作成

siebel_update

row_id でレコードの fields を更新

siebel_delete

row_id でレコードを削除

siebel_list_objects

アカウントが公開しているビジネスコンポーネントを一覧表示

便利なラッパー。一般的なデモの要求に対してより薄い表面:

ツール

目的

search_facilities

専門コードおよび/または正確な市区町村で検索

search_contacts

姓のプレフィックスで検索

create_referral

患者 + 医師 + 専門 + 緊急度; ステージコード = COMMUNITY_SEARCH から開始

ここに組み込まれている Siebel REST API の前提に関する注記

  • 認証は、すべての外部呼び出しで HTTP Basic です(このゲートウェイ自体の受信 MCP リクエストに対するベアラートークンチェックとは別です。2 つの異なる認証レイヤーであり、混同しないでください)。

  • URL 構文は {BASE}/data/{BusinessObject}/{BusinessComponent} です。BO と BC はここでは常に同じ名前ではありません。例: Referral RequestPatient Referral BO の子 BC、Appointment SlotAppointment Management の子 BC です。ツールは BC 名を受け取り、クライアントが内部で正しい BO を検索します。パスセグメントは URL エンコードされるため、複数単語の名前も機能します。

  • リスト応答は {"items": [...]} として届きます。各レコードの "links" 配列は、トークンを節約するためにモデルに返す前に削除されます。

  • 2xx 以外の応答は、HTTP ステータスコードと Siebel 自身のメッセージテキストとして表面化されます。401 には「Siebel 資格情報を確認してください」という明確なプレフィックスが付きます。外部呼び出しは 30 秒でタイムアウトします。

  • いくつかのフィールドは計算され、保存されません(Age、Days Waiting、Visits Remaining、Is Expired、Entry Gap Days、および Facility/Doctor/Patient 結合フィールド)。これらは読み取りのたびに新たに導出され、実際のビジネスコンポーネントの計算フィールド/結合フィールドとしての動作(物理的な列ではなく)と一致します。

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Salesforce that exposes CLI, REST, Connect, Data 360, Bulk 2.0, and Einstein Models APIs as tools for any MCP-compatible client to manage orgs, data, and metadata.
    Apache 2.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    A generic MCP gateway that exposes any HTTP-based SQL portal as LLM-friendly MCP tools and standard REST endpoints, serving both human users and AI agents simultaneously.
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Siebel CRM with HTTP/SSE transport, enabling secure access to Siebel data and operations like accounts, contacts, opportunities, and queries. Designed to be deployed on Phala Cloud TEE for credential protection.

View all related MCP servers

Related MCP Connectors

  • AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for AI access to Swagger by SmartBear.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yanivshoval0104/siebel-mcp-gateway'

If you have feedback or need assistance with the MCP directory API, please join our Discord server