ClaudeCodeMod

All shelves / MCP servers

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

  • npmictexam-mcpstdio

From the server's entry in the official MCP Registry.

Open the repo

Configuration

NameSet asWhat it is
ICTEXAM_BASE_URLRequiredEnv varBase URL of your ICTExam site, e.g. https://app.ictlms.net (no trailing /api).
ICTEXAM_EMAILRequiredEnv varA teacher or admin account email.
ICTEXAM_PASSWORDRequired · SecretEnv varPassword for the account.
ICTEXAM_API_PREFIXOptionalEnv varPath 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_WRITEOptionalEnv varUnlocks 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_MSOptionalEnv varPer request timeout in milliseconds. Defaults to 60000 (AI parsing can be slow).
ICTEXAM_TLS_INSECUREOptionalEnv varSkip TLS certificate verification. Only for a self-signed test server.

Files

README.md

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
Repo
ictinnovations/ictexam-mcp
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

More on this shelf

  1. 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
  2. 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
  3. 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
  4. 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
  5. 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
  6. 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