Skip to main content
Glama
wudaoyou

successfactors-mcp

by wudaoyou

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SF_HOSTYesSuccessFactors host, e.g. example.invalid.
SF_USER_IDYesTechnical user; must equal the certificate's CN.
RESULTS_DIRNoWhere MCP tools and scripts write payload files../results
SF_TOKEN_URLYeshttps://{SF_HOST}/oauth/token.
SF_CLIENT_KEYYesOAuth2 client API key from SF Admin Center.
SF_COMPANY_IDYesDefault tenant/company ID.
REQUEST_TIMEOUTNoHTTP timeout in seconds.30
TENANT_KEYS_DIRNoWhere per-tenant key+cert pairs are stored../tenants
SF_ALLOWED_HOSTSNoJSON list of extra hosts allowed for per-request connection overrides.
SF_ODATA_VERSIONNoOData REST version.v2
SF_PRIVATE_KEY_PEMNoBase64-encoded PEM of the RSA private key (single-tenant fallback).
SF_PRIVATE_KEY_PATHNoPath template with {company_id} placeholder to the RSA private key PEM file.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_tenantsA

List the SuccessFactors instances this server can reach.

Call this first: the company_id values it returns are what the other tools take as their company_id argument. An empty company_id always means the instance configured in the server's own .env, reported here as "default".

odata_metadataA

Fetch OData $metadata (EDMX) and reduce it to a compact field map.

entity="" pulls the whole service metadata (large — hundreds of entity types); entity="EmpJob" pulls just that entity set. The full {entity: {field: attributes}} map is written to a JSON file, and a small map is returned inline as well, so two instances can be compared without ever loading raw EDMX into the conversation.

compare_metadataA

Compare the OData configuration of two instances and return the drift.

entity="EmpJob" compares one entity set; entity="" compares the whole service. The comparison runs here, not in the conversation: one instance's EmpJob metadata alone is ~40 KB, so diffing two of them in context is both expensive and easy to get wrong.

Returns in_sync plus, per entity, the fields missing on either side and the fields whose attributes differ, each as [value_in_a, value_in_b]. The sap: attributes are the configuration itself — required, visible, upsertable, picklist, MaxLength — so a changed picklist or a field that never left the dev instance shows up here.

odata_queryA

Run an OData v2 query, following __next until exhausted or max_pages.

path is the entity set and may carry query options, e.g. "FOCompany" or "EmpJob?$select=userId,jobCode". Effective-dated entities (EmpJob, Position, FO*, MDF) return ONLY today's time slice unless you pass fromDate=1900-01-01 and toDate=9999-12-31 in params.

Records are written to a JSON file; the tool returns counts, the field names of the first record, and the path. preview>0 additionally returns that many records inline — this may be HR data, so ask for it only when the values themselves are needed.

ce_queryA

Query the EC Compound Employee (SOAP) API and save the payload to disk.

person_id_external / user_id are comma-separated and take precedence over every other filter when set. last_modified_on is an ISO datetime for a delta pull (SAP allows at most 3 months of look-back). With no filter at all this is a full extract, capped by max_pages.

select_segments defaults to the widely supported COMMON_SEGMENTS. If SF answers INVALID_SFQL naming a segment, that module is not enabled on the tenant — pass a narrower list.

Each queryMore page is written as its own XML file. The tool returns counts and paths only: one employee's payload is ~80 KB of HR data.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct concern: tenant discovery, SOAP extract, OData query, metadata fetch, and metadata comparison. There is no functional overlap, and the descriptions make the boundaries clear.

Naming Consistency4/5

Names are all lowercase snake_case and descriptive, but the pattern is mixed: list_tenants and compare_metadata are verb-first, while ce_query, odata_metadata, and odata_query are object-first. Minor deviation from a uniform verb_noun style.

Tool Count5/5

Five tools is well-scoped for the server's read-only SuccessFactors integration purpose. Each tool earns its place and there is no bloat or thinness.

Completeness5/5

The toolset covers the full read-only lifecycle: discover instances, extract employee data, query OData, fetch metadata, and compare metadata between environments. No obvious dead ends or missing operations for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues