successfactors-mcp-prototype
SAP SuccessFactors Multi-Agent MCP-Prototyp
Demonstration mit synthetischen SuccessFactors-ähnlichen Daten. Dies ist ein schreibgeschützter Bildungsprototyp, kein SAP-SuccessFactors-System und nicht produktionsreif.
Die Anwendung beantwortet autorisierte HR-Fragen über eine schmale MCP-Tool-Grenze. Der Mock-Modus erfordert keine SAP- oder OpenAI-Anmeldeinformationen. Der Demo-Modus fügt optionale OpenAI-Agents-SDK-Orchestrierung hinzu; der echte Modus ist einem explizit konfigurierten Nicht-Produktions-SuccessFactors-Mandanten vorbehalten.
Funktionen
Elf typisierte, schreibgeschützte MCP-Tools; keine willkürliche HTTP-, OData- oder Schreiboberfläche.
Vier synthetische Identitäten mit serverseitigen Rollen und Bevölkerungsbereichen.
Explizite Entitäts- und Feld-Allowlists sowie Deny-by-Default-Antwortbereinigung.
Zehn fiktive Mitarbeiter, zwölf Positionen, Stammdatenobjekte, effektiv datierte Historie, Vakanzen und absichtliche Datenqualitätsprobleme.
Strukturiertes SQLite-Auditprotokoll ohne vollständige HR-Payloads oder Geheimnisse.
FastAPI-Chat-/Audit-API und Streamlit-Oberfläche mit Beweisfokus.
Deterministischer Mock-Chat funktioniert ohne API-Schlüssel.
Related MCP server: HRIS MCP Connector
Windows-Einrichtung (primärer Pfad)
cd .\successfactors-mcp-prototype
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\scripts\setup_windows.ps1Alle Dienste ausführen:
.\scripts\run_all_windows.ps1Oder drei Terminals verwenden:
.\scripts\run_mcp_windows.ps1
.\scripts\run_backend_windows.ps1
.\scripts\run_ui_windows.ps1run_ui_windows.ps1 startet FastAPI im Hintergrund automatisch, wenn das Backend nicht bereits läuft, sodass es auch als einfachster Ein-Befehl-Mock-UI-Starter verwendet werden kann.
OpenAPI: http://127.0.0.1:8000/docs
Unix und VS Code
Führen Sie bash scripts/setup_unix.sh aus, dann bash scripts/run_all_unix.sh. Wählen Sie in VS Code .venv als Python-Interpreter und öffnen Sie bei Bedarf drei Terminals.
Konfiguration und Modi
Kopieren Sie .env.example in .env; Platzhalter enthalten keine Geheimnisse.
APP_MODE=mock: synthetischer Provider und deterministischer Chat; keine externen Anmeldeinformationen.APP_MODE=demo: synthetischer Provider mit Live-Agents-SDK-Orchestrierung; erfordertOPENAI_API_KEYundMCP_INTERNAL_TOKEN.APP_MODE=real: nur konfigurierter Testmandant. Fehlende Einstellungen führen zu Startfehlern; es gibt keinen Mock-Fallback.
OPENAI_MODEL zentralisiert die Modellauswahl. Abhängigkeitsbereiche zielen auf Python 3.11 und aktuelle kompatible Hauptversionen ab, während nicht überprüfte Hauptupgrades vermieden werden.
Live-Agents-SDK-Demo
Kopieren Sie .env.example in .env und setzen Sie dann diese Werte:
APP_MODE=demo
OPENAI_MODEL=gpt-5.4-mini
OPENAI_API_KEY=your-key-from-a-secret-store
MCP_INTERNAL_TOKEN=a-long-random-local-secretCommitten Sie .env nicht. run_ui_windows.ps1 startet jetzt den MCP-Server und FastAPI bei Bedarf.
Die Anwendung übergibt Benutzer-, Sitzungs- und Korrelationsidentität an MCP über geschützte HTTP-Header;
diese Felder fehlen in modellaufrufbaren Tool-Schemata. Spezialisten erhalten fest codierte
Tool-Allowlists. Die UI-Trace zeichnet nur Agent-/Tool-Lebenszyklusnamen auf, nicht Prompts, Argumente,
Ergebnisse oder private Überlegungen.
Kostenkontrollen sind mit DEMO_MAX_TURNS, DEMO_MAX_OUTPUT_TOKENS und
DEMO_DAILY_TOKEN_BUDGET konfiguriert. Setzen Sie OPENAI_INPUT_COST_PER_1M und
OPENAI_OUTPUT_COST_PER_1M auf die aktuellen Tarife für das gewählte Modell, um eine lokale Schätzung anzuzeigen.
OpenAI-Tracing ist standardmäßig deaktiviert und, wenn aktiviert, bleiben sensible Trace-Inhalte deaktiviert.
Die normale Suite ruft OpenAI nie auf. Um den einzelnen opt-in Live-Delegations-Smoke-Test auszuführen, nachdem alle drei Dienste im Demo-Modus laufen:
$env:RUN_LIVE_AGENT_TESTS="true"
.\.venv\Scripts\python.exe -m pytest -m live -qDieser Test macht eine echte API-Anfrage und verursacht daher Modellnutzung.
Verifizierung
python -m ruff format --check .
python -m ruff check .
python -m mypy src
python -m pytestEinrichtung der echten Test-Mandanten-Authentifizierung
Registrieren Sie einen OAuth-Client im SuccessFactors-API-Center.
Erstellen Sie einen dedizierten API-Benutzer.
Weisen Sie die minimal erforderlichen RBP-Abfrageberechtigungen zu.
Begrenzen Sie die Zielpopulation.
Gewähren Sie Abfragezugriff nur auf genehmigte Entitäten und Felder.
Speichern Sie OAuth-Material außerhalb der Quellcodeverwaltung.
Validieren Sie den mandantenspezifischen signierten OAuth-Flow gegen einen Nicht-Produktionsmandanten.
Verifizieren Sie sowohl erlaubte als auch verweigerte Mitarbeiterszenarien.
Die Basisauthentifizierung wird nicht unterstützt. Die enthaltene echte Token-Provider-Schnittstelle schlägt absichtlich fehl, bis der mandantenspezifische SAP-dokumentierte Flow implementiert und validiert ist.
Docker
Nachdem Sie .env.example in .env kopiert haben, führen Sie docker compose up --build aus. Docker ist optional und die Compose-Datei ist nur für die Entwicklung gedacht, nicht produktionsgehärtet.
Fehlerbehebung und Einschränkungen
Wenn die UI meldet, dass das Backend nicht verfügbar ist, starten Sie zuerst FastAPI.
Wenn die Portbindung fehlschlägt, stoppen Sie den Prozess, der 8000, 8001 oder 8501 verwendet.
Der Prototyp-Benutzerauswahl ist keine Produktionsauthentifizierung.
SQLite ist nicht für horizontal skalierte Produktions-Audit-Speicherung gedacht.
Echte OAuth-, Mandantenmetadaten-Eigenheiten und RBP-Verhalten erfordern Mandantenvalidierung.
Mock-Routing unterstützt absichtlich die bereitgestellten Demonstrationsfragemuster; es ist keine allgemeine natürliche Sprach-Engine.
Zukünftige Schreibvorgänge erfordern eine separate genehmigte Architektur und sind nicht vorhanden, auch nicht als Platzhalter.
Für den detaillierten Ablauf und die Vertrauensgrenzen siehe ARCHITECTURE.md; für Kontrollen und Risiken siehe SECURITY.md.
Die genauen synthetischen Datensätze und der Szenarioleitfaden sind in TEST_DATA.md beschrieben und unter test_data/ exportiert.
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
- FlicenseNot gradedqualityDmaintenanceMCP server that enables querying an HR FAQ document via RAG, returning accurate answers and related chunks, and supports index rebuilding and response evaluation.
- FlicenseNot gradedqualityBmaintenanceEnables querying HR data like recent hires, employee details, departments, and PTO balances through natural language in an MCP client.
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server that proxies deepHR's API to MCP clients, enabling interaction with deepHR modules such as payroll and employees through natural language.
- FlicenseNot gradedqualityCmaintenanceExposes SAP SuccessFactors HR data as MCP tools for AI agents, enabling natural language queries about employees, jobs, performance, and organizational structure.
Related MCP Connectors
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Official Microsoft MCP Server to query Microsoft Entra data using natural language
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/Vidushibot/successfactors-mcp-prototype'
If you have feedback or need assistance with the MCP directory API, please join our Discord server