MCP server: One MCP server.

SAP SuccessFactors

@wudaoyouMCP server · External

SAP SuccessFactors OData and Compound Employee queries with PII tokenization for AI agents.

Self-hosting & homelabv0.6.0Apache-2.0Python
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

Dockerdocker.io/wudaoyou/successfactors-toolkit:v0.6.0

Run

docker run -i --rm docker.io/wudaoyou/successfactors-toolkit:v0.6.0

MCP client config

{
  "mcpServers": {
    "sap-successfactors": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "docker.io/wudaoyou/successfactors-toolkit:v0.6.0"
      ]
    }
  }
}
README3 min read

SuccessFactors Toolkit

CI License Python

A self-hosted toolkit for SAP SuccessFactors API troubleshooting, payload extraction, and integration development, exposed as a REST API and as an MCP (Model Context Protocol) server.

APIProtocolEndpoint prefix
EC SFAPI — Compound EmployeeSOAP 1.1/api/sfapi/ce/
ODataREST (v2, v4)/api/odata/

OData v4 covers the SuccessFactors APIs published as v4 services (for example Calibration and Continuous Feedback); Employee Central and Onboarding data stay on v2. See OData API.

This is an independent project, not affiliated with or endorsed by SAP SE. SAP and SuccessFactors are trademarks of SAP SE.

Start here: Docker MCP → credentials → ask → export

Data security: prefer local deployment. For sensitive SuccessFactors employee data and credentials, we recommend running the MCP server in local Docker and using a local AI agent, rather than an online AI platform or a third-party hosted MCP service. Keep credentials and exports on your machine; do not upload private keys or employee payloads to online platforms.

A local AI agent is not necessarily a local model. If it calls a cloud model, prompts, tool responses, previews, and file contents supplied to that model may leave your machine. If HR data must stay within your controlled environment, use a locally hosted model and local file-processing tools, and check the agent's outbound data handling. Local Docker alone does not guarantee this. The toolkit still connects to your configured SuccessFactors tenant to query data.

For functional consultants and business key users, start with the business user guide or its English/Chinese HTML edition. Ask IT to complete the one-time Docker Compose setup and provide approved connection files. Then:

  1. Check Docker Desktop or your IT-managed Docker service is running, then open your local AI application.
  2. Confirm with IT that the connection files are in sf-toolkit/credentials/systems, one folder per SuccessFactors system.
  3. Confirm which SuccessFactors system to use and ask for the employee, date, and information you need.
  4. Find results under sf-toolkit/data/mcp. Ask a file-capable AI application for CSV or another supported format, or a copy in an authorized folder.

The guide includes example business questions, completion checks, troubleshooting, and expandable one-time settings for your administrator. Original OData results are JSON; Compound Employee results are XML. CSV conversion requires local file tools in the AI application.

Documentation

PageCovers
REST APIFail-closed setup, install and run, cheat sheet, response format
Connect to SuccessFactorsKey pair generation, system files (SYSTEMS_DIR/<name>/<name>.json), environment variables, system management
EC SFAPI (SOAP)Compound Employee single lookup, structured filter query, pagination, known footguns
OData APIexecute / extract / extract-by-filter-in, OData v4 services, per-request connection override, known API footguns
MCP serverTools for AI agents, payload handling, export formats, PII tokenization, plugins
DevelopmentLocal dev setup, linting, tests, release process

Data handling

Use synthetic examples and test fixtures. Credentials, certificates, tenant exports, employee payloads, and generated results do not belong in Git — .gitignore and scripts/check_repository.py are a basic guardrail, not a complete secret or personal-data scanner. See SECURITY.md for deployment guidance and how to report a vulnerability.

License

Apache License 2.0. Copyright 2026 Justin Gong. See NOTICE for third-party and migrated-code attribution.

Similar modules

Browse Self-hosting & homelab