ICTExam MCP is a Model Context Protocol (MCP) server used to connect to the ICTExam platform from ICT Innovations—an AI exam question generation, delivery, and automatic grading platform.
Purpose The server enables AI assistants to read a user's exams, gradebooks, and per-question item analysis data in ICTExam; and only when the user actively enables write functionality, it can also use AI to parse a test paper into a structured exam and publish the exam to students.
Main capabilities
- Read tools: always available, including reading exams, classes, subjects, gradebooks, and per-question item analysis.
- Write tools: not registered by default, and appear only after setting ICTEXAM_MCP_ALLOW_WRITE=true, including using AI to parse test papers, publish exams, etc. A default installation cannot change anything on the platform.
- Parsing test papers consumes server-side AI credits, and publishing exams makes the exam visible to students, so these write operations are all controlled by a switch.
Usage It can be run directly from npm via npx, or installed globally. Node.js 18 or later is required. Authentication parameters (such as email and password) need to be set in the MCP client's server configuration (or a .env file). A Claude Desktop configuration example is provided in the repository.
Connection mechanism ICTExam runs a FastAPI backend. The server logs in once using email and password, and maintains the session cookie for the lifetime of the process, communicating with the REST API under /api (the path is configurable). No preconfigured API key is required. The client authenticates using the account's own session cookie and echoes the CSRF token on writes, consistent with web application behavior; apart from user-provided environment variables, passwords are not stored or logged.
Use cases Suitable for users who want to query and analyze exam data, grades, and per-question analysis on the ICTExam platform through an AI assistant; after enabling writes, it is also suitable for teaching management scenarios in which AI is used to parse test papers into structured exams and publish them to students.
Limitations
- Read-only by default; write functionality must be explicitly enabled, otherwise the relevant tools are not registered at all.
- Parsing test papers consumes AI credits; publishing exams affects student visibility.
- Requires Node.js 18 or later.
- The ICTExam account'semail and password need to be configured.
Other information Built by Tahir Almas of ICT Innovations. ICTExam includes a native Moodle activity module (LTI 1.3, grade passback, and roster synchronization); for more information, see ictlms.net. The project is licensed under MIT, and issues and PRs are welcome at github.com/ictinnovations/ictexam-mcp.