Command Palette

Search for a command to run...

UnylyUnyly
Browse all

42

FreeMaintained

42 — Model Context Protocol server

GitHubEmbed

About

42 — Model Context Protocol server

README

A Model Context Protocol server designed by Mateo LBS to interact with the 42 API. It lets AI assistants look up 42 students' profiles, progression, teams, and coalition standing, and browse campus life — locations, events, and exams.

Security Scan

Features

  • Profiles & progression: Look up any 42 student's profile, cursus progression, project statuses, earned achievements, quests, and titles by login or ID
  • Search: Search/list users with filters (campus, login, piscine year/month), paginated
  • Teams: Get the teams a user has been part of, or the full detail of a team (members, status, final mark, repo url)
  • Coalitions: Get a user's coalition membership/score, or a coalition's score history
  • Campus life: List campuses, see who's currently logged in and where, browse upcoming events and exam dates

How to Install

Add the server to your MCP client configuration:

{
  "mcpServers": {
    "42-mcp": {
      "command": "npx",
      "args": ["-y", "42-mcp-server@latest"],
      "env": {
        "FORTY_TWO_TOKEN": "<FORTY_TWO_TOKEN>",
        "FORTY_TWO_URL": "https://api.intra.42.fr"
      }
    }
  }
}

Configuration

Variable Description
FORTY_TWO_TOKEN A 42 API access token (OAuth2 Bearer token)
FORTY_TWO_URL Base URL of the 42 API (https://api.intra.42.fr)

FORTY_TWO_TOKEN is used as-is and is not refreshed automatically by the server. Get one via the Client Credentials grant, using the UID/secret of a 42 OAuth app created at profile.intra.42.fr/oauth/applications (the "public" scope is enough):

curl -X POST "https://api.intra.42.fr/oauth/token" \
  -d "grant_type=client_credentials" \
  -d "client_id=<uid>" \
  -d "client_secret=<secret>"

Copy the access_token field from the response into FORTY_TWO_TOKEN. It expires after a couple of hours (see expires_in in the response), so you'll need to repeat this and update it when it does.

Output format

The server returns JSON output.

Available Tools

Profiles & progression

Tool Description
42-get-user Get a 42 user's full profile by numeric ID or login
42-search-users List/search users with optional filters (campus, login, piscine year/month), paginated
42-get-user-cursus Get a user's progression across cursus (level, skills, blackholed_at)
42-get-user-projects Get a user's project statuses (validated/failed, mark, team)
42-get-user-achievements Get the achievements (badges) a user has earned
42-get-user-quests Get a user's quest progress (in-progress and validated quests)
42-get-user-titles Get the titles a user has unlocked

Teams

Tool Description
42-get-user-teams Get the teams a user has been part of for project defenses
42-get-team Get full details of a team by ID (members, status, final mark, repo url)

Coalitions

Tool Description
42-get-user-coalition Get a user's coalition membership and current score
42-get-coalition-scores Get the score history (points gained/lost) of a coalition

Campus life

Tool Description
42-list-campus List all 42 campuses, paginated
42-get-campus-locations Get workstation locations for a campus (who's logged in where)
42-list-events List upcoming events for a campus, paginated
42-get-event Get details of a specific event by ID
42-list-exams List exam dates for a campus, paginated

from github.com/MatLBS/42-mcp-server

Install 42 in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install 42

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add 42 --env FORTY_TWO_TOKEN="" --env FORTY_TWO_URL="" -- npx -y 42-mcp-server

Step-by-step: how to install 42

FAQ

Is 42 MCP free?

Yes, 42 MCP is free — one-click install via Unyly at no cost.

Does 42 need an API key?

Yes, it requires environment variables: FORTY_TWO_TOKEN, FORTY_TWO_URL. Unyly injects them into the config during install.

Is 42 hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install 42 in Claude Desktop, Claude Code or Cursor?

Open 42 on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare 42 with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs