Publikt API: Publik MCP

Ändrad den Ons, 7 jan. vid 10:48 F.M.

Simployer MCP Tools – Kundguide

Översikt

Simployer MCP-servern (Model Context Protocol) gör det möjligt för AI-assistenter och applikationer att säkert få åtkomst till dina HR-data via ett standardiserat gränssnitt. Oavsett om du bygger egna AI-lösningar eller integrerar med plattformar som Claude Desktop eller ChatGPT, ger dessa verktyg smidig åtkomst till medarbetarinformation, organisationsstrukturer, frånvarohantering, kompensationsdata och mer.


Vad är Model Context Protocol (MCP)?

Model Context Protocol (MCP) är ett öppet protokoll som gör det möjligt för AI-assistenter att säkert få åtkomst till externa datakällor och verktyg. MCP-servern fungerar som en brygga mellan AI-applikationer (som Claude, ChatGPT eller anpassade LLM-lösningar) och Simployer-API:et och tillhandahåller:

  • Standardiserat gränssnitt: Enhetlig API-åtkomst oavsett AI-plattform

  • Säker autentisering: JWT-baserad autentisering för alla anrop

  • Verktygsupptäckt: Automatisk upptäckt av tillgängliga funktioner

  • Strukturerade svar: Väldefinierade scheman för alla operationer


Viktiga fördelar

  • AI-redo: Fungerar sömlöst med Claude, ChatGPT och andra MCP-kompatibla AI-plattformar

  • Säker: JWT-baserad autentisering säkerställer att dina data förblir skyddade

  • Omfattande: Åtkomst till över 17 HR-datamoduler via ett gemensamt gränssnitt

  • Standardiserad: Följer det öppna MCP-protokollet för konsekvent integration


Snabbstart

Förutsättningar

  • Ett aktivt Simployer-konto

  • En JWT-åtkomsttoken (se Autentisering)

  • En MCP-kompatibel klient (Claude Desktop, anpassad applikation osv.)


Transportprotokoll

Simployer MCP-servern stöder två transportmetoder:

  • Streamable HTTP (Rekommenderad): Modernt tillståndslöst protokoll som använder POST /mcp

  • Server-Sent Events (SSE) (Äldre): För bakåtkompatibilitet med äldre MCP-klienter

    • Slutpunkter: /sse och /messages

    • Används endast om klienten kräver SSE




Autentisering

Alla anrop till Simployer MCP-servern kräver en giltig JWT (JSON Web Token) från ditt Simployer-konto.


Hämta token

  • Logga in på ditt Simployer-konto

  • Gå till Inställningar → Åtkomsttoken

  • Generera eller hämta din token

  • Kopiera token (du behöver den för konfiguration)


Använda token

Inkludera token i Authorization-headern för alla anrop:

Authorization: Bearer YOUR_JWT_TOKEN  


Säkerhetsrekommendationer

  • Förvara token säkert och lägg den aldrig i versionshantering

  • Rotera token regelbundet

  • Använd miljövariabler för att lagra token

  • Återkalla token omedelbart om den komprometteras


Tillgängliga moduler

Simployer MCP-servern ger åtkomst till följande HR-datamoduler:


Module

Tools Available

Primary Use Cases

Employee Management

8 tools

Employee lookup, analytics, updates

Leave Management

3 tools

Leave tracking, approval, analysis

Compensation

9 tools

Salary, bonus, and allowance management

Organizational Structure

6 tools

Departments, offices, teams, cost centers

Timesheet Management

5 tools

Time tracking, entry management

Project Management

3 tools

Project tracking and resource planning

Employment Management

6 tools

Employment records and types

Scope Management

7 tools

Feature access, policy scopes

Additional Modules

5 tools

Children, work weeks, leave transactions

Verktygsreferens


Medarbetarhantering


getAllEmployees

Hämtar en lista över medarbetare med valfri filtrering och paginering.


Parameter:

Parameter

Type

Required

Default

Description

limit

number

No

500

Maximum number of results to return

filters

object

No

-

Filter criteria (see below)


Available Filters:

Filter

Type

Description

active

boolean

Filter by employee's active status

title

string

Filter by employee's job title

division

string

Filter by employee's division

organization

string

Filter by employee's organization

employeeNumber

string

Filter by employee's number

firstName

string

Filter by employee's first name

lastName

string

Filter by employee's last name

nationality

string

Filter by employee's nationality

departmentId

string

Filter by department ID

officeId

string

Filter by office ID


Example Request:

{  "jsonrpc": "2.0",  "id": "1",  "method": "tools/call",  "params": {    "name": "getAllEmployees",    "arguments": {      "limit": 100,      "filters": {        "active": true,        "departmentId": "dept-123"      }    }  } } 


Vanliga användningsområden

”Visa alla aktiva medarbetare i Engineering-avdelningen”

”Lista medarbetare på New York-kontoret”

”Hitta medarbetare med titeln ’Senior Developer’”


getEmployeeById

Hämtar en specifik medarbetare baserat på deras unika ID.


Parametrar:

Parameter

Type

Required

Default

Description

employeeId

string

Yes

-

The unique identifier of the employee

Example Request:

{  "jsonrpc": "2.0",  "id": "2",  "method": "tools/call",  "params": {    "name": "getEmployeeById",    "arguments": {      "employeeId": "12345"    }  } } 


updateEmployee

Uppdaterar specifika fält för en medarbetare i Simployer-systemet.


Parametrar:

Parameter

Type

Required

Default

Description

employeeId

string

Yes

-

The unique identifier of the employee

data

object

Yes

-

Object containing fields to update


Updatable Fields:

Field

Type

Description

title

string

Employee's job title

departmentId

string

ID of the employee's department

division

string

Employee's division

organization

string

Employee's organization


Example Request:

{  "jsonrpc": "2.0",  "id": "3",  "method": "tools/call",  "params": {    "name": "updateEmployee",    "arguments": {      "employeeId": "12345",      "data": {        "title": "Senior Developer",        "division": "Engineering"      }    }  } } 


Ytterligare medarbetarverktyg

  • getEmployeeCountByDepartment – Räkna medarbetare per avdelning

  • getEmployeeCountByOffice – Räkna medarbetare per kontor

  • getEmployeeCountByDivision – Räkna medarbetare per division

  • calculateTurnover – Beräkna personalomsättning

  • getOffboardings – Lista avslutade medarbetare


Avdelningshantering

getAllDepartments

Hämtar alla avdelningar från Simployer-API:et med valfri filtrering.


Parametrar:

Parameter

Type

Required

Default

Description

limit

number

No

500

Maximum number of results to return

filters

object

No

-

Filter criteria (see below)


Available Filters:

Filter

Type

Description

name

string

Filter by department name

companyId

string

Filter by company ID


Example Request:

{  "jsonrpc": "2.0",  "id": "4",  "method": "tools/call",  "params": {    "name": "getAllDepartments",    "arguments": {      "limit": 50,      "filters": {        "companyId": "67890"      }    }  } } 


getDepartmentById

Hämtar en specifik avdelning baserat på dess unika ID.


Parametrar:

Parameter

Type

Required

Default

Description

departmentId

string

Yes

-

The unique identifier of the department


updateDepartment

Uppdaterar avdelningsinformation.


Frånvarohantering

getAllLeaves

Hämtar all frånvaro från Simployer-API:et med valfri filtrering.


Parametrar:

Parameter

Type

Required

Default

Description

limit

number

No

500

Maximum number of results to return

filters

object

No

-

Filter criteria (see below)

Available Filters:

Filter

Type

Description

employeeId

string

Filter by employee ID

typeId

string

Filter by leave type ID

startDate

string

Filter leaves where either startDate or endDate is >= this date (filtered locally)

endDate

string

Filter leaves where either startDate or endDate is <= this date (filtered locally)

Notering om datumfiltrering

Filtren startDate och endDate tillämpas lokalt efter att frånvaro har hämtats från API:et. När båda filtren anges returneras frånvaro där antingen frånvarons startDate eller endDate faller inom det angivna datumintervallet.


Example Request:

{  "jsonrpc": "2.0",  "id": "5",  "method": "tools/call",  "params": {    "name": "getAllLeaves",    "arguments": {      "limit": 200,      "filters": {        "employeeId": "12345",        "startDate": "2024-07-01",        "endDate": "2024-07-31"      }    }  } } 


getLeaveById

Hämtar en specifik frånvaro baserat på dess unika ID.


Parametrar:

Parameter

Type

Required

Default

Description

leaveId

string

Yes

-

The unique identifier of the leave

updateLeave

Uppdaterar frånvarostatus eller detaljer.


Kompensationshantering

Ordinarie ersättning

Tillgängliga verktyg:

  • getAllCompensations – Lista/sök ersättningsposter

  • getCompensationById – Hämta ersättningsdetaljer

  • updateCompensation – Uppdatera ersättningsinformation


Tillgängliga filter för getAllCompensations:

Filter

Type

Description

userId

string

Filter by user ID

employeeId

string

Filter by employee ID

effectiveDate

any

Filter by effective date

amount

number

Filter by amount

baseAmount

number

Filter by base amount

currency

string

Filter by currency

payoutDay

number

Filter by payout day

payoutPeriod

string

Filter by payout period

payoutFrequency

string

Filter by payout frequency

salarySchedule

string

Filter by salary schedule

paidOvertime

boolean

Filter by paid overtime

salaryYear

number

Filter by salary year

salaryCode

string

Filter by salary code

Bonusersättning

Tillgängliga verktyg:

  • getAllBonusCompensations – Lista/sök bonusposter

  • getBonusCompensationById – Hämta bonusdetaljer

  • updateBonusCompensation – Uppdatera bonusinformation


Tilläggsersättning

Tillgängliga verktyg:

  • getAllAdditionalCompensations – Lista/sök tilläggsersättning

  • getAdditionalCompensationById – Hämta detaljer för tilläggsersättning

  • updateAdditionalCompensation – Uppdatera tilläggsersättning


Kontorshantering

Tillgängliga verktyg:

  • getAllOffices – Lista/sök kontor med filtrering

  • getOfficeById – Hämta kontorsdetaljer

  • updateOffice – Uppdatera kontorsinformation


Projekthantering

Tillgängliga verktøy:

  • getAllProjects – Lista/sök projekt

  • getProjectById – Hämta projektdetaljer

  • updateProject – Uppdatera projektinformation


Tillgängliga filter för getAllProjects:


Filter

Type

Description

name

string

Filter by project name

archived

boolean

Filter by archived status

companyId

string

Filter by company ID


Företagshantering

Tillgängliga verktyg:

  • getCompanyById – Hämta företagsinformation (endast läsbehörighet)


Teamhantering

Tillgängliga verktyg:

  • getAllTeams – Lista/sök team

  • getTeamById – Hämta teamdetaljer

  • updateTeam – Uppdatera teaminformation


Medarbetar–team-referenser

Tillgängliga verktyg:

  • getAllEmployeeTeamReferences – Lista kopplingar mellan medarbetare och team

  • getEmployeeTeamReferenceById – Hämta specifik koppling

  • updateEmployeeTeamReference – Uppdatera teamtillhörighet


Anställningshantering

Tillgängliga verktyg:

  • getAllEmployments – Lista/sök anställningar

  • getEmploymentById – Hämta anställningsdetaljer

  • updateEmployment – Uppdatera anställningsinformation


Hantering av anställningstyper

Tillgängliga verktyg:

  • getAllEmploymentTypes – Lista/sök anställningstyper

  • getEmploymentTypeById – Hämta detaljer för anställningstyp

  • updateEmploymentType – Uppdatera anställningstyp


Kostnadsställeantering

Tillgängliga verktyg:

  • getAllCostCenters – Lista/sök kostnadsställen

  • getCostCenterById – Hämta kostnadsställe-detaljer

  • updateCostCenter – Uppdatera kostnadsställeinformation


Hantering av frånvarotransaktioner

Tillgängliga verktyg:

  • getAllLeaveTransactions – Lista/sök frånvarotransaktioner

  • getLeaveTransactionById – Hämta transaktionsdetaljer (endast läsbehörighet)


Barnhantering

Tillgängliga verktyg:

  • getAllChildren – Lista/sök barnposter

  • getChildById – Hämta barndetaljer

  • updateChild – Uppdatera barninformation


Tidrapportering

Tidrapporter:

  • getAllTimesheets – Lista/sök tidrapporter

  • getTimesheetById – Hämta tidrapportdetaljer (endast läsbehörighet)

Tidrapportposter:

  • getAllTimesheetEntries – Lista/sök tidrapportposter

  • getTimesheetEntryById – Hämta postdetaljer

  • updateTimesheetEntry – Uppdatera tidrapportpost

Typer av tidrapportposter:

  • getAllTimesheetEntryTypes – Lista/sök posttyper

  • getTimesheetEntryTypeById – Hämta posttypdetaljer (endast läsbehörighet)


Arbetsveckohantering

Tillgängliga verktyg:

  • getAllWorkWeeks – Lista/sök arbetsveckokonfigurationer

  • getWorkWeekById – Hämta arbetsveckodetaljer

  • updateWorkWeek – Uppdatera arbetsveckokonfiguration


Scope-hantering

Tillgängliga verktyg:

  • getAllScopes – Lista/sök scopes

  • getScopeById – Hämta scopedetaljer

  • getScopesByParentId – Hämta scopes baserat på parent-ID

  • getScopesByParentType – Hämta scopes baserat på parent-typ

  • getScopeEmployeeCount – Hämta antal medarbetare för scope(s)

  • scopeEmployeeSearchByName – Kontrollera om medarbetare ingår i scope

  • updateScope – Uppdatera scope-konfiguration


Tillgängliga parent-typer:

ANNOUNCEMENT, COMPETENCE, FEATURE_ACCESS_POLICY, FORTNOX_SETTINGS, FRANKLY_SETTINGS, LEAVE_POLICY, MODULE_ACCESS, PROFILE_TEMPLATE, PROJECT, REVIEW_CYCLE, SIMP_INTEGRATION_SETTINGS, TIMESHEET_POLICY, WORKFLOW_TASK, WORKFLOW_TASK_TEMPLATE, WORKFLOW_TEMPLATE_ADDITIONAL_PROPERTIES, EXTENDED_MODULE_ACCESS


Användningsfall och exempel

Medarbetaranalys

Scenario: ”Visa personalomsättning för de senaste 12 månaderna”

Naturlig språkfråga: ”Vad är vår personalomsättning för de senaste 12 månaderna?”

Använda verktyg: calculateTurnover

{  "jsonrpc": "2.0",  "id": "6",  "method": "tools/call",  "params": {    "name": "calculateTurnover",    "arguments": {      "startDate": "2023-01-01",      "endDate": "2024-01-01"    }  } }  


Frånvarohantering

Scenario: ”Visa all godkänd frånvaro för juli 2024 på Gdańsk-kontoret”

Naturlig språkfråga:
”Visa all godkänd frånvaro för juli 2024 på Gdańsk-kontoret”

Använda verktyg:

  1. getAllOffices (för att hitta kontors-ID)

  2. getAllEmployees (för att hitta medarbetare på kontoret)

  3. getAllLeaves (för att hämta frånvaro med filter)

Steg-för-steg:

  • Hämta kontors-ID för Gdańsk genom att använda getAllOffices med filtret city: "Gdańsk"

  • Hämta alla medarbetare på kontoret genom att använda getAllEmployees med filtret officeId: <office-id>

  • Hämta all frånvaro för dessa medarbetare i juli 2024 genom att använda getAllLeaves med filtren startDate: "2024-07-01", endDate: "2024-07-31"


Medarbetarsök

Scenario: ”Hitta alla aktiva medarbetare i Engineering-avdelningen”

Naturlig språkfråga:
”Hitta alla aktiva medarbetare i Engineering-avdelningen”

Använda verktyg:
getAllEmployees

Exempelförfrågan:

{  "jsonrpc": "2.0",  "id": "7",  "method": "tools/call",  "params": {    "name": "getAllEmployees",    "arguments": {      "filters": {        "active": true,        "departmentId": "dept-123"      },      "limit": 100    }  } }  


Felhantering

Format för felsvar

All errors follow the JSON-RPC 2.0 format:

{  "jsonrpc": "2.0",  "id": "1",  "error": {    "code": -32603,    "message": "Internal server error",    "data": {      "details": "Additional error information"    }  } } 


Common Error Codes

Code

Meaning

Solution

-32600

Invalid Request

Check your JSON-RPC format

-32601

Method Not Found

Verify the tool name is correct

-32602

Invalid Params

Check parameter types and required fields

-32603

Internal Error

Contact support with error details

401

Unauthorized

Verify your JWT token is valid

404

Not Found

Check that the resource ID exists

400

Bad Request

Validate your request parameters


Felsökning

Autentiseringsfel

  • Verifiera att din JWT-token är giltig och inte har löpt ut

  • Kontrollera tokenformatet: Bearer YOUR_TOKEN

  • Säkerställ att token har nödvändiga behörigheter

Anslutningsproblem

  • Verifiera att servern är tillgänglig: curl https://mcp-alexis.simployer.com/health

  • Kontrollera nätverksanslutningen

  • Granska felmeddelanden i svaret

Timeout-fel

  • Standard timeout: 120 sekunder

  • För stora frågor, använd paginering (limit-parameter)

  • Överväg att dela upp komplexa operationer i mindre anrop


Bästa praxis

Prestandaoptimering

Använd paginering

  • Standardgräns: 500 poster per anrop

  • Använd alltid paginering när totalCount > limit

  • Använd filter för att minska resultatmängden när möjligt

Filtrera före hämtning

  • Använd filter på API-nivå istället för filtrering på klientsidan

  • Använd specifika filter (ID:n, datum) när möjligt

  • Kombinera flera filter för att begränsa resultaten

Optimering av anrop

  • Batcha relaterade anrop när möjligt

  • Cachelagra ofta använd data

  • Använd getById-metoder när du känner till ID:t


Säkerhet

  • Lägg aldrig tokens i versionshantering

  • Använd miljövariabler för känslig data

  • Rotera tokens regelbundet

  • Implementera korrekt felhantering för att undvika exponering av känslig information

  • Använd HTTPS för alla anrop


Hastighetsbegränsning

  • Var uppmärksam på API:ets rate limits

  • Implementera exponentiell backoff vid återförsök

  • Överväg klientbaserad köhantering för applikationer med hög volym


FAQ

Allmänt


Fråga: Vad är MCP?
Svar: Model Context Protocol (MCP) är ett öppet protokoll som gör det möjligt för AI-assistenter att säkert få åtkomst till externa datakällor och verktyg.


Fråga: Måste jag vara utvecklare för att använda dessa verktyg?
Svar: Även om viss teknisk kunskap är till hjälp, erbjuder många AI-plattformar (som Claude Desktop) ett användarvänligt gränssnitt för att använda MCP-verktyg.


Fråga: Är mina data säkra?
Svar: Ja. Alla anrop använder JWT-autentisering och HTTPS-kryptering. Dina tokens lagras aldrig på våra servrar.


Integration


Fråga: Kan jag använda dessa verktyg med ChatGPT?
Svar: Ja, om din ChatGPT-implementation stöder MCP. Kontrollera med din AI-plattformsleverantör för MCP-kompatibilitet.


Fråga: Hur testar jag om min konfiguration fungerar?
Svar: Prova en enkel fråga som ”Lista alla medarbetare” eller ”Visa alla avdelningar” via din MCP-klient.


Fråga: Vad gör jag om jag får autentiseringsfel?
Svar: Kontrollera att din JWT-token är giltig, inte har löpt ut och är korrekt formaterad i Authorization-headern.


Support och resurser

Hälsokontroll

  • Kontrollera serverstatus: GET https://mcp-alexis.simployer.com/health

  • Svar: {"status": "ok"}

Ytterligare resurser

  • Simployer Public API-dokumentation

  • MCP Protocol Specification

  • Relaterad dokumentation: Public API MCP-dokumentation



Var artikeln till hjälp?

Toppen!

Tack för din feedback

Vi beklagar att det inte var till hjälp

Tack för din feedback

Berätta för oss hur vi kan förbättra den här artikeln!

Välj minst en av orsakerna
CAPTCHA-verifiering krävs.

Feddback skickat

Vi uppskattar din feedback och uppdaterar artikeln vid behov