io.github.ictinnovations/ictexam-mcp
Read exams, gradebooks and item analysis; parse papers with AI and publish exams.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
ictexam-mcpclaude mcp add ictexam-mcp -e 'ICTEXAM_BASE_URL=<ICTEXAM_BASE_URL>' -e 'ICTEXAM_EMAIL=<ICTEXAM_EMAIL>' -e 'ICTEXAM_PASSWORD=<your ictexam_password>' -e 'ICTEXAM_API_PREFIX=/api' -e 'ICTEXAM_MCP_ALLOW_WRITE=false' -e 'ICTEXAM_TIMEOUT_MS=60000' -e 'ICTEXAM_TLS_INSECURE=false' -- npx -y ictexam-mcp@0.1.1
{
"mcpServers": {
"ictexam-mcp": {
"command": "npx",
"args": [
"-y",
"ictexam-mcp@0.1.1"
],
"env": {
"ICTEXAM_BASE_URL": "<ICTEXAM_BASE_URL>",
"ICTEXAM_EMAIL": "<ICTEXAM_EMAIL>",
"ICTEXAM_PASSWORD": "<your ictexam_password>",
"ICTEXAM_API_PREFIX": "/api",
"ICTEXAM_MCP_ALLOW_WRITE": "false",
"ICTEXAM_TIMEOUT_MS": "60000",
"ICTEXAM_TLS_INSECURE": "false"
}
}
}
}
Variables d'environnement
ICTEXAM_BASE_URLobligatoire Base URL of your ICTExam site, e.g. https://app.ictlms.net (no trailing /api).ICTEXAM_EMAILobligatoire A teacher or admin account email.ICTEXAM_PASSWORDobligatoire secret Password for the account.ICTEXAM_API_PREFIXPath the API is mounted under. Defaults to /api (behind the usual reverse proxy). Set empty to talk to the backend port directly.ICTEXAM_MCP_ALLOW_WRITEUnlocks the write tools: parse a paper with AI (spends server AI credit), publish and unpublish exams. When false these tools are not registered at all. Leave off unless you mean it.ICTEXAM_TIMEOUT_MSPer request timeout in milliseconds. Defaults to 60000 (AI parsing can be slow).ICTEXAM_TLS_INSECURESkip TLS certificate verification. Only for a self-signed test server.
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
ictexam-mcp
A Model Context Protocol server for ICTExam, the AI exam authoring, delivery and auto-grading platform from ICT Innovations.
It lets an AI assistant read your exams, gradebooks and per-question item analysis, and — only when you turn writes on — parse a question paper into a structured exam with AI and publish exams to students.
Install
Run it straight from npm with npx, or install it globally:
npx -y ictexam-mcp # no install
npm install -g ictexam-mcp
Requires Node.js 18 or newer.
Configure
Set these in your MCP client's server config (or a .env):
| Variable | Required | Default | |
|---|---|---|---|
ICTEXAM_BASE_URL | yes | Your site, e.g. https://app.ictlms.net (no trailing /api) | |
ICTEXAM_EMAIL | yes | A teacher or admin account | |
ICTEXAM_PASSWORD | yes | Password for that account | |
ICTEXAM_API_PREFIX | no | /api | API mount path; set empty to hit the backend port directly |
ICTEXAM_MCP_ALLOW_WRITE | no | false | Unlock the write tools (see Safety) |
ICTEXAM_TIMEOUT_MS | no | 60000 | Per-request timeout (AI parsing can be slow) |
ICTEXAM_TLS_INSECURE | no | false | Skip TLS verification — self-signed test servers only |
Claude Desktop example
{
"mcpServers": {
"ictexam": {
"command": "npx",
"args": ["-y", "ictexam-mcp"],
"env": {
"ICTEXAM_BASE_URL": "https://app.ictlms.net",
"ICTEXAM_EMAIL": "teacher@example.com",
"ICTEXAM_PASSWORD": "your-password"
}
}
}
}
Tools
Read tools are always available:
| Tool | What it does |
|---|---|
ictexam_list_exams | List exam papers (id, title, status, class, subject) |
ictexam_get_exam | One paper's settings, share links and questions |
ictexam_list_classes | Classes (course groups) |
ictexam_list_subjects | Subjects, each tied to a class |
ictexam_gradebook | Per-exam totals and student marks |
ictexam_item_analysis | Per-question difficulty, p-value and average mark |
Write tools appear only when ICTEXAM_MCP_ALLOW_WRITE=true:
| Tool | What it does |
|---|---|
ictexam_parse_question_paper | Upload a local PDF/DOCX and AI-extract the questions |
ictexam_publish_exam | Publish a paper; returns student and teacher share URLs |
ictexam_unpublish_exam | Set a paper back to draft |
Safety
The server is read-only by default. The three write tools are not registered
at all unless you set ICTEXAM_MCP_ALLOW_WRITE=true, so a default install cannot
change anything on the platform. Parsing a paper spends AI credit on the server,
and publishing makes an exam live for students — both sit behind that switch on
purpose. The client authenticates with the account's own session cookie and
echoes the CSRF token on writes, exactly as the web app does; it never stores or
logs your password beyond the environment you give it.
How it connects
ICTExam runs a FastAPI backend. The server signs in once with your email and
password, keeps the session cookie for the life of the process, and talks to the
REST API under /api (configurable). No API key to provision.
About
Built by Tahir Almas at ICT Innovations — the team behind ICTExam, ICTContact, ICTDialer, ICTFax and ICTPBX. ICTExam ships with a native Moodle activity module (LTI 1.3, grade passback and roster sync); learn more at ictlms.net.
MIT licensed. Issues and PRs welcome at github.com/ictinnovations/ictexam-mcp.
Questions fréquentes
Qu'est-ce que io.github.ictinnovations/ictexam-mcp ?
Read exams, gradebooks and item analysis; parse papers with AI and publish exams.
Comment installer io.github.ictinnovations/ictexam-mcp ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add ictexam-mcp -e 'ICTEXAM_BASE_URL=<ICTEXAM_BASE_URL>' -e 'ICTEXAM_EMAIL=<ICTEXAM_EMAIL>' -e 'ICTEXAM_PASSWORD=<your ictexam_password>' -e 'ICTEXAM_API_PREFIX=/api' -e 'ICTEXAM_MCP_ALLOW_WRITE=false' -e 'ICTEXAM_TIMEOUT_MS=60000' -e 'ICTEXAM_TLS_INSECURE=false' -- npx -y ictexam-mcp@0.1.1. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour io.github.ictinnovations/ictexam-mcp ?
Oui. Il attend ICTEXAM_BASE_URL, ICTEXAM_EMAIL, ICTEXAM_PASSWORD, à renseigner dans sa configuration.
io.github.ictinnovations/ictexam-mcp est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient io.github.ictinnovations/ictexam-mcp ?
Il est publié par ictinnovations. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.