Skip to main content
Glama

edhec-mcp

licence: MIT MCP server node ≥ 20 security tests unofficial

An unofficial MCP server that connects Claude to Blackboard, Aurion, PaperCut ePrinting and the campus restaurant. Ask for your timetable, download a whole course, print a case stapled or check today's menu, in one sentence. It runs on your own computer and signs in with your normal EDHEC Microsoft login. It never sees your password.

Quick start · What you can ask · All tools · Security · FAQ


What it is

edhec-mcp is a Model Context Protocol (MCP) server for EDHEC Business School students. MCP is the standard way to give AI assistants like Claude new tools. Once you add this server, Claude can work with the four systems you use every week:

System

What Claude can do with it

Blackboard Learn (learning.edhec.edu)

List courses, read content and announcements, download all files, see grades and deadlines

Aurion (aurion.edhec.edu)

Timetable with rooms, grades, absences, free rooms right now, school certificate PDF

PaperCut ePrinting (eprinting.edhec.edu)

Print A4, A3 or stapled, check your print quota, cancel jobs

Campus food (ALL La Catho · MONEWEB)

Today's menu, card balance and history, snack-corner pre-orders (beta)


Related MCP server: ecoledirecte-mcp

What you can ask

Every animation below is a mockup with fictional sample data. The tool names are the real ones.

"What do I have tomorrow?"

Claude reads your Aurion timetable and your Blackboard deadlines in one go, so you get rooms, teachers and due dates in one answer.

"Download the whole course"

Every attachment lands in a clean folder structure (one folder per session). Harvard course-pack links are listed, never scraped.

"Print it, stapled"

Jobs wait in the queue until you tap your card at any campus printer. Claude checks your quota and can cancel a job you no longer need.

"What's for lunch, and can I afford it?"

The menu is published as a PDF. The server hands Claude the pages as images, so Claude reads dishes and prices itself and compares them with your card balance.

"Pre-order from the snack corner" (beta)

Ordering always takes two steps. Claude first shows items, prices, pickup time and your balance afterwards. Nothing is booked until you confirm that exact summary. Snack-corner ordering is only open in the morning (until about 10:00).

"Admin stuff, done"

Check absences before they cost you points, and get your certificat de scolarité as a PDF for your bank, landlord or visa.


Prompt cookbook

Copy any of these into Claude once the server is installed.

  • What's on my timetable today, and which rooms are free near my next class right now?

  • Do I have anything due in the next 10 days across all my courses?

  • What did the professors announce this week? Summarise in five bullets.

  • What's for lunch at the EDHEC restaurant today and how much is left on my card?

  • Download everything for Session 3 of my M&A course into ~/Documents/EDHEC/M&A.

  • Read the case for tomorrow and give me the 20 facts most likely to come up in a multiple-choice quiz.

  • Turn the self-study questions from the syllabus into short answer outlines.

  • Print the case stapled and the summary on A4.

  • List every graded item in all my courses with points and due dates.

  • Show my grades and any resit sessions.

  • Do I have absences that could affect my grade? Which ones still need a proof?

  • Download my school certificate into ~/Documents/Admin.

  • Which groups and optional courses am I registered in?

  • Get the academic calendar for this year.

  • Show my last 10 purchases with the campus card.

  • What can I book through MONEWEB right now?

  • (beta, mornings) Pre-order a sandwich and a drink for 12:30 from the snack corner.


Quick start

You need: Node.js 20 or newer, Google Chrome, and an EDHEC account. Works on macOS, Windows and Linux.

1. Install

git clone https://github.com/Sillvs/edhec-mcp.git
cd edhec-mcp
npm ci
npm test

2. Sign in once. A Chrome window opens. Log in with your EDHEC Microsoft account and choose Stay signed in. The window closes by itself.

npm run login

3. Add it to Claude

claude mcp add --scope user edhec -- node /absolute/path/to/edhec-mcp/src/index.js

Settings → Developer → Edit Config, then add:

{
  "mcpServers": {
    "edhec": {
      "command": "node",
      "args": ["/absolute/path/to/edhec-mcp/src/index.js"]
    }
  }
}

Restart Claude Desktop.

It is a standard stdio MCP server: command node, argument /absolute/path/to/edhec-mcp/src/index.js.

4. Try it: "What's on my timetable this week?"

If your session ever expires, Claude tells you and can call edhec_login to open the sign-in window again.


All tools

Tool

What it does

Changes anything?

bb_list_courses

Your enrolled courses, most recent first

No

bb_course_contents

Folders, sessions, files, links and text of a course

No

bb_download_files

Saves all course files into a local folder, keeping the structure

Writes files on your disk

bb_announcements

Course announcements as plain text

No

bb_grades

Gradebook items, due dates, points, your grade where visible

No

bb_upcoming

Deadlines across all courses for the next N days

No

bb_api_get

Read-only call to any Blackboard public REST endpoint

No

Tool

What it does

Changes anything?

aurion_timetable

Classes between two dates: course, room, teacher, type, on campus or online

No

aurion_view

grades, resit_grades, resit_sessions, absences, proofs_of_absence, optional_courses, options, lv2_courses, groups, rooms_now, rooms_morning, rooms_afternoon, academic_calendar

No

aurion_certificate

Downloads your school attendance certificate (PDF)

Writes a file on your disk

Tool

What it does

Changes anything?

eprint_status

Print quota and jobs waiting for release

No

eprint_submit

Sends PDFs, Office files or images to a4, a3 or staple

Yes, uses print quota when released

eprint_cancel

Cancels one held job by name

Yes

Tool

What it does

Changes anything?

resto_menu

Today's menu as images (one per page), optional PDF download

No

resto_balance

Campus card balance and last visit

No

resto_history

Recent purchases and top-ups

No

resto_services

What you can book on MONEWEB right now

No

resto_order_prepare (beta)

Builds a snack-corner order: items, prices, pickup slot, balance after

No

resto_order_confirm (beta)

Places exactly the prepared order after you confirmed it

Yes, pays from your card

Beta: the two order tools ship after a live test of the snack-corner flow (it only opens in the morning). Until then they are not part of the server. Watch the CHANGELOG.

Tool

What it does

edhec_login

Opens a Chrome window so you can sign in yourself (Microsoft SSO)

The server never submits assignments, takes tests, posts in discussions, reports absences or tops up your card.


How it works

  • Blackboard: the official Blackboard Learn REST API, called with your own session. No app key needed.

  • Aurion: reads the same pages you see. The timetable comes straight from Aurion's calendar data, so it includes rooms and teachers.

  • ePrinting: PaperCut has no student API, so the server fills in the Web Print form for you.

  • Campus food: the menu PDF from ALL La Catho and the MONEWEB JSON API for balance, history and bookings. Sign-in uses the EDHEC - Connect button.

  • One Chrome profile, one request at a time, closed after 5 idle minutes.


Security and privacy

This server acts as you, so it is built to be boring and safe.

Risk

What edhec-mcp does

Your password

Never handled. You sign in yourself in a real Chrome window.

Session cookies leaking

Stored only in ~/.edhec-mcp/profile (permissions 700). Every result and error is scrubbed of cookies, tokens, badge and student numbers.

Talking to other servers

Requests only go to EDHEC services (plus Microsoft and Keycloak during sign-in). No telemetry.

Malicious file names on Blackboard

Names are cleaned (.., hidden files, Windows names, unicode tricks) and every write is checked to stay inside your folder. Nothing is ever overwritten. Programs and scripts are skipped.

Writing into sensitive folders

Downloads into ~/.ssh, ~/.config, ~/Library, ~/.claude, your home folder itself and system folders are refused.

Printing your secrets

Only documents and images can be printed. Hidden folders and secret stores are refused, symlinks are resolved first.

Prompt injection

Course texts are marked as untrusted data. There is no tool that can send your files anywhere except EDHEC printers.

Spending money

Ordering needs a fresh, single-use confirmation that matches the summary you saw, expires after 10 minutes and is refused above your balance.

All tools declare MCP readOnlyHint / destructiveHint. Recommendation: in Claude Code, allow read-only tools if you like, but keep eprint_submit, eprint_cancel and resto_order_confirm on ask every time.

Run the checks yourself with npm test. Found a problem? See SECURITY.md.


FAQ

Is this an official EDHEC tool?

No. It is a student project, not affiliated with or endorsed by EDHEC Business School, Anthology (Blackboard), PaperCut, the makers of Aurion, ALL La Catho or JES Labs (MONEWEB). Use it for your own account and follow the EDHEC IT charter.

Does it store my password?

No. You type your password into Microsoft's own login page in a normal Chrome window. The server only reuses the session cookie, like your browser does. Delete ~/.edhec-mcp to sign out everywhere.

Can it submit assignments or take quizzes for me?

No. There are no tools for that, on purpose.

Which Claude apps work?

Claude Code, Claude Desktop and any other MCP client that supports stdio servers.

Does it work outside EDHEC?

The Blackboard and PaperCut parts work with any school that uses them, if you change the URLs in src/browser.js. Aurion and the food services are EDHEC-specific.

Does it cost anything?

The server is free and MIT licensed. Printing uses your normal print quota and food orders are paid from your campus card, both only after you ask.

Why does Chrome need to be installed?

Some EDHEC systems have no API for students, so the server uses a hidden Chrome window to read them the same way you would.


Troubleshooting

Problem

Fix

"Not signed in to …"

Run npm run login, or let Claude call edhec_login.

"Profile is already in use"

Close the sign-in window or the other Claude session using the server.

"Google Chrome was not found"

Install Chrome, or set EDHEC_MCP_BROWSER_CHANNEL=msedge or chromium.

Snack-corner service not listed

Ordering is only open in the morning (until about 10:00).

Printer names changed

Edit PRINTERS in src/eprint.js.

Configuration

Variable

Default

Meaning

EDHEC_MCP_PROFILE

~/.edhec-mcp/profile

Where the browser session is stored

EDHEC_MCP_BROWSER_CHANNEL

chrome

chrome, msedge or chromium

EDHEC_MCP_DEBUG

off

Saves a screenshot to your temp folder when an SSO step fails

Development

npm test                         # security tests, offline
node test/e2e.mjs                # all read-only tools end to end, needs a signed-in profile
node tools/make-docs-assets.mjs  # regenerate the README animations (fictional data)
src/
  index.js       MCP tools and result scrubbing
  safety.js      redaction, safe file names, protected folders
  browser.js     Chrome profile and SSO
  blackboard.js  Blackboard Learn REST API
  aurion.js      Aurion timetable, records, certificate
  eprint.js      PaperCut Web Print
  resto.js       ALL La Catho menu, MONEWEB balance and bookings

Pull requests are welcome. Never commit real course material, grades, cookies or screenshots with personal data.


More for EDHEC students

edhec-project-template

Hand in work that looks like you meant it. Slides, a paper and a one-page leave-behind in the EDHEC design. Write plain HTML, get a PDF and an editable PowerPoint, with no build step.

Works well together: let edhec-mcp download the case and your notes from Blackboard, then build your deck with the template and print it stapled with eprint_submit.

Use the template →


Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers