> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.jarvi.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP (AI-assistenten)

> Verbind AI-assistenten zoals Claude Desktop of Cursor met je Jarvi-gegevens

## Wat is MCP?

Het [Model Context Protocol (MCP)](https://modelcontextprotocol.io) is een open standaard waarmee AI-assistenten verbinding kunnen maken met externe tools en gegevensbronnen. Jarvi biedt een MCP-server zodat je AI-assistenten kunt gebruiken om je Jarvi-gegevens direct te doorzoeken, te lezen en bij te werken.

## Compatibele clients

Elke MCP-compatibele client kan verbinding maken met Jarvi, waaronder:

* [Claude Desktop](https://claude.ai/download)
* [Cursor](https://cursor.com)
* [Windsurf](https://codeium.com/windsurf)
* Elke client die **Streamable HTTP** transport ondersteunt

## Configuratie

### Claude Desktop

Ga naar **Instellingen > Connectoren > Voeg een aangepaste connector toe**, voer een naam in (bijv. "Jarvi") en de URL:

```
https://mcp.jarvi.tech
```

Claude Desktop regelt de authenticatie automatisch via OAuth2 — je wordt doorgestuurd om in te loggen met je Jarvi-account.

### Andere clients

Voor clients die OAuth2 niet ondersteunen, gebruik je een privé API-sleutel:

* **Transport**: Streamable HTTP
* **URL**: `https://mcp.jarvi.tech`
* **Authenticatie**: header `x-api-key` met je [privé API-sleutel](./api-keys)

<Warning>
  Je privésleutel geeft volledige toegang tot je Jarvi-gegevens. Deel deze nooit publiekelijk.
</Warning>

## Beschikbare tools

Zodra je verbonden bent, zijn de volgende tools beschikbaar voor je AI-assistent:

| Tool                      | Beschrijving                                                                                  |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| `whoAmI`                  | Geeft de identiteit van de ingelogde gebruiker terug (naam, e-mail, workspace)                |
| `getStatuses`             | Toon beschikbare statussen voor profielen, bedrijven of projecten                             |
| `getCustomFields`         | Toon aangepaste velden voor een bepaald entiteitstype                                         |
| `getHistorySubtypes`      | Toon aangepaste subtypes voor interacties (bijv. categorieën van gesprekken)                  |
| `advancedSearch`          | Zoek profielen, bedrijven of projecten in natuurlijke taal                                    |
| `getEntityData`           | Haal gedetailleerde gegevens op van profielen, bedrijven of projecten op basis van ID's       |
| `getAgenda`               | Haal aankomende gebeurtenissen op uit gekoppelde agenda's                                     |
| `getNotifications`        | Haal recente notificaties van de gebruiker op                                                 |
| `createProfile`           | Maak een nieuw profiel aan (talent en/of contactpersoon)                                      |
| `createCompany`           | Maak een nieuw bedrijf aan                                                                    |
| `createProject`           | Maak een nieuw project / wervingsopdracht aan                                                 |
| `associateProfiles`       | Koppel een profiel aan een project (talent of contact) of aan een bedrijf                     |
| `createHistoryEntry`      | Voeg een notitie of gesprekslog toe aan de geschiedenis van een profiel                       |
| `createTodo`              | Maak een herinnering/taak aan gekoppeld aan een profiel, bedrijf of project                   |
| `sendMessage`             | Verstuur berichten naar één of meerdere profielen (e-mail, LinkedIn, WhatsApp, Telegram, SMS) |
| `getMessageTemplates`     | Toon beschikbare berichtsjablonen (persoonlijk en gedeeld door collega's)                     |
| `uploadFile`              | Upload een bestand en koppel het aan een entiteit (profiel, bedrijf of project)               |
| `cancelScheduledMessages` | Annuleer één of meerdere geplande berichten                                                   |
| `updateProfile`           | Werk een profiel bij, voeg e-mailadressen of telefoonnummers toe                              |
| `updateCompany`           | Werk een bedrijf bij, wijzig de status op naam, voeg e-mailadressen toe                       |
| `updateProject`           | Werk een project bij, wijzig de status op naam, koppel een bedrijf                            |
| `fillJobOffer`            | Genereer of verfijn een vacature op basis van projectgegevens                                 |
| `getOutboxDiagnostic`     | Diagnosticeer de outbox: toon wachtende geplande berichten met status en fouten               |
| `retryOutboxTasks`        | Probeer mislukte taken opnieuw door hun status te resetten                                    |
| `queryGraphQL`            | Voer GraphQL queries/mutaties uit op toegestane tabellen (jouw rechten zijn van toepassing)   |

<Info>
  Alle handelingen worden uitgevoerd met **jouw rechten**. Beveiliging op rijniveau is actief — je hebt alleen toegang tot gegevens waartoe jouw account toegang heeft.
</Info>

## Voorbeelden van prompts

Zodra je verbonden bent, probeer je AI-assistent te vragen:

* *"Wie ben ik?"*
* *"Zoek React-ontwikkelaars in Parijs"*
* *"Laat me de details van project X zien"*
* *"Maak een profiel aan voor Jean Dupont, ontwikkelaar"*
* *"Plaats deze kandidaat op project X"*
* *"Zet de status van bedrijf Acme op Gekwalificeerd"*
* *"Welke aangepaste velden bestaan er op profielen?"*
* *"Noteer een gesprek met Jean Dupont: hebben zijn beschikbaarheid besproken"*
* *"Herinner me eraan om Acme volgende week maandag te hercontacteren"*
* *"Update de functietitel van Jean Dupont naar Senior Ontwikkelaar"*

## Beperkingen

* Dezelfde [gebruikslimieten](./introduction#gebruiksvoorwaarden) zijn van toepassing, gerekend op cumulatieve uitvoeringstijd. Heb je meer nodig, neem dan contact op met onze support.
* Verwijderoperaties zijn geblokkeerd — gebruik in plaats daarvan zachte verwijdering (update van `deletedAt`).
* Te grote antwoorden worden automatisch ingekort. Gebruik `limit`-argumenten in je verzoeken.
* Destructieve tools (mutaties, campagne lanceren, berichten opnieuw versturen) vereisen bevestiging van de AI-assistent voordat ze worden uitgevoerd.
