New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

openemis-mcp

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

openemis-mcp

Free, read-only MCP server for the OpenEMIS v5 REST API — natural-language queries over 645 resources and 24 curated playbooks

Source
npmnpm
Version
0.3.3
Version published
Weekly downloads
49
40%
Maintainers
1
Weekly downloads
 
Created
Source

openemis-mcp logo

openemis-mcp

Free, read-only MCP bridge between AI agents and any OpenEMIS instance.

Built on the published OpenEMIS Core API (reference: api.openemis.org/core) and verified against the public demo at demo.openemis.org/core.

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)

ToolWhat it does
openemis_healthPing the configured instance — real login round-trip
openemis_list_domainsList the 9 curated domains (Attendance, Assessment, Staff, Student…)
openemis_discoverTopic → up to 30 scoped endpoints. Keeps conversations small
openemis_list_playbooksList all 24 curated workflow guides
openemis_get_playbookLoad a playbook by id — full steps, resources, gotcha notes
openemis_getUnified read: list or singleton, any resource, any filter

24 curated playbooks covering attendance, assessment, student profiles, staff profiles, infrastructure, meals, risk dashboards, class reports, timetables, and more — each verified against the v5 manifest at 100% resource coverage.

Translations available: Russian · Spanish · Hindi · Arabic — all 24 playbooks in all four languages.

✏️ 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.

FreeIndividual ProInstitution ProCountry Pro
Read tools (all 645 resources)✅✅✅✅
24 read playbooks × 5 languages✅✅✅✅
3 write playbooks (v0.2+)—✅✅✅
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 curated workflow guides — see docs/playbooks/:

#PlaybookDomainTranslations
1Count Vacant PositionsStaffRU · ES · HI · AR
2Mark Student AttendanceAttendanceRU · ES · HI · AR
3Mark Staff AttendanceStaffRU · ES · HI · AR
4View Student TimetableScheduleRU · ES · HI · AR
5Student DashboardStudentRU · ES · HI · AR
6Generate Student Report Card PDFReportRU · ES · HI · AR
7Enrol a New StudentStudentRU · ES · HI · AR
8Record a Behaviour IncidentStudentRU · ES · HI · AR
9Submit Exam MarksAssessmentRU · ES · HI · AR
10Institution SummaryInstitutionRU · ES · HI · AR
11Generate Institution Statistics PDFReportRU · ES · HI · AR
12View Latest AttendanceAttendanceRU · ES · HI · AR
13View Student ProfileStudentRU · ES · HI · AR
14View Student MarksAssessmentRU · ES · HI · AR
15View Class ReportReportRU · ES · HI · AR
16View TimetableScheduleRU · ES · HI · AR
17View Full Institution ProfileInstitutionRU · ES · HI · AR
18View Full Class ProfileStudentRU · ES · HI · AR
19View a Staff Member's Full ProfileStaffRU · ES · HI · AR
20Enhance Student ProfileStudentRU · ES · HI · AR
21View Institution InfrastructureInstitutionRU · ES · HI · AR
22View Institution MealsInstitutionRU · ES · HI · AR
23View Student Risk Profile and Welfare CasesStudentRU · ES · HI · AR
24View Institution Risk Summary and Alert RulesInstitutionRU · ES · HI · AR

Core compatibility

Tested against OpenEMIS Core 5.9 (master, May 2026). 5.7 and 5.8 deployments are also supported — the public REST surface is unchanged.

Optional capability flag — POCOR-9660 multi-id GET

openemis_get accepts params.ids = "1,2,3" for batch lookups. By default the handler fans out N parallel single-record GETs (Core ≤ 5.9 master has no native multi-id filter). Once a deployment carries POCOR-9660 (?id=1,2,3 support in CrudApiController), set:

OPENEMIS_CORE_IN_OPERATOR=1

The handler then collapses the batch into a single round-trip. Default off — flip on after upstream merge.

Architecture

Agent (Claude / Cursor / Codex / …)
        │ MCP stdio
openemis-mcp  ←  6 read tools + 24 playbooks
        │ HTTPS + Bearer JWT
OpenEMIS Core API  /api/v5/{resource}

Domain-scoped discovery keeps conversations small — openemis_discover("attendance") returns the 20–30 endpoints relevant to attendance, not all 1,350.

🖥️ Server / HTTP mode (install once on Oracle, connect from anywhere including ChatGPT) is available in openemis-mcp-pro.

Docs

  • Resource Reference — all 645 resources with method availability
  • Playbooks — 24 workflow guides in English, Russian, Spanish, Hindi, and Arabic
  • ACKNOWLEDGEMENTS.md — the AI team that built this

Licence

MIT © 2026 Khindol Madraimov

Not affiliated with OpenEMIS or its maintainers. Third-party bridge to the public Core API. Credentials stay on your machine.

Keywords

mcp

FAQs

Package last updated on 09 May 2026

Related posts