fuxam-student-mcp

fuxam-student-mcp

Enables local MCP clients to explore a student's Fuxam modules, learning units, progress, schedule, and semester options, and to plan, compare, and check proposed course sets for conflicts.

Category
Visit Server

README

Fuxam Student MCP

Use Codex, Claude, and other local MCP clients to explore your Fuxam modules, learning units, progress, schedule, and semester options.

The server runs on your computer and talks directly to Fuxam. It gives the agent useful source facts and composable tools instead of trying to choose a semester for you.

Let your agent set it up

Copy this prompt into a new chat with Codex or Claude:

Set up Fuxam Student MCP for me using this documentation:
https://codecampus.tools/docs/fuxam-student-mcp

Detect which supported MCP client I am using and follow only its current instructions. Install the latest public release locally and configure it as a stdio MCP server. Complete every step you can directly, and pause only for a client UI or secret-entry action I must perform.

Never ask me to paste my Fuxam `__client` cookie into this chat, and never print or log it. When the credential is required, tell me exactly how to enter it directly into the client's local MCP configuration or secure installer prompt.

After configuration:
1. Verify the MCP entry exists without displaying the credential.
2. Start the server and confirm its tools are available.
3. Tell me if I need to restart the client or open a new chat.
4. Run one read-only check: show the module categories and learning units I can currently choose from.

Do not book or unbook courses, or join or leave waitlists, during setup.

Prefer to install it yourself? Follow the manual steps below.

Requirements

  • A CODE University Fuxam account
  • Node.js 26 or newer for command-line installation
  • Codex, Claude Code, or Claude Desktop

Get your Fuxam session cookie

Fuxam's short-lived session tokens are renewed from its Clerk __client cookie.

  1. Sign in at fuxam.app in your browser.
  2. Open the browser developer tools.
  3. In the application/storage cookie view, select https://clerk.fuxam.app.
  4. Copy the value of the __client cookie.

Treat this value like a password. Do not paste it into chat, commit it, or include it in screenshots.

Install

ChatGPT/Codex app and Codex CLI

The installed ChatGPT/Codex app and Codex CLI share the local Codex MCP configuration:

codex mcp add fuxam \
  --env FUXAM_CLERK_CLIENT='<your __client cookie>' \
  -- npx -y fuxam-student-mcp

Open a new Codex task after adding the server.

Claude Code

claude mcp add --scope user \
  -e FUXAM_CLERK_CLIENT='<your __client cookie>' \
  fuxam -- npx -y fuxam-student-mcp

Claude Desktop

Download the .mcpb file from the matching GitHub Release, open it with Claude Desktop, and paste the Clerk cookie when prompted. The bundle runs the same MCP locally and marks the cookie as sensitive configuration.

Other local MCP clients

Configure a stdio server with this executable and environment variable:

{
  "command": "npx",
  "args": ["-y", "fuxam-student-mcp"],
  "env": {
    "FUXAM_CLERK_CLIENT": "<your __client cookie>"
  }
}

The outer configuration key differs between clients. Use the client's normal local stdio MCP settings.

Try it

Good first prompts include:

  • “Show me the module categories and learning units I can currently choose from.”
  • “Help me compare these three modules, including requirements, progress, instructors, dates, and workload.”
  • “Look at my study plan and current progress, then help me assemble a realistic semester.”
  • “Check whether this proposed set of learning units has scheduling conflicts.”
  • “What deadlines and appointments do I have over the next month?”

The agent can browse by category/tag or text, batch-inspect modules and learning units, compare the result with your progress, and check a proposed course set for conflicts.

Capabilities

Planning and discovery:

  • explore_learning_options
  • search_fuxam
  • get_study_plan
  • list_enrolled_courses
  • list_bookable_courses
  • get_learning_unit_details
  • get_module_details
  • get_module_attempts
  • get_exam_details

Schedule and workload:

  • list_student_appointments
  • list_course_appointments
  • list_course_deadlines
  • list_applicable_excluded_dates
  • list_todos
  • list_pinned_courses
  • get_layer_path
  • check_course_conflicts

Account changes:

  • book_course
  • unbook_course
  • join_waitlist
  • leave_waitlist

The four account-change tools affect your real Fuxam account. They are marked as write operations for MCP clients, and each mutation verifies the resulting Fuxam state. Booking does not silently run a conflict check first.

How agents should use it

For open-ended planning, start with explore_learning_options and list_enrolled_courses. Narrow by category or search query, then batch the shortlist through get_module_details, get_learning_unit_details, and get_module_attempts. Check the complete proposed set with check_course_conflicts before presenting the tradeoffs.

Identifier names matter:

  • course id is used for booking, waitlists, and conflict checks;
  • layerId or layer_id is used for appointments and deadlines;
  • courseModuleId is the stable module ID;
  • moduleVersionId identifies one curriculum version;
  • organizationTermId identifies an academic term.

Fuxam import-derived completion totals can occasionally lag behind concrete attempt or gradedAt records. Agents should prefer the concrete records when they disagree.

Troubleshooting

FUXAM_AUTH_REQUIRED

: Sign in to Fuxam again, copy the current Clerk __client cookie, remove the old MCP entry, and add it again with the new value.

codex mcp remove fuxam
claude mcp remove --scope user fuxam

FUXAM_UNSUPPORTED_INSTITUTION

: This release supports the CODE University Fuxam environment.

FUXAM_CONTEXT_REQUIRED

: The server could not identify one active cohort and study-program context. Include the full error when opening an issue, but never include your cookie, headers, or raw Fuxam response data.

Partial results

: Some curated reads combine several Fuxam sections. If an optional upstream section is temporarily unavailable, the MCP returns the sections it could retrieve with partial: true and identifies what can be retried.

Privacy

Version 0.1 collects no telemetry. Your Fuxam credential and student data remain on your computer except for direct requests from the local MCP to Fuxam and Clerk. Tool results are sent to the MCP client you chose, subject to that client's own data controls.

License

Noncommercial use is licensed under the PolyForm Noncommercial License 1.0.0. Commercial use requires a separate written license from Maximilian Spitzer; contact the author through GitHub.

Development

npm ci
npm run check
npm run test:package
npm run package:mcpb

The package smoke test installs the generated npm tarball in a clean temporary directory, negotiates MCP over stdio, lists its tools, and verifies the credential-free startup behavior. Tests never use a live student credential or perform a Fuxam mutation.

Project status

This is an unofficial student-built client, published with permission from CODE University and Fuxam. Fuxam remains the source of truth for academic records, requirements, availability, and account state.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured