Server data from the Official MCP Registry
Read-only MCP server for OpenEMIS — free open-source school management system. 675 resources.
Read-only MCP server for OpenEMIS — free open-source school management system. 675 resources.
Valid MCP server (1 strong, 1 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
5 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: OPENEMIS_BASE_URL
Environment variable: OPENEMIS_USERNAME
Environment variable: OPENEMIS_PASSWORD
Environment variable: OPENEMIS_API_KEY
Environment variable: OPENEMIS_TIMEOUT_MS
Environment variable: OPENEMIS_LOG_VERBOSE
Environment variable: OPENEMIS_LOG_FILE
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-tixuz-openemis": {
"env": {
"OPENEMIS_API_KEY": "your-openemis-api-key-here",
"OPENEMIS_BASE_URL": "your-openemis-base-url-here",
"OPENEMIS_LOG_FILE": "your-openemis-log-file-here",
"OPENEMIS_PASSWORD": "your-openemis-password-here",
"OPENEMIS_USERNAME": "your-openemis-username-here",
"OPENEMIS_TIMEOUT_MS": "your-openemis-timeout-ms-here",
"OPENEMIS_LOG_VERBOSE": "your-openemis-log-verbose-here"
},
"args": [
"-y",
"openemis-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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 675 resources." keywords:
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 675 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.
| 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, anddeleteare not available.
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 675 resources, Core 5.10.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
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
OPENEMIS_BASE_URL=https://demo.openemis.org/core
OPENEMIS_USERNAME=admin
OPENEMIS_PASSWORD=your_password
OPENEMIS_API_KEY=your_api_key
set -a && source .env && set +a
node scripts/smoke-login.mjs
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.
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_resultentries 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.
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.
| # | Playbook | Domain | Translations |
|---|---|---|---|
| 1 | Count Vacant Positions | Staff | RU · ES · HI · AR |
| 2 | View Student Timetable | Schedule | RU · ES · HI · AR |
| 3 | Student Dashboard | Student | RU · ES · HI · AR |
| 4 | Institution Summary | Institution | RU · ES · HI · AR |
| 5 | View Latest Attendance | Attendance | RU · ES · HI · AR |
| 6 | View Student Profile | Student | RU · ES · HI · AR |
| 7 | View Student Marks | Assessment | RU · ES · HI · AR |
| 8 | View Class Report | Report | RU · ES · HI · AR |
| 9 | View Timetable | Schedule | RU · ES · HI · AR |
| 10 | View Full Institution Profile | Institution | RU · ES · HI · AR |
| 11 | View Full Class Profile | Student | RU · ES · HI · AR |
| 12 | View a Staff Member's Full Profile | Staff | RU · ES · HI · AR |
| 13 | Enhance Student Profile | Student | RU · ES · HI · AR |
| 14 | View Institution Infrastructure | Institution | RU · ES · HI · AR |
| 15 | View Institution Meals | Institution | RU · ES · HI · AR |
| 16 | View Student Risk Profile and Welfare Cases | Student | RU · ES · HI · AR |
| 17 | View Institution Risk Summary and Alert Rules | Institution | RU · ES · HI · AR |
Loaded via openemis_get_playbook — full English content in data/playbooks.json. Translations and per-playbook markdown docs land in a follow-up release.
| # | Playbook | Domain | What it does |
|---|---|---|---|
| 18 | diagnose-alert-delivery | Alerts | Answer "did this alert actually go out?" — walks the POCOR-9509 dispatch pipeline. |
| 19 | view-school-accreditation | Institution | Read institution-accreditations records (POCOR-9610), derive Active/Expired/Future status. |
| 20 | view-school-registration | Institution | Read institution-registrations history with valid_from..valid_to windows. |
| 21 | view-institution-budget | Institution | List institution-budgets per academic period, resolve budget types. |
| 22 | query-student-absence-history | Attendance | Aggregate absences via institution-student-absences + absence-days. |
| 23 | query-user-activity-audit-log | Security | Query the POCOR-9697 user_activities per-field audit trail. |
| 24 | view-class-roster | Institution | Walk institution-classes → institution-class-students → student details. |
| 25 | view-admission-and-enrolment-queue-state | Workflow | Answer "where is this future student in the admission/enrolment queue?" — resolves status_id → workflow_step name, current assignee, full transition history. |
| 26 | explain-workflow-system | Workflow | Primer for "why does this approval take 4 steps?" — explains workflow_models, steps, statuses, transitions, role-based assignees, and why the plugin makes approval chains configurable per tenant. |
mark-student-attendance, mark-staff-attendance, enroll-new-student, record-behavior-incident, submit-exam-marks, generate-student-report-card-pdf, generate-institution-statistics-pdf, add-institution-asset, record-infrastructure-repair, add-meal-programme, resolve-my-identity, set-school-accreditation, set-school-registration, mark-student-meal-participation — all redirect agents to openemis-mcp-pro, which ships openemis_create / openemis_update / openemis_delete and per-user authentication.Tested against OpenEMIS Core 5.10.0 (master, May 2026). 5.7 / 5.8 / 5.9 deployments are also supported — the public REST surface is backwards-compatible.
openemis_get accepts params.ids = "1,2,3" for batch lookups. By default the handler fans out N parallel single-record GETs. Core 5.10.0 carries POCOR-9660 (?id=1,2,3 support in CrudApiController); flip on with:
OPENEMIS_CORE_IN_OPERATOR=1
The handler then collapses the batch into a single round-trip. Default off (compatible with older Core builds) — flip on once your instance is on 5.9+.
Agent (Claude / Cursor / Codex / …)
│ MCP stdio
openemis-mcp ← 6 read tools + 26 read playbooks + 14 redirect stubs
│ HTTPS + Bearer JWT
OpenEMIS Core API /api/v5/{resource} (3,355 endpoints across 675 resources)
Domain-scoped discovery keeps conversations small — openemis_discover("attendance") returns the 20–30 endpoints relevant to attendance, not all 3,355.
🖥️ Server / HTTP mode (install once on Oracle, connect from anywhere including ChatGPT) is available in openemis-mcp-pro.
MIT © 2026 Khindol Madraimov
Not affiliated with OpenEMIS or its maintainers. Third-party bridge to the public Core API. Credentials stay on your machine.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.