io.github.ictinnovations/ictexam-mcp
io.github.ictinnovations/ictexam-mcp · 17 stars · TypeScript · MIT
MCP server Read exams, gradebooks and item analysis; parse papers with AI and publish exams.
Install
The repo has no one-line install. Follow its README.
Published as
- npm
ictexam-mcpstdio
From the server's entry in the official MCP Registry.
Configuration
| Name | Set as | What it is |
|---|---|---|
ICTEXAM_BASE_URLRequired | Env var | Base URL of your ICTExam site, e.g. https://app.ictlms.net (no trailing /api). |
ICTEXAM_EMAILRequired | Env var | A teacher or admin account email. |
ICTEXAM_PASSWORDRequired · Secret | Env var | Password for the account. |
ICTEXAM_API_PREFIXOptional | Env var | Path 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_WRITEOptional | Env var | Unlocks 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_MSOptional | Env var | Per request timeout in milliseconds. Defaults to 60000 (AI parsing can be slow). |
ICTEXAM_TLS_INSECUREOptional | Env var | Skip TLS certificate verification. Only for a self-signed test server. |
Files
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.
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 17
- License
- MIT
- Language
- TypeScript
- Last push
- 2026-09-07
- Forks
- 15
- MCP Registry
- io.github.ictinnovations/ictexam-mcp
- Homepage
- www.ictlms.net
- Topics
- ai-agent, assessment, claude, edtech, ictexam, lti, mcp, model-context-protocol, moodle
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k