Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Bewertungen und Benutzerkonten folgen in einem späteren Schritt.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Openemis Pro

von tixuzVersion 1.1.0i★ –iLäuft auf deinem Computer
Name in der Registryio.github.tixuz/openemis-pro

Installieren

Überblick

Beschreibung vom Entwickler (englisches Original)

Read + write MCP server for OpenEMIS — free open-source school management system. 675 resources.

Die drei Säulen von PopNx MCP

Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.

Was du damit machen kannst

Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.

  • Verbindung: Läuft auf deinem Computer
  • Transport: stdio
  • Kategorie: Sonstiges
  • Das musst du eintragen: OPENEMIS_BASE_URL, OPENEMIS_API_KEY, OPENEMIS_PASSWORD

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

Bevor du installierst

  • Basischecks: 1 von 1 bestanden
  • Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
  • Das trägst du selbst ein: OPENEMIS_BASE_URL, OPENEMIS_API_KEY, OPENEMIS_USERNAME, OPENEMIS_PASSWORD, OPENEMIS_TIMEOUT_MS, OPENEMIS_CORE_IN_OPERATOR

Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.

Du brauchst

  • npmNode.js installiert (für den Befehl npx)

Welche App nutzt du?

Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.

Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein

{
  "mcpServers": {
    "openemis-pro": {
      "command": "npx",
      "args": [
        "-y",
        "openemis-mcp-pro"
      ],
      "env": {
        "OPENEMIS_BASE_URL": "your-value",
        "OPENEMIS_API_KEY": "your-value",
        "OPENEMIS_USERNAME": "your-value",
        "OPENEMIS_PASSWORD": "your-value",
        "OPENEMIS_TIMEOUT_MS": "your-value",
        "OPENEMIS_CORE_IN_OPERATOR": "your-value"
      }
    }
  }
}

Führe das in deinem Terminal aus

claude mcp add openemis-pro --env OPENEMIS_BASE_URL=your-value --env OPENEMIS_API_KEY=your-value --env OPENEMIS_USERNAME=your-value --env OPENEMIS_PASSWORD=your-value --env OPENEMIS_TIMEOUT_MS=your-value --env OPENEMIS_CORE_IN_OPERATOR=your-value -- npx -y openemis-mcp-pro

Trag die leeren Werte ein, bevor du ihn startest.

In Cursor öffnen

Oder kopier die Einstellungen selbst

In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen

{
  "mcpServers": {
    "openemis-pro": {
      "command": "npx",
      "args": [
        "-y",
        "openemis-mcp-pro"
      ],
      "env": {
        "OPENEMIS_BASE_URL": "your-value",
        "OPENEMIS_API_KEY": "your-value",
        "OPENEMIS_USERNAME": "your-value",
        "OPENEMIS_PASSWORD": "your-value",
        "OPENEMIS_TIMEOUT_MS": "your-value",
        "OPENEMIS_CORE_IN_OPERATOR": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

In VS Code öffnen

Oder kopier die Einstellungen selbst

In .vscode/mcp.json in deinem Projekt einfügen

{
  "servers": {
    "openemis-pro": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "openemis-mcp-pro"
      ],
      "env": {
        "OPENEMIS_BASE_URL": "your-value",
        "OPENEMIS_API_KEY": "your-value",
        "OPENEMIS_USERNAME": "your-value",
        "OPENEMIS_PASSWORD": "your-value",
        "OPENEMIS_TIMEOUT_MS": "your-value",
        "OPENEMIS_CORE_IN_OPERATOR": "your-value"
      }
    }
  }
}

Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.

Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.

Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.

Werte, die du selbst einträgst

  • OPENEMIS_BASE_URL erforderlich env
    Base URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)
  • OPENEMIS_API_KEY geheim erforderlich env
    OpenEMIS API key (issued by the OpenEMIS admin). Required for every upstream login.
  • OPENEMIS_USERNAME env
    OpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
  • OPENEMIS_PASSWORD geheim env
    OpenEMIS login password. Pairs with OPENEMIS_USERNAME for env-default auth.
  • OPENEMIS_TIMEOUT_MS env
    Request timeout in milliseconds (default 30000)
  • OPENEMIS_CORE_IN_OPERATOR env
    Set to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Was er kann

Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 6. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto tixuz bestätigt, dem das Repo gehört

  • … Noch nicht geprüft

    Wird noch gepflegt

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • … Noch nicht geprüft

    Hat eine Lizenz

    Dieses Repo haben wir noch nicht von GitHub gelesen

  • – Nicht zutreffend

    Endpunkt antwortet

    Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen

  • … Noch nicht geprüft

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 0 % der anderen 32466 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 9 % der anderen 32466 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 32466 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Openemis Pro sicher?

Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: OPENEMIS_BASE_URL, OPENEMIS_API_KEY, OPENEMIS_PASSWORD

Läuft er auf meinem Computer oder in der Cloud?

Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.1.0) kam vor 6 Monaten in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.

Was kann ich stattdessen nutzen?

In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, HotCodePush

Alternativen

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

Spec Driven Development

von formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Läuft auf deinem Computer★ 440MITAktualisiert vor 14 Monaten
Installieren

Remote Desktop Commander

von desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Läuft in der Cloud★ 211Aktualisiert gestern
Installieren

HotCodePush

von hotcodepush-team

Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.

Läuft in der CloudAktualisiert heute
Installieren

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.


title: openemis-mcp-pro — Read + Write MCP Server for OpenEMIS School Management description: openemis-mcp-pro is the read and write MCP server that bridges AI assistants to the OpenEMIS school management information system — 678 resources, 3361 endpoints, 40 playbooks. keywords:

  • OpenEMIS
  • school management system
  • education management
  • student attendance
  • student risks
  • MCP server
  • write tools

openemis-mcp-pro — Read + Write AI Bridge for OpenEMIS School Management

A natural-language bridge between MCP-aware agents (Claude, Codex, Cursor, etc.) and any OpenEMIS school — with full read + write access.

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-pro server adds full read + write access plus per-user authentication on top of any OpenEMIS school.

Translations: Русский · Español · हिन्दी · العربية

Built on top of the published OpenEMIS Core API (reference docs at api.openemis.org/core) and verified end-to-end against the public demo at [demo.openemis.org/core](https://demo.openemis.org/core) with real credentials, real data, real round-trips.

Ask in English:

*"How many current students are at Avory Primary?"*

The agent plans the calls, this MCP delivers the data, and you get the answer:

*"Avory Primary School (code P1002) has 553 currently enrolled students."*

You never write a line of code. You never see JSON. You just ask.

Status: v1.0.0 — full CRUD for non-workflow resources. Read queries work against every OpenEMIS v5 resource. Write tools (create/update/delete) are live for all resources that do not flow through the CakePHP Workflow plugin. Workflow-controlled resources (attendance, staff leave) are blocked at the tool level and redirect to the appropriate playbook.


What this is

openemis-mcp-pro is the read + write MCP server that connects AI assistants to the OpenEMIS school management system. It exposes 678 resources (students, attendance, risks, staff, exams, infrastructure) across 40 curated playbooks — 26 read and 14 write/auth. The pro distribution adds direct write tools (openemis_create, openemis_update, openemis_delete), HTTP server mode for ChatGPT Custom GPT, and per-user authentication on top of the free read-only distribution.


Why this exists

The OpenEMIS Core REST API is large — the v5 surface alone exposes 3,361 endpoints across 678 resources (Core 5.13.0). No AI agent can hold that in context, and raw Swagger-style introspection floods a conversation with noise that has nothing to do with the user's actual question.

This MCP solves that in two ways:

  1. Domain-scoped discovery. Instead of dumping the whole API into the agent's context, the openemis_discover(topic) tool narrows to the ~20–30 endpoints relevant to what the user is actually asking about ("attendance", "students", "assessment") — powered by a small curated knowledge pack of Domain-*.md notes.
  2. A single, composable getter. One openemis_get tool covers list + singleton + filtered search across every resource. The agent supplies resource + optional id + optional params (_fields, _conditions, orderby, page, limit) and the rest of the OpenEMIS CakePHP-style query DSL maps straight through.

The net effect: agents answer natural-language questions in 2–4 tool calls, not 30.


Tools

ToolSinceWhat it does
openemis_healthv0.1Pings the configured instance and reports reachability. Performs a real login round-trip — if this passes, CRUD will work.
openemis_list_domainsv0.1Lists the curated OpenEMIS domains — Attendance, Assessment, Staff, Student, Institution, Schedule, Examination, Report — each with a one-line summary. The agent uses this to figure out *where* a question lives.
openemis_discoverv0.1Input: a topic string. Output: up to 30 endpoints relevant to that topic, drawn from the domain knowledge pack and the per-instance manifest. Keeps conversations small regardless of how large the underlying API is.
openemis_list_playbooksv0.2Lists all 40 curated workflow playbooks with id, title, domain, and audience. The agent uses this to find the right step-by-step guide for a user-level task.
openemis_get_playbookv0.2Input: a playbook id. Output: the full playbook — resources, ordered steps, guidance notes, and example queries.
openemis_getv0.1Unified read tool. { resource, id?, params? } — if id is present, fetches the singleton; otherwise lists with any combination of _fields, _conditions, orderby, order, page, limit, plus any ad-hoc filter key.
openemis_createv0.3.0Create a new record. { resource, body } — non-workflow resources only. Workflow-controlled resources (e.g. institution-staff-leave) are blocked and will redirect to the appropriate playbook.
openemis_updatev0.3.0Update an existing record by id. { resource, id, body } — non-workflow resources only.
openemis_deletev0.3.0Delete a record by id. { resource, id } — non-workflow resources only.

A representative natural-language question like *"how many teachers at Avory Primary, how many vacant positions?"* resolves to three openemis_get calls — chained by the agent, narrowed by _conditions, delivered back as a single English answer. A write request like *"enrol a new student"* uses openemis_get_playbook to load the step-by-step guide, then openemis_create for each write step.


Core compatibility

Tested against OpenEMIS Core 5.13.0 (master, June 2026). Earlier 5.7 – 5.12 deployments are also supported — the API surface is backwards-compatible.

Capability flag — POCOR-9660 multi-id GET

openemis_get accepts params.ids = "1,2,3" for batch lookups. Core 5.10+ carries POCOR-9660 (?id=1,2,3 and _conditions= :IN(...) support in CrudApiController), so the handler collapses the batch into a single round-trip by default. Pointing at an older Core (5.7 – 5.9) without the native operator? Force the legacy parallel fan-out:

OPENEMIS_CORE_IN_OPERATOR=off

For composite-PK or view resources — where ids does not apply — use _conditions= :IN(1,2,3) instead; it filters any field by a value list and works regardless of this flag. Filtering on a field that does not exist on a resource now returns HTTP 400 (Core 5.10+, POCOR-9697), so use exact field names.

Verified against demo.openemis.org

Every claim in this README was proven against the public demo instance before being written:

  • POST /api/v5/login with { username, password, api_key } → JWT cached, 331 chars
  • GET /api/v5/institutions?limit=200&_fields=id,name,code → 24 institutions incl. "Avory Primary School" (id=6, code P1002)
  • GET /api/v5/institution-students?institution_id=6&student_status_id=1&limit=1 → pagination reports last_page: 553 → 553 currently enrolled students
  • GET /api/v5/academic-periods → 7 pages of real academic-year data
  • GET /api/v5/absence-types → EXCUSED, UNEXCUSED, LATE, etc.

The sample scripts/smoke-login.mjs shipped with this repo performs the login test step-by-step so you can confirm reachability against your own instance before wiring it into Claude Code.


Compatible agents

openemis-mcp speaks the Model Context Protocol over stdio — any MCP-compatible client works:

Stdio mode (local machine) — connects as a subprocess:

AgentHow to connect
Claude Code (claude CLI)claude mcp add — primary tested client, all 9 tools available
CursorAdd to .cursor/mcp.json — full tool access
Cline / Continue (VS Code)Add server in MCP settings
CodexVia gemmy-and-qwenny bridge
Any MCP clientPoint at node dist/server.js with env vars set

HTTP server mode (OPENEMIS_TRANSPORT=http, install once on Oracle/VPS) — connects by URL:

ClientHow to connect
Claude Code (remote)claude mcp add --transport http --url http://your-server:3000/mcp --header "Authorization: Bearer "
Cursor / ClineAdd remote MCP URL in settings
ChatGPT (Custom GPT)Import schema from http://your-server:3000/openapi.json → Actions → Bearer token
Any HTTP clientREST API at /api/* — see Teacher Guide

Install

Requires Node 22+ (for built-in fetch and AbortController) and Python 3.10+ (for the manifest builder and playbook generator scripts in mcp-openemis-gen/). The MCP server itself is Node-only; Python is only needed if you rebuild the manifest from source.

From GitHub
git clone https://github.com/tixuz/openemis-mcp.git

cd openemis-mcp

npm install npm run build

cp .env.example .env $EDITOR .env

Configure

.env.example documents every variable. At minimum you need the three credentials your OpenEMIS admin issues:

OPENEMIS_BASE_URL=https://demo.openemis.org/core   # or your own instance

OPENEMIS_USERNAME=admin OPENEMIS_PASSWORD=your_password OPENEMIS_API_KEY=your_api_key

Optional

OPENEMIS_TIMEOUT_MS=30000 OPENEMIS_VAULT_PATH=/absolute/path/to/domain-notes OPENEMIS_MANIFEST_PATH=/absolute/path/to/manifest.jsonl

The server logs in lazily on the first authenticated tool call, POSTing to /api/v5/login, parsing the JWT out of data.token, and caching it in memory. On a 401 it re-logs in and retries once.

OPENEMIS_VAULT_PATH points at the folder containing the curated Domain-*.md notes used by openemis_discover. If missing, discovery degrades gracefully to keyword matching against the manifest alone.

OPENEMIS_MANIFEST_PATH points at the JSONL output of the companion builder in ../mcp-openemis-gen/. If absent, the discovery tools return a friendly "manifest not built yet" hint — they don't crash.

Smoke-test reachability
set -a && source .env && set +a

node scripts/smoke-login.mjs

Expected:

[Test] Loading config...

[OK] Config loaded: baseUrl=https://demo.openemis.org/core [Test] Creating client... [OK] Client created [Test] Attempting login... [OpenEMIS] Login successful; cached JWT (331 chars) [OK] Login successful

Register with Claude Code
claude mcp add openemis \

--env OPENEMIS_BASE_URL="https://your-openemis/core" \ --env OPENEMIS_USERNAME="…" \ --env OPENEMIS_PASSWORD="…" \ --env OPENEMIS_API_KEY="…" \ --env OPENEMIS_VAULT_PATH="/absolute/path/to/vault" \ -- node "$(pwd)/dist/server.js"

Verify

claude mcp list | grep openemis

Expected: openemis: node /…/dist/server.js - ✓ Connected

Any new Claude Code session in this project will see all nine tools automatically.


Server mode (Oracle Always Free / any VPS)

Set OPENEMIS_TRANSPORT=http to run as a persistent HTTP server instead of a local subprocess. Install once on your server; every MCP-compatible client (Claude Code, Cursor, Cline, Windsurf) connects by URL.

On your server:

git clone https://github.com/tixuz/openemis-mcp-pro.git

cd openemis-mcp-pro npm install && npm run build cp .env.example .env $EDITOR .env

Nur der Anfang wird gezeigt; den Rest findest du im Repo

PopNx fragen