SuccessFactors-MCP
<strong>SAP SuccessFactors Model Context Protocol Server</strong>
Installation ·
Quick Start ·
43 Tools ·
Deployment ·
API Reference
A production-grade Model Context Protocol server that connects Claude (or any MCP client) to SAP SuccessFactors via OData APIs. Query employee data, manage permissions, run compliance reports, and administer HR operations — all through natural language.
You: "Who on the Engineering team has a work anniversary this month?"
Claude: [calls get_anniversary_employees] Found 3 upcoming anniversaries...
- Jane Smith (5 years - milestone!) - March 12
- Bob Johnson (2 years) - March 18
- Alice Chen (10 years - milestone!) - March 25
Why SF-MCP?
| Challenge |
SF-MCP Solution |
| SAP SuccessFactors APIs are complex and verbose |
43 purpose-built tools with clean interfaces |
| Building OData queries requires deep SF knowledge |
Natural language — ask Claude in plain English |
| Security concerns with API access |
Per-request auth, input validation, audit logging |
| Managing multiple SF instances |
21 data centers supported, cross-instance comparison |
| API rate limits and performance |
Connection pooling, response caching, rate limiting |
Tools
43 tools organized across 13 categories:
Configuration & Discovery (3 tools)
| Tool |
Description |
get_configuration |
Retrieve OData metadata for any entity |
list_entities |
Discover all available OData entities |
compare_configurations |
Compare entity config between two instances |
RBP Security (7 tools)
| Tool |
Description |
get_rbp_roles |
List all Role-Based Permission roles |
get_role_permissions |
Get permissions for specific roles |
get_user_permissions |
Get all permissions for a user |
get_user_roles |
Get roles assigned to a user |
get_permission_metadata |
Map UI labels to permission types |
check_user_permission |
Check if user has specific permission |
get_dynamic_groups |
List permission groups (dynamic groups) |
RBP Audit (2 tools)
| Tool |
Description |
get_role_history |
View modification history for roles |
get_role_assignment_history |
View history of role assignments |
Data Query (2 tools)
| Tool |
Description |
query_odata |
Flexible OData queries with filtering, pagination |
get_picklist_values |
Get dropdown/picklist options |
Employee Lookup (4 tools)
| Tool |
Description |
get_employee_profile |
Complete profile with job info, manager, optional compensation |
search_employees |
Find by name, department, location, or manager |
get_employee_history |
Job history — promotions, transfers, title changes |
get_team_roster |
Manager's team with direct/indirect reports |
Time Off (3 tools)
| Tool |
Description |
get_time_off_balances |
Vacation, PTO, sick leave balances |
get_upcoming_time_off |
Team absence calendar for a date range |
get_time_off_requests |
Pending/approved time-off requests |
Hiring & Onboarding (3 tools)
| Tool |
Description |
get_open_requisitions |
Job requisitions with status and hiring manager |
get_candidate_pipeline |
Candidates by stage for a requisition |
get_new_hires |
Recent/upcoming hires for onboarding |
Compliance & Reporting (3 tools)
| Tool |
Description |
get_terminations |
Terminated employees for exit processing |
get_employees_missing_data |
Incomplete profiles for compliance aud |
Environment Variables
SF_API_URLrequiredThe base URL for the SAP SuccessFactors OData API
SF_API_KEYrequiredAuthentication key for API access
Try it
→Who on the Engineering team has a work anniversary this month?
→List all the permissions currently assigned to the HR Admin role.
→Find the employee profile for John Doe and show his current manager.
→Show me the team roster for the VP of Product.
→Check if the user with ID 12345 has permission to access compensation data.