# openemis-pro [Health: Active]

**Category:** 🎓 Education  
**Repository:** https://github.com/tixuz/openemis-mcp-pro  
**GitHub Stars:** 2  
**Views:** 1  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/openemis-pro

## Description
MCP server for OpenEMIS v5 — read + write tools and ChatGPT OpenAPI adapter

## Tools
Capabilities this server exposes over MCP:

- **openemis_health** — Pings the configured instance and reports reachability. Performs a real login round-trip — if this passes, CRUD will work.
- **openemis_list_domains** — Lists 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_discover** — Input: 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_playbooks** — Lists 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_playbook** — Input: a playbook id. Output: the full playbook — resources, ordered steps, guidance notes, and example queries.
- **openemis_get** — Unified 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_create** — Create 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_update** — Update an existing record by id. `{ resource, id, body }` — non-workflow resources only.
- **openemis_delete** — Delete a record by id. `{ resource, id }` — non-workflow resources only.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "openemis-pro": {
    "url": "https://api.openemis.org/core"
  }
}
```

## Documentation

## What openemis-pro MCP server does

The openemis-pro MCP server gives AI agents an MCP interface to OpenEMIS v5, a school management information system. It supports read access across the documented OpenEMIS resource surface and write operations for resources that are not controlled by the CakePHP Workflow plugin.

The server covers 678 resources and 3,361 endpoints in the referenced OpenEMIS Core 5.13.0 API. Its subject areas include attendance, assessment, staff, students, institutions, schedules, examinations, and reports. It also includes 40 curated playbooks that describe multi-step tasks, their resources, and example queries.

## How it works

Agents can begin with `openemis_health`, which checks reachability and performs a real login round-trip. `openemis_list_domains` provides the available subject areas, while `openemis_discover` accepts a topic and returns up to 30 relevant endpoints from the knowledge pack and instance manifest. This avoids loading the entire OpenEMIS API into the conversation.

For reads, `openemis_get` handles both collection and single-record requests. Supplying an `id` fetches one record; omitting it lists records. Query parameters can include field selection, conditions, ordering, pagination, limits, and resource-specific filters. The handler maps these parameters to the OpenEMIS query style.

The openemis-pro MCP server exposes `openemis_list_playbooks` and `openemis_get_playbook` for guided workflows. An agent can identify a playbook, load its ordered steps and guidance, and then perform supported write steps with the CRUD tools.

## Tools and capabilities

- Check instance reachability and authentication with `openemis_health`.
- List curated OpenEMIS domains with `openemis_list_domains`.
- Find topic-specific endpoints with `openemis_discover`.
- Browse and load the 40 workflow playbooks.
- Read singleton records or filtered collections with `openemis_get`.
- Create records with `openemis_create` on non-workflow resources.
- Modify records by ID with `openemis_update` on non-workflow resources.
- Remove records by ID with `openemis_delete` on non-workflow resources.

## Limitations and notes

Create, update, and delete are not general-purpose writes for every OpenEMIS resource. Workflow-controlled resources are blocked at the tool layer and redirected to the relevant playbook; attendance and staff leave are examples identified in the project material. The read tool is broader than the write tools.

The openemis-pro MCP server was tested against OpenEMIS Core 5.13.0 and is described as supporting earlier 5.7 through 5.12 deployments. Batch ID behavior depends on the OpenEMIS Core version: Core 5.10 and later can use the native multi-ID request, while older deployments can use the documented legacy mode. Composite-key and view resources require field conditions instead of the ID batch parameter.

The server supports stdio mode for local MCP clients and an HTTP mode for remote connections and ChatGPT Custom GPT use.

_Full upstream README: https://allmcps.com/mcp/openemis-pro/readme_

