successfactors-mcp-prototype
SAP SuccessFactors Multi-Agent MCP Prototype
Demostración con datos sintéticos de estilo SuccessFactors. Este es un prototipo educativo de solo lectura, no un sistema SAP SuccessFactors y no está listo para producción.
La aplicación responde a preguntas de RR. HH. autorizadas a través de un límite estrecho de herramientas MCP. El modo mock no requiere credenciales de SAP ni de OpenAI. El modo demo añade orquestación opcional con OpenAI Agents SDK; el modo real está reservado para un tenant de SuccessFactors de no producción explícitamente configurado.
Características
Once herramientas MCP tipadas y de solo lectura; sin superficie arbitraria de HTTP, OData o escritura.
Cuatro identidades sintéticas con roles del lado del servidor y ámbitos de población.
Listas de permitidos explícitas de entidades y campos, además de saneamiento de respuestas con denegación por defecto.
Diez empleados ficticios, doce puestos, objetos de base, historial con fechas de vigencia, vacantes y problemas intencionados de calidad de datos.
Registro de auditoría estructurado en SQLite sin cargas útiles completas de RR. HH. ni secretos.
API de chat/auditoría FastAPI e interfaz Streamlit centrada en la evidencia.
El chat mock determinista funciona sin clave de API.
Related MCP server: HRIS MCP Connector
Configuración en Windows (ruta principal)
cd .\successfactors-mcp-prototype
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\scripts\setup_windows.ps1Ejecute todos los servicios:
.\scripts\run_all_windows.ps1O use tres terminales:
.\scripts\run_mcp_windows.ps1
.\scripts\run_backend_windows.ps1
.\scripts\run_ui_windows.ps1run_ui_windows.ps1 inicia FastAPI en segundo plano automáticamente cuando el backend no está ya en ejecución, por lo que también puede usarse como el lanzador mock de interfaz más sencillo con un solo comando.
Interfaz: http://127.0.0.1:8501
OpenAPI: http://127.0.0.1:8000/docs
Unix y VS Code
Ejecute bash scripts/setup_unix.sh y, a continuación, bash scripts/run_all_unix.sh. En VS Code seleccione .venv como intérprete de Python y abra tres terminales si lo prefiere.
Configuración y modos
Copie .env.example a .env; los marcadores de posición no contienen secretos.
APP_MODE=mock: proveedor sintético y chat determinista; sin credenciales externas.APP_MODE=demo: proveedor sintético con orquestación en vivo de Agents SDK; requiereOPENAI_API_KEYyMCP_INTERNAL_TOKEN.APP_MODE=real: solo tenant de prueba configurado. La falta de ajustes provoca un fallo al iniciar; no hay respaldo mock.
OPENAI_MODEL centraliza la selección del modelo. Los rangos de dependencias apuntan a Python 3.11 y a las versiones principales compatibles actuales, evitando actualizaciones principales no revisadas.
Demo en vivo de Agents SDK
Copie .env.example a .env y, a continuación, establezca estos valores:
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-secretNo confirme .env en el repositorio. run_ui_windows.ps1 inicia ahora el servidor MCP y FastAPI cuando es necesario.
La aplicación transmite la identidad de usuario, sesión y correlación a MCP a través de cabeceras HTTP protegidas;
esos campos no aparecen en los esquemas de herramientas invocables por el modelo. Los especialistas reciben listas
de permitidos de herramientas codificadas. El rastro de la interfaz registra únicamente los nombres del ciclo de
vida de agentes/herramientas, no las indicaciones, argumentos, resultados ni razonamientos privados.
Los controles de coste se configuran con DEMO_MAX_TURNS, DEMO_MAX_OUTPUT_TOKENS y
DEMO_DAILY_TOKEN_BUDGET. Establezca OPENAI_INPUT_COST_PER_1M y
OPENAI_OUTPUT_COST_PER_1M a las tarifas actuales del modelo elegido para mostrar una estimación local.
El rastreo de OpenAI está desactivado por defecto y, cuando se activa, el contenido sensible del rastro permanece desactivado.
La suite normal nunca llama a OpenAI. Para ejecutar la única prueba de humo de delegación en vivo opcional después de que los tres servicios estén en ejecución en modo demo:
$env:RUN_LIVE_AGENT_TESTS="true"
.\.venv\Scripts\python.exe -m pytest -m live -qEsta prueba realiza una solicitud real a la API y, por tanto, incurre en uso del modelo.
Verificación
python -m ruff format --check .
python -m ruff check .
python -m mypy src
python -m pytestConfiguración de autenticación real del tenant de prueba
Registre un cliente OAuth en SuccessFactors API Center.
Cree un usuario de API dedicado.
Asigne los permisos de consulta RBP mínimos requeridos.
Limite la población objetivo.
Conceda acceso de consulta solo a entidades y campos aprobados.
Almacene el material OAuth fuera del control de código fuente.
Valide el flujo OAuth firmado específico del tenant contra un tenant de no producción.
Verifique tanto los escenarios de empleados permitidos como los denegados.
La autenticación básica no es compatible. La interfaz incluida del proveedor de tokens real falla intencionadamente hasta que se implemente y valide el flujo documentado por SAP específico del tenant.
Docker
Después de copiar .env.example a .env, ejecute docker compose up --build. Docker es opcional y el archivo compose es solo para desarrollo, no está endurecido para producción.
Solución de problemas y limitaciones
Si la interfaz informa de que el backend no está disponible, inicie FastAPI primero.
Si falla el enlace de puerto, detenga el proceso que usa 8000, 8001 o 8501.
El selector de usuario del prototipo no es autenticación de producción.
SQLite no está pensado para almacenamiento de auditoría de producción con escalado horizontal.
El OAuth real, las peculiaridades de los metadatos del tenant y el comportamiento de RBP requieren validación del tenant.
El enrutamiento mock admite deliberadamente los patrones de preguntas de demostración proporcionados; no es un motor general de lenguaje natural.
Las escrituras futuras requieren una arquitectura aprobada por separado y no están presentes, ni siquiera como marcadores de posición.
Para el flujo detallado y los límites de confianza, consulte ARCHITECTURE.md; para controles y riesgos, consulte SECURITY.md.
Los registros sintéticos exactos y la guía de escenarios se describen en TEST_DATA.md y se exportan en test_data/.
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