siebel-mcp-gateway
Siebel MCP Gateway
Stellt die Oracle Siebel REST API als MCP-Tools über streamable HTTP bereit, sodass ein agentischer Client Siebel-Datensätze abfragen/erstellen/aktualisieren/löschen und den Objektkatalog abrufen kann, ohne selbst Siebel-Anmeldeinformationen zu besitzen.
Der Mock-Modus modelliert ein synthetisches Demo-Schema für Gesundheitsüberweisungen (Patient → Gemeinschafts-/Krankenhausüberweisung → Form-17-Verpflichtung → Behandlungsverlauf), das dazu gebaut ist, eine Reihe dokumentierter, bewusster Datenqualitätsbefunde getreu zu tragen, anstatt sie zu glätten – doppelte Patientendatensätze über zwei Organisationen, ein Statusfeld, das tatsächlich Dringlichkeit enthält, ein Skript, das die angegebenen Grenzen eines Workflows stillschweigend überschreibt, zwei „visits remaining“-Felder, die auseinanderdriften. Alle Daten sind synthetisch.
Stack
Python 3.12+, das offizielle mcp SDK (MCPServer, der aktuelle Name für das, was in älteren SDK-Versionen FastMCP hieß), httpx für ausgehende Siebel-Aufrufe, uvicorn als ASGI-Server.
Related MCP server: MuleSoft Code MCP
Local run
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 8000Health-Check: curl http://localhost:8000/healthz → {"status":"ok"} (keine Authentifizierung erforderlich, damit Plattform-Health-Checker funktionieren).
MCP-Endpunkt: http://localhost:8000/mcp – jede Anfrage benötigt Authorization: Bearer <MCP_GATEWAY_TOKEN>, da der Endpunkt selbst keine andere Zugriffskontrolle hat, sobald er öffentlich bereitgestellt wird.
Tests
python3 -m pytest -vAlle Tests laufen gegen den In-Memory-Mock-Store oder einen gemockten HTTP-Transport – keine Netzwerkaufrufe, keine Live-Siebel-Instanz erforderlich.
Deploying to Render
Pushen Sie dieses Repo auf GitHub.
Gewähren Sie Render zuerst Zugriff auf das Repo, falls es noch nicht verbunden ist. Die GitHub-App von Render sieht nur Repos, denen sie explizit Zugriff gewährt hat – ein brandneues Repo erscheint nicht einfach deshalb in Render's Repo-Auswahl, weil Sie es besitzen. Gehen Sie zu github.com/settings/installations → finden Sie Render → Configure → wechseln Sie entweder zu „All repositories“ oder fügen Sie dieses Repo zur erlaubten Liste hinzu → Speichern. Erst dann erscheint es wieder im Verbindungsbildschirm von Render.
Im Render-Dashboard: New → Blueprint (nicht „Web Service“ – dieses Repo hat eine
render.yaml, und Blueprint ist das, was sie liest). Verbinden Sie das Repo, bestätigen Sie den Branchmainund den Standardpfadrender.yaml.Render zeigt ein Formular für jede Umgebungsvariable, die in
render.yamlmitsync: falsemarkiert ist – füllen Sie diese vor dem Bereitstellen aus:MCP_GATEWAY_TOKEN– generieren Sie einen, z.B.openssl rand -hex 32MOCK_MODE–true, um sofort mit der Bereitstellung von Mock-Daten zu beginnen (empfohlen, solange die echte Siebel-Instanz noch nicht bereit ist),false, wenn Sie bereits echte Siebel-Anmeldeinformationen haben, die Sie unten eingeben möchtenSIEBEL_BASE_URL/SIEBEL_USERNAME/SIEBEL_PASSWORD– nur erforderlich, wennMOCK_MODE=false; lassen Sie sie leer, wenn Sie im Mock-Modus starten
Klicken Sie auf Deploy Blueprint. Render weist
https://<your-service>.onrender.comzu.
Um eine dieser Einstellungen später zu ändern (z.B. MOCK_MODE umschalten, sobald die echte Siebel-Instanz bereit ist): Öffnen Sie den Dienst (nicht den Blueprint) → Tab Environment → Wert bearbeiten → Save Changes, was ein erneutes Bereitstellen auslöst.
Pointing your MCP client at the deployed gateway
URL:
https://<your-service>.onrender.com/mcpTransport: streamable HTTP
Auth: ein statisches Bearer-Token/API-Schlüssel, nicht OAuth – setzen Sie den Header auf
Authorization: Bearer <MCP_GATEWAY_TOKEN>(derselbe Wert wie in Schritt 4 oben). Wenn die Auth-Oberfläche Ihres Clients einen Header-Namen und einen rohen Wert getrennt erwartet statt eines kombinierten Headers, ist der Header-NameAuthorizationund der WertBearer <token>(einschließlich des Wortes „Bearer“) – falls das zu einem 401 führt, versuchen Sie, nur das rohe Token anzugeben, da einige Clients das PräfixBearerselbst hinzufügen.
Notes from actually deploying this
Der Mock-Store ist nur im Speicher. Alles, was während einer Sitzung erstellt/aktualisiert/gelöscht wird, bleibt nur so lange bestehen, wie der Serverprozess läuft. Ein erneutes Bereitstellen oder das Herunterfahren der Free-Tier-Instanz von Render nach ~15 Minuten Leerlauf und der Kaltstart bei der nächsten Anfrage setzt es auf die ursprünglichen Seed-Daten zurück. Das ist erwartetes Mock-Modus-Verhalten, kein Fehler.
Die clientseitige Transportabhängigkeit des
mcpPython SDK isthttpx2, nicht einfacheshttpx– nur relevant, wenn Sie Ihren eigenen MCP-Client gegen dieses Gateway schreiben und denstreamable_http_client-Helfer des SDK verwenden, anstatt eine höherwertige Client-App; er erwartet einhttpx2.AsyncClientfür das Argumenthttp_client=, nicht ein reguläreshttpx.AsyncClient.
Flip-to-live checklist
Setzen Sie
SIEBEL_BASE_URLauf die echte Instanz (ohne abschließenden Schrägstrich), z.B.https://<siebel-host>/siebel/v1.0Setzen Sie
SIEBEL_USERNAME/SIEBEL_PASSWORDSetzen Sie
SIEBEL_VERIFY_TLS=falsenur, wenn die Instanz noch ein selbstsigniertes Zertifikat verwendet – stellen Sie es auftruezurück, sobald sie ein echtes hatSetzen Sie
MOCK_MODE=falseStellen Sie erneut bereit und testen Sie dann mit
siebel_list_objectsundsearch_facilities, bevor Sie echten Agent-Traffic darauf richten
Tools
Generisch (funktionieren mit jeder Business Component: Contact, Employee, Medical Facility, Appointment Slot, Referral Request, Commitment Form, Treatment History):
Tool | Purpose |
| Datensätze auflisten/suchen: |
| Einen Datensatz per |
| Einen Datensatz aus einem |
| Die |
| Einen Datensatz per |
| Die Business Components auflisten, die das Konto bereitstellt |
Bequemlichkeits-Wrapper, schlankere Oberfläche für häufige Demo-Anfragen:
Tool | Purpose |
| Nach Fachgebietscode und/oder exakter Stadt |
| Nach Nachnamen-Präfix |
| Patient + Arzt + Fachgebiet + Dringlichkeit; beginnt bei Stage Code = COMMUNITY_SEARCH |
Notes on the Siebel REST API assumptions baked in here
Auth ist HTTP Basic bei jedem ausgehenden Aufruf (getrennt von der eigenen Bearer-Token-Prüfung dieses Gateways bei eingehenden MCP-Anfragen – zwei verschiedene Auth-Ebenen, nicht verwechseln).
Die URL-Grammatik ist
{BASE}/data/{BusinessObject}/{BusinessComponent}. BO und BC sind hier nicht immer gleich benannt – z.B. istReferral Requesteine untergeordnete BC unter dem BOPatient Referral,Appointment Slotist eine untergeordnete BC unterAppointment Management. Tools nehmen den BC-Namen; der Client sucht intern das richtige BO. Pfadsegmente sind URL-kodiert, sodass mehrteilige Namen funktionieren.Listenantworten kommen als
{"items": [...]}; das"links"-Array jedes Datensatzes wird vor der Rückgabe an das Modell entfernt, um Tokens zu sparen.Nicht-2xx-Antworten werden als HTTP-Statuscode plus Siebels eigener Meldungstext angezeigt; eine 401 erhält ein klares Präfix „Siebel-Anmeldeinformationen prüfen“. Ausgehende Aufrufe haben ein Timeout von 30s.
Mehrere Felder sind berechnet, nicht gespeichert (Age, Days Waiting, Visits Remaining, Is Expired, Entry Gap Days und die Facility/Doctor/Patient-Join-Felder) – sie werden bei jedem Lesen neu abgeleitet, entsprechend ihrem Verhalten als echte berechnete/Join-Felder der Business Component statt als physische Spalten.
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceMCP 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
- FlicenseNot gradedqualityCmaintenanceRemote MCP server for MuleSoft APIs that enables agents to discover operations and execute validated API calls with a fixed low-context tool surface.
- FlicenseNot gradedqualityBmaintenanceA 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.
- FlicenseNot gradedqualityDmaintenanceMCP 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.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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