<h1 align="center">SuccessFactors-MCP</h1>
<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:
<details>
<summary><strong>Configuration & Discovery</strong> (3 tools)</summary>
| 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 |
</details>
<details>
<summary><strong>RBP Security</strong> (7 tools)</summary>
| 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) |
</details>
<details>
<summary><strong>RBP Audit</strong> (2 tools)</summary>
| Tool |
Description |
get_role_history |
View modification history for roles |
get_role_assignment_history |
View history of role assignments |
</details>
<details>
<summary><strong>Data Query</strong> (2 tools)</summary>
| Tool |
Description |
query_odata |
Flexible OData queries with filtering, pagination |
get_picklist_values |
Get dropdown/picklist options |
</details>
<details>
<summary><strong>Employee Lookup</strong> (4 tools)</summary>
| 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 |
</details>
<details>
<summary><strong>Time Off</strong> (3 tools)</summary>
| 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 |
</details>
<details>
<summary><strong>Hiring & Onboarding</strong> (3 tools)</summary>
| 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 |
</details>
<details>
<summary><strong>Compliance & Reporting</strong> (3 tools)</summary>
| Tool |
Description |
get_terminations |
Terminated employees for exit processing |
get_employees_missing_data |
Incomplete profiles for compliance aud |