tudelft-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tudelft-mcpWhat is due this week across my courses?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What it does
tudelft-mcp is an MCP server that runs on your own machine and gives Claude, ChatGPT, Codex, Cursor, VS Code, Windsurf, Zed, Gemini CLI or any other MCP client access to your Brightspace courses, your official OSIRIS records on my.tudelft.nl, your MyTimetable schedule and the public Study Guide. You sign in once in a browser window; after that the session renews itself. Write actions (submitting an assignment, joining a group, replying in a discussion, registering for a course or exam) always show a preview first and only go through after you confirm.
Things you can ask once it is connected:
What is due this week across my courses?
Summarise the lecture slides for week 3 of EE4109.
What changed in my courses since yesterday?
Show my official OSIRIS grades and my weighted average.
What is my timetable for tomorrow, and where are the rooms?
Find the section about Nyquist stability in my course materials.
Related MCP server: osiris-mcp-server
Install
macOS and Linux:
curl -fsSL https://danieltyukov.github.io/tudelft-mcp/install.sh | shWindows (PowerShell):
irm https://danieltyukov.github.io/tudelft-mcp/install.ps1 | iexWith npm on any platform:
npm install -g tudelft-mcp && tudelft-mcp setup && tudelft-mcp loginThen sign in once:
tudelft-mcp loginA browser window opens on the university login page. Finish the sign-in there, including MFA. Brightspace, OSIRIS and MyTimetable connect in that same window and the window closes when it is done.
Connect a client
tudelft-mcp setup detects the MCP clients installed on your machine and writes their config. Supported: Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Zed, Codex, Gemini CLI and Cline. Use --dry-run to see what it would write, or --client <name> for one client. Details per client are in docs/clients.md.
ChatGPT connects over HTTP instead of stdio:
tudelft-mcp serve --http --tunnelThis prints a public URL and a bearer token to paste into ChatGPT's connector settings. Desktop clients can stay connected at the same time.
Requirements
Node 20 or newer.
Google Chrome, Microsoft Edge, Chromium or Brave. Without any of them, run
tudelft-mcp browser installto download a Chromium build.A TU Delft account.
Tools
Area | Tools |
Sign-in |
|
Courses and materials |
|
Announcements and assignments |
|
Grades and planning |
|
OSIRIS |
|
Timetable |
|
Study Guide and campus |
|
Discussions and groups |
|
The full list with input fields and annotations is generated into docs/tools.md by npm run docs:tools.
How sign-in works
tudelft-mcp login opens one window of your own browser on the Brightspace login page, waits for you to finish the university sign-in, and then connects OSIRIS and MyTimetable in the same window without asking again. The browser profile is kept under ~/.tudelft-mcp/profile, so the university session cookies survive restarts. When an API call is rejected, the server opens that profile headless, lets the single sign-on complete without a window, and captures fresh tokens; this works for as long as the university session itself is valid. When the university asks for a password or MFA again, tools return AUTH_REQUIRED and you run tudelft-mcp login once more.
Privacy
Everything runs locally; there is no hosted backend. Cookies, tokens and the calendar feed URL are stored under ~/.tudelft-mcp with owner-only permissions (wrapped with DPAPI on Windows) and are never returned to the model. Query strings that look like credentials are stripped from every link a tool returns. Your password and MFA are typed only in the university's own pages. tudelft-mcp logout removes the saved sessions and the browser profile.
Development
npm ci
npm run check # typecheck, lint, tests, build
npm run dev -- status # run the CLI from sourceUnit tests use fixtures and a mocked fetch. Tests under tests/live/ talk to the real services from a signed-in machine and only run with TUDELFT_LIVE=1; they never run in CI.
Contributing
See CONTRIBUTING.md for the setup, how to add a tool, and the rules for fixtures. Security issues go through SECURITY.md.
License
MIT. See LICENSE.
Not affiliated with TU Delft.
This server cannot be deployed
Maintenance
Related MCP Connectors
Permissioned access to Outlook, OneDrive and Teams via the user's own Microsoft account
Hosted MCP server with managed OAuth for 15+ toolkits: Google Workspace, Fitbit, Oura, Kalshi, etc.
Remote MCP server for training, nutrition, wellness, and performance data with OAuth 2.0.
MCP adapter for the Paxaver school community platform. Streamable HTTP, OAuth 2.1, capability auth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables interaction with D2L Brightspace through the MCP protocol, supporting multi-strategy authentication and opt-in write operations.117 npm12MIT
- AlicenseBqualityCmaintenanceExposes Dutch university Osiris course catalogs as MCP tools, enabling search, retrieval, and exploration of course information across multiple institutions via the public Osiris Student API.10MIT
- FlicenseBqualityBmaintenanceEnables MCP-compatible AI clients to securely read a user's Microsoft 365 data across Outlook, Calendar, Teams, meetings, OneNote, SharePoint, OneDrive, Loop, and Search, and to send Outlook email only after explicit user confirmation.103-
- FlicenseAqualityCmaintenanceEnables read-only interaction with CMU Student Information Online data, including student context, schedules, grades, enrollment, account activity, and campus life through MCP tools.8-