# PayFit MCP connector

The PayFit connector brings payroll status, employee contracts, absences, accounting entries and benefits contracts into Claude, ChatGPT, Cursor and any MCP client, so your team can ask questions and get answers from live PayFit records.

Source: https://elaichi.ai/connectors/payfit/

## Facts

| | |
| --- | --- |
| Application | PayFit |
| Category | HRIS |
| AI tools | 29 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once PayFit is connected

- List contracts created this month by company.
- Summarize payroll status for the French entity.
- Which health insurance contracts are missing setup sheets?

## Connect PayFit in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick PayFit.
2. Optionally set Share with, then press Connect.
3. Paste a PayFit API key. One person generates a token in PayFit and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which PayFit tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect PayFit to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect PayFit to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect PayFit to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect PayFit to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a PayFit tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with PayFit through Elaichi

### Check where this month's payroll stands

Payroll. Ask whether payroll has been run, which payment files are ready and which employees still have something outstanding before the cut-off.

### Pull accounting entries for month-end close

Finance. Bring PayFit accounting entries and payment files into a summary for the close, and compare them against what landed in the ledger.

### Look up a contract before a meeting

HR. Get an employee's contract, working time and start date in front of you before a review, without clicking through PayFit screens.

### Fix a payslip error with a regularization

Payroll. When an overtime line or a bonus was missed, record the regularization so it lands on the next payroll run.

### Keep health insurance and provident fund current

Benefits. Update health insurance and provident fund contracts when a plan changes, and prepare a health insurance setup sheet for a new hire.

### Track absences and meal voucher entitlements

People Ops. Review who is absent this week, spot patterns across a team, and check meal voucher counts before they are ordered.

## Frequently asked questions

### How do I connect PayFit to Claude?

Connect PayFit in Elaichi by pasting your PayFit API key, which takes about a minute. Then open Claude, go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. There is no OAuth application to register in PayFit and no client ID or secret to generate.

### Does PayFit work with ChatGPT and Cursor as well as Claude?

Yes. Once PayFit is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect PayFit once and every client picks it up.

### What can an AI agent actually do with my PayFit data?

An agent connected to PayFit can tell you whether payroll has run, list payment files and accounting entries, look up an employee's contract and working time, and show absences and meal voucher counts. It can also create a contract, record a regularization, file a billing declaration and update health insurance or provident fund details. It reads income tax documents and other PayFit documents when you ask for them.

### Does connecting PayFit give the AI access to every employee's payroll?

No. Access follows the person who signed in, so an agent working through PayFit sees only what that person's PayFit access already allows. Elaichi can narrow that further with roles and restrictions, and it never widens it.

### Can my team share one PayFit connection?

Yes. One person connects PayFit in Elaichi and shares it with a team, and nobody else ever handles the API key. Each teammate still signs in as themselves, so every PayFit action in the audit log is tied to a named person.

### Can I stop an agent from creating or changing things in PayFit?

Yes. Restrictions in Elaichi work per action, so you can allow reading payroll status and contracts while blocking the creation of contracts, regularizations or billing declarations in PayFit. A blocked action is never advertised to the AI client at all, so no prompt can reach it.

### What happens to a PayFit connection when someone leaves?

Offboarding a person in Elaichi ends their access to PayFit through every connected client at once. A PayFit connection shared with the team keeps working for everyone else. If you want to remove PayFit entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 29 PayFit tools

Every tool below is callable through https://api.elaichi.ai/mcp once PayFit is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a PayFit billing declaration** (Create). Create a billing declaration on a partner company in payfit. Returns an empty 204 response on success. Required: `monthOfApplication`. Supply either `quantityByProducts` or the deprecated `employeesByProducts` to report product usage.
- **List all PayFit payment files** (List). Get the payment file for a payfit company for a given month. Returns a binary file stream. Required: date (format: YYYYMM, e.g. 202212).
- **List all PayFit accountings** (List). Get accounting data for a PayFit company for a given month. Returns a CSV-structured binary file containing journal entries with fields such as EcritureDate, ContractID, CompteNum, CompteLib, Debit, and Credit. Required: date.
- **List all PayFit accounting v 2 s** (List). List PayFit accounting v2 entries for a company for a given month (FR and UK only). Returns an array of accounting entries including operationDate, accountId, accountName, debit, credit, analyticCodes, employeeFullName, and contractId. Required: date (format YYYYMM, e.g. 202212).
- **List all PayFit payroll status** (List). Get the payroll status for a given pay period in Payfit. Returns: status (completed or not_completed), executionEndDate. Required: date (format YYYYMM).
- **List all PayFit income taxes documents** (List). List all income tax documents (P45, P60, P11D) for a UK company in Payfit. Returns: documentId, createdAt, contractId, type, year, month, documentUrl. This endpoint is intended for UK companies only.
- **List all PayFit health insurance contracts** (List). List all health insurance contracts for a PayFit company. Returns an array of contracts including idContrat, refContrat, affiliatedContractIds, modeCalculCotisation, tauxCotisationPatronale, and tauxCotisationSalariale.
- **List all PayFit provident fund contracts** (List). List all Provident Fund contracts for a given company in PayFit. Returns: idContrat, refContrat, affiliatedContractIds, modeCalculCotisation, baseDeCotisation.
- **List all PayFit auto enrolment documents** (List). List all auto enrolment documents for a UK company in Payfit. Returns an array of documents each including documentId, createdAt, contractId, year, month, and documentUrl.
- **Get single PayFit document by ID** (Get). Get a PayFit company document by id. Returns the document as a binary PDF file. Only works with document URLs provided by other PayFit API endpoints (e.g., auto-enrolment or income-taxes documents). Required: id.
- **Get single PayFit companies fr by ID** (Get). Get basic information for a Payfit company including France-specific data. Returns: id, name, country, nbActiveContracts, siren, siret, address, city, postalCode, and healthInsuranceProrationMethod. Required: id.
- **Create a PayFit health insurance setup sheet** (Create). Create or update health insurance contracts in payfit for a French company by uploading setup sheet files sent to net-entreprises.fr. Returns a 201 response on success. Required: pdfFile, and xmlFile. Only available for French companies and specific partners.
- **List all PayFit contracts** (List). List all PayFit contracts for a company. Returns an array of contract objects including contractId, status, jobName, startDate, and collaboratorId. Optionally include in-progress contracts via includeInProgressContracts.
- **Get single PayFit contract by ID** (Get). Get a single PayFit contract by id. Returns the full contract object including contractId, jobName, status, startDate, endDate, probationEndDate, collaboratorId, and time information fields. Required: id.
- **Create a PayFit contract** (Create). Create a basic PayFit contract for a collaborator. Returns an empty 201 response; the contract becomes available after 2–5 minutes and must be completed by an admin in PayFit. Currently only available for France. Required: collaborator_id, jobTitle, and startDate.
- **List all PayFit contracts times** (List). List worked time for every contract in a payfit company for a given pay period. Returns: contractId, effectiveWorkedTime, payedWorkedTime, workTimeUnit per contract. Required: date (format YYYYMM). Only available for French companies.
- **List all PayFit contracts frs** (List). List all French-specific contracts for a PayFit company. Returns: contractId, status, startDate, jobName, collaboratorId, and French-specific fields such as natureContratDsn, idcc, and estCadreDirigeant.
- **Get single PayFit contracts fr by ID** (Get). Get a single French-specific contract by id for a PayFit company. Returns the full contract object including contractId, status, startDate, jobName, collaboratorId, and French-specific fields such as natureContratDsn, idcc, and estCadreDirigeant. Required: id.
- **Create a PayFit regularization** (Create). Request a health insurance regularization in PayFit for a French contract when an affiliation was applied too late. Returns an empty 204 response on success. Required: contract_id, healthInsuranceContractIds, effectiveDate.
- **Update a PayFit health insurance by ID** (Update). Update the health insurance affiliation on a payfit employee contract. Returns an empty 204 response on success. Required: contract_id, and healthInsuranceContractIds.
- **Update a PayFit provident fund by ID** (Update). Update the provident fund affiliation on a payfit employee contract by supplying one or more provident fund contract IDs. Returns an empty 204 response on success. Required: contract_id, providentFundContractIds.
- **List all PayFit absences** (List). List absences for a PayFit company. Returns each absence's id, contractId, startDate, endDate, type, and status. By default only approved absences are returned; use the status filter to include others.
- **List all PayFit collaborators meal vouchers** (List). List all collaborator meal vouchers for a given month in payfit. Returns: collaboratorId, vouchersCount, voucherAmount, voucherCompanyPartAmount, voucherEmployeePartAmount. Required: date (format YYYYMM). Only available for French companies.
- **Get single PayFit collaborator by ID** (Get). Get a single PayFit collaborator by id. Returns the collaborator object including id, firstName, lastName, emails, gender, birthDate, contracts, and terminationDate. Required: id.
- **Get single PayFit payslip by ID** (Get). Get a single PayFit collaborator payslip as a binary PDF file by id. Returns the payslip PDF document. Required: collaborator_id, contract_id, id.
- **List all PayFit payslips** (List). List all payslips for a PayFit collaborator by collaborator_id. Returns an array of payslip objects including year, month, contractId, payslipId, and payslipUrl. Required: collaborator_id.
- **List all PayFit companies collaborators** (List). List collaborators belonging to a PayFit company. Returns an array of collaborator objects including id, firstName, lastName, emails, and contracts. Optionally filter by email (matched against contract emails only, not login email).
- **PayFit companies collaborators attach collaborator** (Action). Create a new collaborator in a PayFit company. Returns the new collaborator's id. The collaborator is created without a contract and will not appear in the PayFit app until a contract is added via the create contract endpoint.
- **List all PayFit company** (List). Get basic information about a PayFit company. Returns: id, name, country, nbActiveContracts.
