Catalog npm
PACKAGE EXPLORERView in registry

42-mcp-server

npm

A [Model Context Protocol](https://modelcontextprotocol.io) server designed by [Mateo LBS](https://github.com/MatLBS) to interact with the [42 API](https://api.intra.42.fr). It lets AI assistants look up 42 students' profiles, progression, teams, and coal

4242-api42-mcp-serveraiai-agentllmmcpmodel-context-protocol
Versions collected2
Direct dependencies6From release 1.0.3
Last observed20 Oct, 19:59 UTC

README

Current package documentation

42 MCP Server

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

VariableDescription
FORTY_TWO_TOKENA 42 API access token (OAuth2 Bearer token)
FORTY_TWO_URLBase 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

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

Teams

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

Coalitions

ToolDescription
42-get-user-coalitionGet a user's coalition membership and current score
42-get-coalition-scoresGet the score history (points gained/lost) of a coalition

Campus life

ToolDescription
42-list-campusList all 42 campuses, paginated
42-get-campus-locationsGet workstation locations for a campus (who's logged in where)
42-list-eventsList upcoming events for a campus, paginated
42-get-eventGet details of a specific event by ID
42-list-examsList exam dates for a campus, paginated

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 2

Collected releases
VersionPublishedDirect dependenciesOpen version
1.0.3Registry latest20 Jun 20266
1.0.016 Jun 20266

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
matlbs/42-mcp-server

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:59 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:cd5bdb379ccbb4a7ea2df2fb373281585f72717ec8a345c12189cec5cc4c01b9