Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.Prototyp · alle 30 Min. aktualisiert
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Openemis Pro

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

So installierst du es

What it does

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

  • Connects Läuft auf deinem Computer
  • Account or key Needs OPENEMIS_API_KEY, OPENEMIS_PASSWORD · 1 setting to fill in (OPENEMIS_BASE_URL)
  • Category Spiele, Sport, Essen & Lernen

Installation

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

2/3 Prüfungen bestanden · Läuft auf deinem Computer · ✓ Befehle geprüft am 14. Nov. 2026

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Openemis Pro registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • OPENEMIS_BASE_URL Base URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)

    Die Beschreibungen sind noch im englischen Original.

  4. Einstellungsdatei der Claude-Desktop-App öffnen

    SettingsDeveloperEdit Config

  5. Diese Einstellungen einfügen und speichern

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

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. Claude beenden und neu öffnen

  7. Ausprobieren

    Nutze Openemis Pro und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es Openemis Pro nutzt, oder ein Werkzeug von Openemis Pro in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • OPENEMIS_USERNAME OpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
  • OPENEMIS_TIMEOUT_MS Request timeout in milliseconds (default 30000)
  • OPENEMIS_CORE_IN_OPERATOR Set to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

ChatGPT kann Openemis Pro noch nicht verbinden

Openemis Pro läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen

Das kannst du stattdessen tun

A · Eine App nutzen, die Openemis Pro verbinden kann

  • Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
  • Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
  • Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

B · Andere in Spiele, Sport, Essen & Lernen, die mit ChatGPT funktionieren

Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden

Klappt mit Claude Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Openemis Pro registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • OPENEMIS_BASE_URL Base URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)

    Die Beschreibungen sind noch im englischen Original.

  4. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  5. Diesen Befehl einfügen und Enter drücken

    claude mcp add --scope user openemis-pro --env OPENEMIS_BASE_URL=your-value --env OPENEMIS_API_KEY=your-value --env OPENEMIS_PASSWORD=your-value -- npx -y openemis-mcp-pro

    Ersetze „your-value“ vor dem Enter durch deinen Schlüssel

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. /mcp in Claude Code eingeben

    Openemis Pro sollte in der Liste als verbunden erscheinen

  7. Ausprobieren

    Nutze Openemis Pro und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es Openemis Pro nutzt, oder ein Werkzeug von Openemis Pro in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • OPENEMIS_USERNAME OpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
  • OPENEMIS_TIMEOUT_MS Request timeout in milliseconds (default 30000)
  • OPENEMIS_CORE_IN_OPERATOR Set to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Openemis Pro registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • OPENEMIS_BASE_URL Base URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)

    Die Beschreibungen sind noch im englischen Original.

  4. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  5. Schlüssel eintragen

    In den Einstellungen von Openemis Pro ist OPENEMIS_API_KEY, OPENEMIS_PASSWORD, OPENEMIS_BASE_URL leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. KI-Chat in Cursor im Agent-Modus öffnen

  7. Ausprobieren

    Nutze Openemis Pro und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es Openemis Pro nutzt, oder ein Werkzeug von Openemis Pro in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • OPENEMIS_USERNAME OpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
  • OPENEMIS_TIMEOUT_MS Request timeout in milliseconds (default 30000)
  • OPENEMIS_CORE_IN_OPERATOR Set to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code, aber erst etwas vorbereiten

Du brauchst einen Schlüssel von Openemis Pro (auf der Seite des Anbieters erstellen) · 1 Einstellung(en) auszufüllen (OPENEMIS_BASE_URL) · Installiere zuerst Node.js auf deinem Computer (nur einmal)

  1. Node.js installieren

    Nur einmal; gilt für alle Server, die Node.js brauchen

    Download-Seite von Node.js öffnen ↗

  2. Bei Openemis Pro registrieren und Schlüssel erstellen

    Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.

    Wie du einen Schlüssel bekommst, steht unten im README des Anbieters

  3. 1 Einstellung(en) ausfüllen

    Das sind Programmeinstellungen, keine Schlüssel. Keine Registrierung nötig; wie vom Autor beschrieben ausfüllen.

    • OPENEMIS_BASE_URL Base URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)

    Die Beschreibungen sind noch im englischen Original.

  4. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  5. Schlüssel eintragen

    In den Einstellungen von Openemis Pro ist OPENEMIS_API_KEY, OPENEMIS_PASSWORD, OPENEMIS_BASE_URL leer; trag deinen Schlüssel ein und speichere

    Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem

  6. KI-Chat in VS Code im Agent-Modus öffnen

  7. Ausprobieren

    Nutze Openemis Pro und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es Openemis Pro nutzt, oder ein Werkzeug von Openemis Pro in der Antwort zeigt, bist du verbunden

3 optionale Einstellung(en) (geht auch ohne)

Der Befehl oben funktioniert auch ohne diese Werte. Füge sie nur hinzu, wenn du etwas ändern willst, nach der Beschreibung des Autors.

  • OPENEMIS_USERNAME OpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
  • OPENEMIS_TIMEOUT_MS Request timeout in milliseconds (default 30000)
  • OPENEMIS_CORE_IN_OPERATOR Set to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

Die Beschreibungen sind noch im englischen Original.

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die Openemis Pro nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user openemis-pro --env OPENEMIS_BASE_URL=your-value --env OPENEMIS_API_KEY=your-value --env OPENEMIS_PASSWORD=your-value -- npx -y openemis-mcp-pro

Claude Desktop (claude_desktop_config.json)

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

Cursor (~/.cursor/mcp.json)

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

VS Code (mcp.json)

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

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 erforderlich 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.

Die Beschreibungen sind noch im englischen Original.

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

Auf einen Blick

Downloads pro Wochei
48/Wo.
Lizenzi
Keine Lizenz angegeben
Verbindung
Läuft auf deinem Computer
Neueste Versioni
1.1.0
In der Registry veröffentlichti
16. Mai 2026
Code zuletzt geänderti
17. Juni 2026
Entwickler
tixuz
Pakete
npm: openemis-mcp-pro
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

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 14. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

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

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 5 Monaten

  • ! Vorsicht

    Hat eine Lizenz

    GitHub konnte die Lizenzart nicht erkennen; öffne die Datei, um nachzusehen

  • – 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

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Spiele, Sport, Essen & Lerneni

  • Mehr Sterne als 91 % der anderen 1497 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 6 % der anderen 1497 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 60 % der anderen 1497 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 2 von 3 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_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 vor 5 Monaten 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: Honcho, ShipSwift, Pm Claude Skills

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

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

Honcho

Memory that reasons: continual learning for stateful agents. Better context, fewer tokens.

von plastic-labsWeit verbreitet★ 8119Aktualisiert vor 3 Monaten

Läuft in der Cloud

ShipSwift

40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.

von signerlabsWeit verbreitet★ 3273Aktualisiert vor 9 Monaten

Läuft in der Cloud

Pm Claude Skills

1310 professional Agent Skills + workflow recipes — searchable & fetchable over MCP.

von mohitagw15856Weit verbreitet↓ 2542/Wo.★ 1546Aktualisiert vor 22 Tagen

Läuft auf deinem Computer

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