# Actual group – offres d'emploi (remote · www.actualgroup.com)

Search Actual group job offers in France, find agencies and prepare applications.

- Trust score: 73/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `www.actualgroup.com`: 73/100 (this document), [markdown](https://verifymcp.io/servers/com-actualgroup-jobs/www.md), [page](https://verifymcp.io/servers/com-actualgroup-jobs/www)

## Channel facts

- Endpoint: `https://www.actualgroup.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 59/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2340 tokens (~390/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 14/100
  - Stability check failed: schema churn in the 20 days we've observed: 0 tool removals, 5 breaking changes, 0 auth/transport breaks, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 6 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Actual group – offres d'emploi MCP server?

Actual group – offres d'emploi is a hosted endpoint at https://www.actualgroup.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-actualgroup-jobs 'https://www.actualgroup.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-actualgroup-jobs": {
      "url": "https://www.actualgroup.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-actualgroup-jobs": {
      "type": "http",
      "url": "https://www.actualgroup.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-actualgroup-jobs]
url = "https://www.actualgroup.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-actualgroup-jobs": {
      "type": "remote",
      "url": "https://www.actualgroup.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-actualgroup-jobs --url 'https://www.actualgroup.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-actualgroup-jobs:
    url: "https://www.actualgroup.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-actualgroup-jobs": {
      "Transport": "http",
      "Url": "https://www.actualgroup.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-actualgroup-jobs -t streamable-http -u 'https://www.actualgroup.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-actualgroup-jobs": {
      "type": "http",
      "url": "https://www.actualgroup.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 11 to 14.

### 2026-11-03 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 4 to 7.

### 2026-10-24 (score 71, +1)

- [functional improvement] Schema quality: 486 → 390
- [cosmetic] “find_agencies” reworded the description of “context”
- [cosmetic] “find_best_agency” reworded the description of “context”
- [cosmetic] “get_offer” reworded the description of “context”
- [cosmetic] “list_offer_facets” reworded the description of “context”
- [cosmetic] “search_offers” reworded the description of “context”
- [cosmetic] “start_application” reworded the description of “context”

### 2026-10-23 (score 70, −5)

- [security regression] Stability: 0.20 → fail
- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [security] Tool “find_agencies” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 165 → 486
- [functional regression] “find_agencies” added a required parameter “context”, so existing callers break
- [functional regression] “find_agencies” added a required parameter “llm_model”, so existing callers break
- [functional regression] “get_offer” added a required parameter “context”, so existing callers break
- [functional regression] “get_offer” added a required parameter “llm_model”, so existing callers break
- [functional regression] “list_offer_facets” added a required parameter “context”, so existing callers break
- [functional regression] “list_offer_facets” added a required parameter “llm_model”, so existing callers break
- [functional regression] “search_offers” added a required parameter “context”, so existing callers break
- [functional regression] “search_offers” added a required parameter “llm_model”, so existing callers break
- [functional regression] “start_application” added a required parameter “context”, so existing callers break
- [functional regression] “start_application” added a required parameter “llm_model”, so existing callers break
- [functional] Schema quality: good → excellent
- [functional] New tool “find_best_agency”
- [cosmetic] “find_agencies” added an optional parameter “conversation_id”
- [cosmetic] “get_offer” added an optional parameter “conversation_id”
- [cosmetic] “list_offer_facets” added an optional parameter “conversation_id”
- [cosmetic] “search_offers” added an optional parameter “agencyCode”
- [cosmetic] “search_offers” added an optional parameter “conversation_id”
- [cosmetic] “start_application” added an optional parameter “conversation_id”

### 2026-10-21 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-19 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-17 (score 73, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-16 (score 72)

First indexed and scored.

## MCP tools (6)

### `find_agencies` (~313 tokens)

Find Actual group agencies

Actual group employment agencies (about 780 in France) in a town or a region, with address and specialties. Candidates can visit or call an agency for advice, registration or follow-up on their applications. To recommend the single most relevant agency for a job, use find_best_agency instead.

Input parameters:

- `city` (string): Town name, e.g. "Nantes".
- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `limit` (integer): Maximum number of agencies returned. Defaults to 20.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `region` (string): French region name, e.g. "Pays de la Loire".

### `find_best_agency` (~505 tokens)

Find the most relevant Actual group agency

Recommend the Actual group agency, office, training centre or school best suited to a person's need, near a place in France. Covers employment agencies (intérim, CDD, CDI), Actual Talent offices (talent acquisition and assessment, mostly white-collar), Envergure centres (vocational training, skills assessment, career transition) and the group's schools (eSUP, Holberton…, often work-study). Ranks them by open offers for the given job, specialty (construction, logistics, medical, white-collar, school domain…) and distance. Returns address, phone, opening status and why each agency was picked. Pass the returned agency code to search_offers (agencyCode) to list that agency's offers.

Input parameters:

- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `job` (string): Job or field the person is looking for or hiring for, e.g. "électricien", "cariste", "aide-soignant".
- `limit` (integer): Number of agencies to return, 1 to 5. Defaults to 3.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `location` (string, required): French town or postal code, e.g. "Le Mans" or "72000".
- `purpose` (string): find_job: a candidate looking for work (default). hire: a company looking to recruit. assessment: a company wanting candidates or staff assessed (Actual Talent). training: vocational training, skills…

### `get_offer` (~276 tokens)

Get a job offer

Full details of one Actual group job offer: description, required profile, salary, schedule, benefits and recruiting agency. Takes the slug returned by search_offers (also the last segment of the offer URL).

Input parameters:

- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `lang` (string): Language of the offer text. Defaults to fr.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `slug` (string, required): Offer slug, from search_offers or the offer URL.

### `list_offer_facets` (~285 tokens)

List offer filter values

Exact filter values accepted by search_offers for one dimension (contract type, job family, industry or region), with the number of open offers for each. Optionally scoped by a query and a town.

Input parameters:

- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `dimension` (string, required): Which filter to list.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `q` (string): Optional free text to scope the counts.
- `town` (string): Optional town or postal code to scope the counts.

### `search_offers` (~534 tokens)

Search job offers

Search the job offers (temporary work, fixed-term and permanent contracts) published by Actual group in France. Combine a free-text query with a town and filters. Filter values for contractType, family, industry and region must be exact French values: get them from list_offer_facets. Use get_offer with a result's slug for the full offer.

Input parameters:

- `agencyCode` (string): Only offers handled by this agency: the agency code returned by find_best_agency.
- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `contractType` (array): Contract types (exact values from list_offer_facets), e.g. ["Contrat de travail temporaire", "CDI"].
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `family` (array): Job families (exact values from list_offer_facets).
- `industry` (array): Industries (exact values from list_offer_facets).
- `lang` (string): Language of the offer texts and URLs. Defaults to fr.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `page` (integer): Page number, from 1.
- `pageSize` (integer): Results per page, 1 to 20. Defaults to 10.
- `q` (string): Free text: job title, skill or keyword, e.g. "cariste", "soudeur TIG", "aide-soignant".
- `radius`: Search radius in km around the town. Defaults to 20.
- `region` (array): French regions (exact values from list_offer_facets), e.g. ["Bretagne"].
- `sort` (string): Sort order. Defaults to relevance.
- `town` (string): French town or postal code to search around, e.g. "Rennes" or "35000".

### `start_application` (~370 tokens)

Start a job application

Prepare an application to an Actual group offer on behalf of the candidate you are assisting. Returns a personal link, valid 72 hours, that the candidate must open to attach their CV and give consent to the processing of their data; the application is only sent once they submit that page. Only call this when the candidate has asked to apply and given you their name and email. Never submit the page yourself: give the link to the candidate.

Input parameters:

- `context` (string, required): Why are you calling this tool? Describe the job seeker's or recruiter's goal in one short sentence. Do not include names, emails or phone numbers.
- `conversation_id` (string): Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Kee…
- `email` (string, required): Candidate email address.
- `firstName` (string, required): Candidate first name.
- `lang` (string): Language of the application page. Defaults to fr.
- `lastName` (string, required): Candidate last name.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `phoneNumber` (string): Candidate phone number, optional.
- `slug` (string, required): Slug of the offer, from search_offers or get_offer.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-actualgroup-jobs/www#diagnostics

## Score history

- 2026-11-05: 73
- 2026-11-04: 72
- 2026-11-03: 72
- 2026-11-02: 71
- 2026-11-01: 71
- 2026-10-31: 71
- 2026-10-30: 71
- 2026-10-29: 71
- 2026-10-28: 71
- 2026-10-27: 71
- 2026-10-26: 71
- 2026-10-25: 71
- 2026-10-24: 71
- 2026-10-23: 70
- 2026-10-22: 75
- 2026-10-21: 75
- 2026-10-20: 74
- 2026-10-19: 74
- 2026-10-18: 73
- 2026-10-17: 73
- 2026-10-16: 72

## Common questions

### What is the Actual group – offres d'emploi MCP server?

Actual group – offres d'emploi is an MCP server listed in the public MCP registry as com.actualgroup/jobs. Search Actual group job offers in France, find agencies and prepare applications. This page covers its hosted endpoint (https://www.actualgroup.com/mcp).

### Is the Actual group – offres d'emploi MCP server safe to use?

Actual group – offres d'emploi scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Actual group – offres d'emploi MCP server expose?

Actual group – offres d'emploi exposes 6 tools: find_agencies, find_best_agency, get_offer, list_offer_facets, search_offers, start_application. Their descriptions and schemas cost roughly 2,283 tokens of context every time the server is loaded.

### Does the Actual group – offres d'emploi MCP server require authentication?

No. We connected to Actual group – offres d'emploi without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Actual group – offres d'emploi MCP server still maintained?

Actual group – offres d'emploi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://www.actualgroup.com/mcp
- Website: https://www.actualgroup.com/offres-emploi
- Changelog RSS feed: https://verifymcp.io/servers/com-actualgroup-jobs/www.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-actualgroup-jobs/www.json
- HTML version of this page: https://verifymcp.io/servers/com-actualgroup-jobs/www
