title: "openemis-mcp β AI bridge for OpenEMIS school management"
description: "Free, read-only MCP server that connects AI assistants to OpenEMIS school management. Query student attendance, risks, staff, and 678 resources."
keywords:
- OpenEMIS
- school management system
- education management
- student attendance
- student risks
- MCP server
openemis-mcp β AI bridge for OpenEMIS school management
Free, read-only MCP bridge between AI agents and any OpenEMIS school.
OpenEMIS is a free, open-source school management information system developed by UNESCO and KORDIT. It runs the day-to-day administration of every kind of educational institution β kindergartens, primary schools, secondary schools, secondary vocational institutions, technical colleges, and universities β managing students, staff, attendance, assessment, infrastructure, meals, scholarships, examinations, training, and ministry-level reporting. This MCP gives AI agents read-only access to the data in any OpenEMIS school so you can ask questions in plain English and get answers in seconds.
Built on the published OpenEMIS Core API (reference: api.openemis.org/core) and verified against the public demo at demo.openemis.org/core.
What this is: openemis-mcp is a free MCP server that connects AI assistants (Claude, Cursor, Codex) to the OpenEMIS school management system. It exposes 678 resources β students, student attendance, student risks, staff, exams, infrastructure β across 26 curated read-only playbooks, plus 14 redirect stubs for write operations.
Ask in plain English:
"How many current students are at Avory Primary?"
The agent plans the calls, this MCP delivers the data:
"Avory Primary School has 97 currently enrolled students across 6 classes."
No code. No JSON. Just ask.
What's included (free, MIT)
| Tool | What it does |
|---|
openemis_health | Ping the configured instance β real login round-trip |
openemis_list_domains | List the 9 curated domains (Attendance, Assessment, Staff, Studentβ¦) |
openemis_discover | Topic β up to 30 scoped endpoints. Keeps conversations small |
openemis_list_playbooks | List all 40 playbooks β 26 read-only here, 14 stubs that redirect to mcp-pro |
openemis_get_playbook | Load a playbook by id β full steps, resources, gotcha notes |
openemis_get | Unified read: list or singleton, any resource, any filter |
26 read-only playbooks covering attendance, assessment, student profiles, staff profiles, infrastructure, meals, risk dashboards, class reports, timetables, audit logs, school accreditation / registration, admission and enrolment queue state, and a primer on how the OpenEMIS workflow plugin powers every multi-step approval β each verified against the v5 manifest at 100% resource coverage. 14 additional playbook stubs are discoverable here but redirect to openemis-mcp-pro for the actual write/auth steps.
Translations: Π ΡΡΡΠΊΠΈΠΉ Β· EspaΓ±ol Β· ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯ Β· Ψ§ΩΨΉΨ±Ψ¨ΩΨ© β the original 17 view playbooks also translated in all four languages; 9 newer playbooks (added in v1.1.0 for Core 5.10.0, plus the two workflow playbooks) are English-only for now.
βοΈ Write operations (creating/updating records in OpenEMIS) require openemis-mcp-pro. This free server is intentionally read-only β post, put, and delete are not available.
What's in Pro
openemis-mcp-pro adds write tools, remote hosting, and ChatGPT compatibility on top of this free read-only server.
| Free | Individual Pro | Institution Pro | Country Pro |
|---|
| Read tools (all 678 resources, Core 5.13.0) | β
| β
| β
| β
|
| 26 read playbooks (17 Γ 5 languages + 9 EN) | β
| β
| β
| β
|
| 14 write / auth playbooks (mark-attendance, enrol, set-accreditationβ¦) | stub | β
| β
| β
|
| stdio mode (Claude Code, Cursor, Cline) | β
| β
| β
| β
|
| HTTP server mode (Oracle / VPS β install once, connect by URL) | β | β
| β
| β
|
| OpenAPI adapter (ChatGPT Custom GPT, any REST client) | β | β
| β
| β
|
| Direct write β single record | β | β
| β
| β
|
| Institution audit trail | β | β | β
| β
|
| Workflow route execution | β | β | β
| β
|
| Institution-admin approval gate | β | β | β
| β
|
| Batch ops within one institution | β | β | β
| β
|
| Multi-institution batch ops | β | β | β | β
|
| Ministry approval gates | β | β | β | β
|
| Cross-institution oversight | β | β | β | β
|
HTTP server mode lets you install Pro once on an Oracle Always Free ARM instance and connect from any device β no per-machine setup. The built-in OpenAPI adapter means teachers can use ChatGPT (or any AI assistant) to mark attendance and look up student records by importing a single schema URL. See the ChatGPT Teacher Guide for step-by-step setup.
β Pricing: khindol.madraimov@gmail.com
Install
Requires Node 22+.
git clone https://github.com/tixuz/openemis-mcp.git
cd openemis-mcp
npm install
npm run build
cp .env.example .env
$EDITOR .env
Configure
OPENEMIS_BASE_URL=https://demo.openemis.org/core
OPENEMIS_USERNAME=admin
OPENEMIS_PASSWORD=your_password
OPENEMIS_API_KEY=your_api_key
Smoke test
set -a && source .env && set +a
node scripts/smoke-login.mjs
Register with Claude Code
claude mcp add openemis \
--env OPENEMIS_BASE_URL="https://your-instance/core" \
--env OPENEMIS_USERNAME="β¦" \
--env OPENEMIS_PASSWORD="β¦" \
--env OPENEMIS_API_KEY="β¦" \
-- node "$(pwd)/dist/server.js"
Works with any MCP-compatible client: Claude Code, Cursor, Cline, Codex (via gemmy-and-qwenny), or any stdio MCP client.
Verbose logging (optional)
Capture every tool call and its response as JSONL β useful for debugging, tuning playbooks, or sharing a bug report.
# stderr (visible in your MCP client's log panel)
OPENEMIS_LOG_VERBOSE=1 node dist/server.js
# write to a file
OPENEMIS_LOG_VERBOSE=1 OPENEMIS_LOG_FILE=/tmp/openemis.jsonl node dist/server.js
Each line is a JSON object: {ts, type:"tool_call"|"tool_result"|"tool_error", tool, args?, result?, latency_ms, ...}. Credential-shaped keys (password, authorization, api_key, token, secret) are redacted automatically.
β οΈ Privacy: tool_result entries contain the actual OpenEMIS data returned to the agent β student names, staff IDs, enrollment details. Enable only on instances you own, or with explicit consent. Default is OFF.
π Remote / server install: openemis-mcp-pro adds an HTTP server mode β install once on Oracle Always Free and every AI assistant (Claude Code, Cursor, ChatGPT) connects by URL with no per-machine setup. See the ChatGPT Teacher Guide for how to let teachers mark attendance via ChatGPT.
Playbooks
24 read-only workflow guides β see docs/playbooks/. Write-side playbooks (mark attendance, enrol a student, set school accreditation, etc.) are discoverable here as stubs that point at openemis-mcp-pro.
Read playbooks (school data lookups)