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.
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.
- Sign in at fuxam.app in your browser.
- Open the browser developer tools.
- In the application/storage cookie view, select
https://clerk.fuxam.app. - Copy the value of the
__clientcookie.
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_optionssearch_fuxamget_study_planlist_enrolled_courseslist_bookable_coursesget_learning_unit_detailsget_module_detailsget_module_attemptsget_exam_details
Schedule and workload:
list_student_appointmentslist_course_appointmentslist_course_deadlineslist_applicable_excluded_dateslist_todoslist_pinned_coursesget_layer_pathcheck_course_conflicts
Account changes:
book_courseunbook_coursejoin_waitlistleave_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
idis used for booking, waitlists, and conflict checks; layerIdorlayer_idis used for appointments and deadlines;courseModuleIdis the stable module ID;moduleVersionIdidentifies one curriculum version;organizationTermIdidentifies 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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.