Ictexam Mcp

io.github.ictinnovationsPublished by GitHub account ictinnovationsv0.1.1Updated Nov 2, 2026

Read exams, gradebooks and item analysis; parse papers with AI and publish exams.

Overview

AI-generated overview

Connects an assistant to an ICTExam server to read exam papers, gradebooks and item analysis, and optionally parse and publish exams.

What you can do
  • List and inspect exam papers, including settings, timing, share links and questions
  • List classes and subjects to find the right class or subject ids
  • Read the teacher gradebook with per-exam totals and student marks
  • Get per-question item analysis: difficulty, p-value, average mark and credit distribution
  • When writes are enabled: parse a local PDF or DOCX into a structured exam with AI, publish a paper, or set it back to draft
When to use it
Useful for teachers or admins who want an assistant to look up exam status, review student results and question-level statistics, or turn a question paper into a structured exam without opening the web app.
Requirements
Runs locally via npx or a global npm install; needs Node.js 18 or newer. Requires ICTEXAM_BASE_URL, ICTEXAM_EMAIL and ICTEXAM_PASSWORD for a teacher or admin account. Optional: ICTEXAM_API_PREFIX, ICTEXAM_TIMEOUT_MS, ICTEXAM_TLS_INSECURE and ICTEXAM_MCP_ALLOW_WRITE. Network access to the ICTExam site is needed.
Before you install
The account password is supplied through ICTEXAM_PASSWORD and used to sign in; the server keeps a session cookie for the process lifetime. Write tools are off unless ICTEXAM_MCP_ALLOW_WRITE=true; enabling them allows AI parsing that spends server AI credit and publishing that makes an exam live for students. ICTEXAM_TLS_INSECURE disables certificate checks and should only be used on self-signed test servers.

Installation

In SourceWeft

  1. Open Ictexam Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

bash
npx -y ictexam-mcp      # no installnpm install -g ictexam-mcp

Requires Node.js 18 or newer.

Configure

Set these in your MCP client's server config (or a .env):

VariableRequiredDefault
ICTEXAM_BASE_URLyesYour site, e.g. https://app.ictlms.net (no trailing /api)
ICTEXAM_EMAILyesA teacher or admin account
ICTEXAM_PASSWORDyesPassword for that account
ICTEXAM_API_PREFIXno/apiAPI mount path; set empty to hit the backend port directly
ICTEXAM_MCP_ALLOW_WRITEnofalseUnlock the write tools (see Safety)
ICTEXAM_TIMEOUT_MSno60000Per-request timeout (AI parsing can be slow)
ICTEXAM_TLS_INSECUREnofalseSkip TLS verification — self-signed test servers only

Claude Desktop example

json
{  "mcpServers": {    "ictexam": {      "command": "npx",      "args": ["-y", "ictexam-mcp"],      "env": {        "ICTEXAM_BASE_URL": "https://app.ictlms.net",        "ICTEXAM_EMAIL": "[email protected]",        "ICTEXAM_PASSWORD": "your-password"      }    }  }}

Tools

Read tools are always available:

ToolWhat it does
ictexam_list_examsList exam papers (id, title, status, class, subject)
ictexam_get_examOne paper's settings, share links and questions
ictexam_list_classesClasses (course groups)
ictexam_list_subjectsSubjects, each tied to a class
ictexam_gradebookPer-exam totals and student marks
ictexam_item_analysisPer-question difficulty, p-value and average mark

Write tools appear only when ICTEXAM_MCP_ALLOW_WRITE=true:

ToolWhat it does
ictexam_parse_question_paperUpload a local PDF/DOCX and AI-extract the questions
ictexam_publish_examPublish a paper; returns student and teacher share URLs
ictexam_unpublish_examSet 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.

Source: README.md at commit 04e438e

Tools

6

ictexam_list_exams

List exams

List exam papers (assessments) on ICTExam: id, title, status (draft/published), class and subject. Start here to find an exam's id. Optionally filter by class_id or subject_id.

Parametersclass_idsubject_id

ictexam_get_exam

Get one exam

Get a single exam paper by id: its settings, timing, share links and questions.

Parametersassessment_idrequired

ictexam_list_classes

List classes

List the classes (course groups) defined on ICTExam.

Takes no parameters.

ictexam_list_subjects

List subjects

List the subjects on ICTExam, each tied to a class.

Takes no parameters.

ictexam_gradebook

Teacher gradebook

Get the teacher gradebook: per-exam totals and student marks. Optionally filter by class_id or subject_id.

Parametersclass_idsubject_id

ictexam_item_analysis

Item analysis

Per-question item analysis for one exam: difficulty, p-value, average mark and how many responses were full vs zero credit.

Parametersassessment_idrequired

Version history

2
  1. v0.1.1LatestOct 26, 2026
  2. v0.1.0Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts