Offentlig API: Offentlig MCP

Endret Wed, 7 Jan ved 10:47 AM

Simployer MCP Tools – Kundeguide


Oversikt

Simployer MCP-serveren (Model Context Protocol) gjør det mulig for AI-assistenter og applikasjoner å få sikker tilgang til dine HR-data gjennom et standardisert grensesnitt. Enten du bygger egne AI-løsninger eller integrerer med plattformer som Claude Desktop eller ChatGPT, gir disse verktøyene sømløs tilgang til ansattinformasjon, organisasjonsstrukturer, fraværshåndtering, kompensasjonsdata og mer.


Hva er Model Context Protocol (MCP)?

Model Context Protocol (MCP) er en åpen protokoll som gjør det mulig for AI-assistenter å få sikker tilgang til eksterne datakilder og verktøy. MCP-serveren fungerer som en bro mellom AI-applikasjoner (som Claude, ChatGPT eller egendefinerte LLM-løsninger) og Simployer-API-et, og tilbyr:

  • Standardisert grensesnitt: Konsistent API-tilgang uavhengig av AI-plattform

  • Sikker autentisering: JWT-basert autentisering for alle forespørsler

  • Verktøyoppdagelse: Automatisk oppdagelse av tilgjengelig funksjonalitet

  • Strukturerte responser: Veldefinerte skjemaer for alle operasjoner


Viktige fordeler

  • AI-klar: Fungerer sømløst med Claude, ChatGPT og andre MCP-kompatible AI-plattformer

  • Sikker: JWT-basert autentisering sikrer at dataene dine forblir beskyttet

  • Omfattende: Tilgang til mer enn 17 HR-datamoduler gjennom ett samlet grensesnitt

  • Standardisert: Følger den åpne MCP-protokollen for konsistent integrasjon


Kom raskt i gang

Forutsetninger

  • En aktiv Simployer-konto

  • Et JWT-tilgangstoken (se Autentisering)

  • En MCP-kompatibel klient (Claude Desktop, egendefinert applikasjon osv.)


Transportprotokoller

Simployer MCP-serveren støtter to transportmetoder:

  • Streamable HTTP (Anbefalt): Moderne statsløs protokoll som bruker POST /mcp

  • Server-Sent Events (SSE) (Eldre): For bakoverkompatibilitet med eldre MCP-klienter

    • Endepunkter: /sse og /messages

    • Brukes kun hvis klienten krever SSE



For egendefinerte integrasjoner skal du alltid bruke Streamable HTTP-endepunktet på
https://mcp-alexis.simployer.com/mcp.


Oppsett av Claude Desktop

  • Åpne innstillingene i Claude Desktop

  • Gå til konfigurasjon av MCP-servere

  • Legg til følgende konfigurasjon:

  • Start Claude Desktop på nytt

  • Test ved å spørre: «List opp alle ansatte i Engineering-avdelingen»


Oppsett av egendefinert klient

Bruk MCP-endepunktet sammen med JWT-tokenet ditt:



Autentisering

Alle forespørsler til Simployer MCP-serveren krever en gyldig JWT (JSON Web Token) fra Simployer-kontoen din.


Hente token

  • Logg inn på Simployer-kontoen din

  • Gå til Innstillinger → Tilgangstokener

  • Generer eller hent tokenet ditt

  • Kopier tokenet (du trenger det for konfigurasjon)

Bruke tokenet

Inkluder tokenet i Authorization-headeren for alle forespørsler:

Authorization: Bearer YOUR_JWT_TOKEN  


Sikkerhetsanbefalinger

  • Hold tokenet sikkert og legg det aldri inn i versjonskontroll

  • Roter token regelmessig

  • Bruk miljøvariabler for å lagre token

  • Tilbakekall token umiddelbart dersom det kompromitteres


Tilgjengelige moduler

Simployer MCP-serveren gir tilgang til følgende 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


Verktøyreferanse


Ansattadministrasjon

getAllEmployees

Henter en liste over ansatte med valgfri filtrering og paginering.


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


Eksempel:

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


Vanlige bruksområder

«Vis alle aktive ansatte i Engineering-avdelingen»

«List opp ansatte ved New York-kontoret»

«Finn ansatte med tittelen ‘Senior Developer’»


getEmployeeById

Henter en spesifikk ansatt basert på deres unike ID.


Parametere:

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

Oppdaterer spesifikke felt for en ansatt i Simployer-systemet.


Parametere:

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"      }    }  } } 


Ytterligere ansattverktøy

  • getEmployeeCountByDepartment – Tell ansatte per avdeling

  • getEmployeeCountByOffice – Tell ansatte per kontor

  • getEmployeeCountByDivision – Tell ansatte per divisjon

  • calculateTurnover – Beregn turnover-rate

  • getOffboardings – List ansatte som er avsluttet


Avdelingsadministrasjon

getAllDepartments


Henter alle avdelinger fra Simployer-API-et med valgfri filtrering.


Parametere:

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

Henter en spesifikk avdeling basert på dens unike ID.


Parametere:

Parameter

Type

Required

Default

Description

departmentId

string

Yes

-

The unique identifier of the department

updateDepartment

Oppdaterer avdelingsinformasjon.


Fraværshåndtering

getAllLeaves


Henter alle fravær fra Simployer-API-et med valgfri filtrering.


Parametre:

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)

Merknad om datofiltrering

Filtrene startDate og endDate brukes lokalt etter at fravær er hentet fra API-et. Når begge filtrene er angitt, returneres fravær der enten fraværets startDate eller endDate faller innenfor det spesifiserte datointervallet.


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

Henter et spesifikt fravær basert på dets unike ID.


Parametere:

Parameter

Type

Required

Default

Description

leaveId

string

Yes

-

The unique identifier of the leave

updateLeave

Oppdaterer fraværsstatus eller -detaljer.


Kompensasjonshåndtering

Ordinær kompensasjon

Tilgjengelige verktøy:

  • getAllCompensations – List/søk kompensasjonsoppføringer

  • getCompensationById – Hent kompensasjonsdetaljer

  • updateCompensation – Oppdater kompensasjonsinformasjon


Tilgjengelige filtre for 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


Bonuskompensasjon

Tilgjengelige verktøy:

  • getAllBonusCompensations – List/søk bonusoppføringer

  • getBonusCompensationById – Hent bonusdetaljer

  • updateBonusCompensation – Oppdater bonusinformasjon


Tilleggskompensasjon

Tilgjengelige verktøy:

  • getAllAdditionalCompensations – List/søk tilleggskompensasjon

  • getAdditionalCompensationById – Hent detaljer for tilleggskompensasjon

  • updateAdditionalCompensation – Oppdater tilleggskompensasjon


Kontoradministrasjon

Tilgjengelige verktøy:

  • getAllOffices – List/søk kontorer med filtrering

  • getOfficeById – Hent kontordetaljer

  • updateOffice – Oppdater kontorinformasjons


Prosjektadministrasjon

Tilgjengelige verktøy:

  • getAllProjects – List/søk prosjekter

  • getProjectById – Hent prosjektdetaljer

  • updateProject – Oppdater prosjektinformasjon


Tilgjengelige filtre for getAllProjects:

Filter

Type

Description

name

string

Filter by project name

archived

boolean

Filter by archived status

companyId

string

Filter by company ID


Selskapsadministrasjon

Tilgjengelige verktøy:

  • getCompanyById – Hent selskapsinformasjon (kun lesetilgang)

Teamadministrasjon

Tilgjengelige verktøy:

  • getAllTeams – List/søk team

  • getTeamById – Hent teamdetaljer

  • updateTeam – Oppdater teaminformasjon

Ansatt–team-referanser

Tilgjengelige verktøy:

  • getAllEmployeeTeamReferences – List tilknytninger mellom ansatte og team

  • getEmployeeTeamReferenceById – Hent spesifikk tilknytning

  • updateEmployeeTeamReference – Oppdater teamtilhørighet

Ansettelsesadministrasjon

Tilgjengelige verktøy:

  • getAllEmployments – List/søk ansettelsesforhold

  • getEmploymentById – Hent ansettelsesdetaljer

  • updateEmployment – Oppdater ansettelsesinformasjon

Administrasjon av ansettelsestyper

Tilgjengelige verktøy:

  • getAllEmploymentTypes – List/søk ansettelsestyper

  • getEmploymentTypeById – Hent detaljer for ansettelsestype

  • updateEmploymentType – Oppdater ansettelsestype


Kostnadsstedadministrasjon

Tilgjengelige verktøy:

  • getAllCostCenters – List/søk kostnadssteder

  • getCostCenterById – Hent detaljer for kostnadssted

  • updateCostCenter – Oppdater kostnadsstedinformasjon


Fraværstransaksjonsadministrasjon

Tilgjengelige verktøy:

  • getAllLeaveTransactions – List/søk fraværstransaksjoner

  • getLeaveTransactionById – Hent transaksjonsdetaljer (kun lesetilgang)


Barneadministrasjon

Tilgjengelige verktøy:

  • getAllChildren – List/søk barneoppføringer

  • getChildById – Hent detaljer om barn

  • updateChild – Oppdater barneinformasjon


Timelisteadministrasjon

Timelister:

  • getAllTimesheets – List/søk timelister

  • getTimesheetById – Hent timelistedetaljer (kun lesetilgang)

Timelisteoppføringer:

  • getAllTimesheetEntries – List/søk timelisteoppføringer

  • getTimesheetEntryById – Hent oppføringsdetaljer

  • updateTimesheetEntry – Oppdater timelisteoppføring

Typer timelisteoppføringer:

  • getAllTimesheetEntryTypes – List/søk oppføringstyper

  • getTimesheetEntryTypeById – Hent oppføringstype-detaljer (kun lesetilgang)


Arbeidsukeadministrasjon

Tilgjengelige verktøy:

  • getAllWorkWeeks – List/søk arbeidsukekonfigurasjoner

  • getWorkWeekById – Hent detaljer for arbeidsuke

  • updateWorkWeek – Oppdater arbeidsukekonfigurasjon


Scope-administrasjon

Tilgjengelige verktøy:

  • getAllScopes – List/søk scopes

  • getScopeById – Hent scopedetaljer

  • getScopesByParentId – Hent scopes basert på parent-ID

  • getScopesByParentType – Hent scopes basert på parent-type

  • getScopeEmployeeCount – Hent antall ansatte for scope(r)

  • scopeEmployeeSearchByName – Sjekk om ansatt er innenfor scope

  • updateScope – Oppdater scope-konfigurasjon


Tilgjengelige 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


Bruksområder og eksempler


Ansattanalyse

Scenario: «Vis turnover-rate for de siste 12 månedene»

Naturlig språk-spørring: «Hva er vår turnover-rate for de siste 12 månedene?»

Verktøy brukt: calculateTurnover

Eksempelforespørsel:

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


Fraværshåndtering

Scenario: «Vis alle godkjente fravær for juli 2024 ved Gdańsk-kontoret»

Naturlig språk-spørring: «Vis alle godkjente fravær for juli 2024 ved Gdańsk-kontoret»

Verktøy brukt:

  1. getAllOffices (for å finne kontor-ID)

  2. getAllEmployees (for å finne ansatte på kontoret)

  3. getAllLeaves (for å hente fravær med filtre)

Steg-for-steg:

  • Finn kontor-ID for Gdańsk ved å bruke getAllOffices med filter city: "Gdańsk"

  • Hent alle ansatte på kontoret ved å bruke getAllEmployees med filter officeId: <office-id>

  • Hent alle fravær for disse ansatte i juli 2024 ved å bruke getAllLeaves med filtrene startDate: "2024-07-01", endDate: "2024-07-31"


Ansattsøk

Scenario: «Finn alle aktive ansatte i Engineering-avdelingen»

Naturlig språk-spørring: «Finn alle aktive ansatte i Engineering-avdelingen»

Verktøy brukt: getAllEmployees

Eksempelforespørsel:

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


Feilhåndtering

Format for feilrespons


Error Response Format

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

Feilsøking

Autentiseringsfeil

  • Bekreft at JWT-tokenet ditt er gyldig og ikke utløpt

  • Kontroller tokenformat: Bearer YOUR_TOKEN

  • Sørg for at tokenet har nødvendige rettigheter

Tilkoblingsproblemer

  • Bekreft at serveren er tilgjengelig: curl https://mcp-alexis.simployer.com/health

  • Kontroller nettverkstilkobling

  • Gå gjennom feilmeldinger i responsen

Tidsavbruddsfeil

  • Standard tidsavbrudd: 120 sekunder

  • For store spørringer, bruk paginering (limit-parameter)

  • Vurder å dele komplekse operasjoner i mindre forespørsler


Beste praksis

Ytelsesoptimalisering

Bruk paginering

  • Standard grense: 500 poster per forespørsel

  • Bruk alltid paginering når totalCount > limit

  • Bruk filtre for å redusere resultatsett når mulig

Filtrer før henting

  • Bruk filtre på API-nivå fremfor klientsidefiltrering

  • Bruk spesifikke filtre (ID-er, datoer) når mulig

  • Kombiner flere filtre for å snevre inn resultatene

Optimalisering av forespørsler

  • Samle relaterte forespørsler når mulig

  • Bufre ofte brukte data

  • Bruk getById-metoder når du kjenner ID-en


Sikkerhet

  • Legg aldri tokens i versjonskontroll

  • Bruk miljøvariabler for sensitiv informasjon

  • Roter tokens regelmessig

  • Implementer korrekt feilhåndtering for å unngå eksponering av sensitiv informasjon

  • Bruk HTTPS for alle forespørsler


Ratebegrensning

  • Vær oppmerksom på API-ets ratebegrensninger

  • Implementer eksponentiell backoff ved nye forsøk

  • Vurder klientside køhåndtering for applikasjoner med høyt volum


FAQ

Generelt

Spørsmål: Hva er MCP?
Svar: Model Context Protocol (MCP) er en åpen protokoll som gjør det mulig for AI-assistenter å få sikker tilgang til eksterne datakilder og verktøy.


Spørsmål: Må jeg være utvikler for å bruke disse verktøyene?
Svar: Selv om teknisk kompetanse er nyttig, tilbyr mange AI-plattformer (som Claude Desktop) et brukervennlig grensesnitt for bruk av MCP-verktøy.


Spørsmål: Er dataene mine sikre?
Svar: Ja. Alle forespørsler bruker JWT-autentisering og HTTPS-kryptering. Tokenene dine lagres aldri på våre servere.


Integrasjon

Spørsmål: Kan jeg bruke disse verktøyene med ChatGPT?
Svar: Ja, dersom din ChatGPT-implementasjon støtter MCP. Sjekk med din AI-plattformleverandør for MCP-kompatibilitet.


Spørsmål: Hvordan tester jeg om oppsettet fungerer?
Svar: Prøv en enkel spørring som «List alle ansatte» eller «Vis alle avdelinger» via MCP-klienten din.


Spørsmål: Hva gjør jeg hvis jeg får autentiseringsfeil?
Svar: Bekreft at JWT-tokenet er gyldig, ikke utløpt og korrekt formatert i Authorization-headeren.


Support og ressurser

Helsesjekk

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

  • Respons: {"status": "ok"}


Ytterligere ressurser

  • Simployer Public API-dokumentasjon

  • MCP Protocol Specification

  • Relatert dokumentasjon: Public API MCP-dokumentasjon

Var denne artikkelen nyttig?

Så bra!

Takk for din tilbakemelding

Beklager at vi ikke kunne være mer til hjelp

Takk for din tilbakemelding

Fortell oss hvordan vi kan forbedre denne artikkelen.

Velg minst én av grunnene
CAPTCHA-verifisering er obligatorisk.

Tilbakemeldingen er sendt inn

Vi setter pris på tilbakemeldingen din og vil prøve å rette på artikkelen