openemis について
openemis-mcpは、OpenEMIS学校管理システムに接続する読み取り専用のMCPサーバーです。AIエージェント向けにリソースの検索や絞り込み、読み取り手順を提供し、書き込みと認証はPro版に委ねます。
主な機能
- 01OpenEMISデータへの読み取り専用アクセス
- 02生徒・出席・職員などのリソース
- 03トピック別のリソース検索と絞り込み
- 04読み取り用プレイブック
- 05認証情報を除去する詳細ログ
活用シーン
- 01生徒の出席状況やリスク情報の照会
- 02職員・試験・施設データの確認
- 03トピック別のOpenEMISリソース検索
- 04記録されたログによるツール呼び出しの調査
MCP 対応
互換クライアント向けに、ツールを通じてOpenEMIS Core APIの読み取り専用データとプレイブックを提供します。書き込みと認証操作には対応せず、関連プレイブックはopenemis-mcp-proを案内します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y openemis-mcpOPENEMIS_BASE_URLBase URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)OPENEMIS_USERNAMEOpenEMIS login usernameOPENEMIS_PASSWORDシークレットOpenEMIS login passwordOPENEMIS_API_KEYシークレットOpenEMIS API key (issued by the OpenEMIS admin)OPENEMIS_TIMEOUT_MSRequest timeout in milliseconds (default 30000)OPENEMIS_LOG_VERBOSESet to 1 to log every tool call and result as JSONL. OFF by default. Results contain tenant PII — enable only on instances you own.OPENEMIS_LOG_FILEPath to write verbose JSONL log. If empty and OPENEMIS_LOG_VERBOSE=1, logs go to stderr.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
6掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
title: "openemis-mcp — OpenEMIS 学校管理向け AI ブリッジ" description: "AI アシスタントを OpenEMIS 学校管理システムに接続する、無料の読み取り専用 MCP サーバーです。生徒の出席状況、リスク、職員、678 件のリソースを照会できます。" keywords:
- OpenEMIS
- 学校管理システム
- 教育管理
- 生徒の出席状況
- 生徒のリスク
- MCP サーバー
openemis-mcp — OpenEMIS 学校管理向け AI ブリッジ
AI エージェントとあらゆる OpenEMIS 学校をつなぐ、無料の読み取り専用 MCP ブリッジです。
OpenEMIS は、UNESCO と KORDIT が開発した無料のオープンソース 学校管理情報システム です。幼稚園、小学校、中学校、中等職業教育機関、専門学校、大学など、あらゆる種類の教育機関の日常的な運営を支え、生徒、職員、出席状況、評価、インフラ、給食、奨学金、試験、研修、教育省レベルの報告を管理します。この MCP を使えば、AI エージェントが任意の OpenEMIS 学校のデータに読み取り専用でアクセスできるため、平易な英語で質問し、数秒で回答を得られます。
公開されている OpenEMIS Core API(参照先:api.openemis.org/core)を基盤として構築され、公開デモ demo.openemis.org/core で検証済みです。
これは何か: openemis-mcp は、AI アシスタント(Claude、Cursor、Codex)を OpenEMIS 学校管理システムに接続する無料の MCP サーバーです。厳選された26の読み取り専用プレイブックを通じて、生徒、生徒の出席状況、生徒のリスク、職員、試験、インフラなど678件のリソースを公開します。また、書き込み操作へ誘導する14個のリダイレクト用スタブも含まれます。
平易な英語で質問できます。
「Avory Primary の現在の生徒数は何人ですか?」
エージェントが呼び出しを計画し、この MCP がデータを返します。
「Avory Primary School には、現在6クラスに97人の生徒が在籍しています。」
コードは不要です。JSON も不要です。質問するだけです。
含まれる機能(無料、MIT)
| ツール | 機能 |
|---|---|
openemis_health | 設定済みのインスタンスに接続確認を実施 — 実際のログイン往復を確認 |
openemis_list_domains | 厳選された9つのドメインを一覧表示(出席、評価、職員、生徒など) |
openemis_discover | トピックから、最大30件の対象を絞ったエンドポイントを検索します。会話を簡潔に保ちます |
openemis_list_playbooks | 40件のプレイブックをすべて一覧表示 — このサーバーには読み取り専用のものが26件、mcp-pro に誘導するスタブが14件あります |
openemis_get_playbook | ID でプレイブックを読み込みます — 手順、リソース、注意事項をすべて取得 |
openemis_get | 一括読み取り:一覧または単一リソース、あらゆるリソースとフィルターに対応 |
出席、評価、生徒プロフィール、職員プロフィール、インフラ、給食、リスクダッシュボード、クラスレポート、時間割、監査ログ、学校の認定/登録、入学および入学手続き待ちの状態、さらに複数ステップの承認を OpenEMIS ワークフロープラグインがどのように支えるかを説明する入門書を網羅した、26件の読み取り専用プレイブックを収録しています。それぞれ、v5 マニフェストに対してリソースカバレッジ100%で検証済みです。さらに14件のプレイブックスタブもここで確認できますが、実際の書き込み/認証手順については openemis-mcp-pro に誘導します。
翻訳: Русский · Español · हिन्दी · العربية — 最初の17件のビュー用プレイブックも4言語すべてに翻訳されています。Core 5.10.0 向けに v1.1.0 で追加された新しいプレイブック9件と、ワークフロー用プレイブック2件は、現時点では英語のみです。
✏️ 書き込み操作(OpenEMIS のレコードの作成/更新)には openemis-mcp-pro が必要です。この無料サーバーは意図的に読み取り専用となっており、
post、put、deleteは利用できません。
Pro の内容
openemis-mcp-pro は、この無料の読み取り専用サーバーに書き込みツール、リモートホスティング、ChatGPT 互換性を追加します。
| Free | Individual Pro | Institution Pro | Country Pro | |
|---|---|---|---|---|
| 読み取りツール(全 678 リソース、Core 5.13.0) | ✅ | ✅ | ✅ | ✅ |
| 26 個の読み取りプレイブック(5 言語で各 17 個+英語 9 個) | ✅ | ✅ | ✅ | ✅ |
| 14 個の書き込み/認証プレイブック(出席確認、入学登録、認定設定など) | スタブ | ✅ | ✅ | ✅ |
| stdio モード(Claude Code、Cursor、Cline) | ✅ | ✅ | ✅ | ✅ |
| HTTP サーバーモード(Oracle/VPS — 一度インストールして URL で接続) | — | ✅ | ✅ | ✅ |
| OpenAPI アダプター(ChatGPT Custom GPT、任意の REST クライアント) | — | ✅ | ✅ | ✅ |
| 直接書き込み — 単一レコード | — | ✅ | ✅ | ✅ |
| 教育機関の監査証跡 | — | — | ✅ | ✅ |
| ワークフロールートの実行 | — | — | ✅ | ✅ |
| 教育機関管理者の承認ゲート | — | — | ✅ | ✅ |
| 1 つの教育機関内での一括操作 | — | — | ✅ | ✅ |
| 複数の教育機関にまたがる一括操作 | — | — | — | ✅ |
| 省庁の承認ゲート | — | — | — | ✅ |
| 教育機関を横断した監督 | — | — | — | ✅ |
HTTP サーバーモードでは、Pro を Oracle Always Free の ARM インスタンスに一度インストールするだけで、どのデバイスからでも接続できます。マシンごとのセットアップは不要です。組み込みの OpenAPI アダプターにより、教師は単一のスキーマ URL をインポートするだけで、ChatGPT(または任意の AI アシスタント)を使って出席を確認したり、生徒の記録を検索したりできます。手順ごとのセットアップについては、ChatGPT Teacher Guide をご覧ください。
→ 料金: [email protected]
インストール
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 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"
Claude Code、Cursor、Cline、Codex(gemmy-and-qwenny 経由)、その他の stdio MCP クライアントなど、MCP 互換クライアントであればどれでも使用できます。
詳細ログ(任意)
すべてのツール呼び出しとその応答を JSONL として記録します。デバッグ、プレイブックの調整、バグ報告の共有に役立ちます。
# 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
各行は JSON オブジェクトです:{ts, type:"tool_call"|"tool_result"|"tool_error", tool, args?, result?, latency_ms, ...}。認証情報に該当するキー(password、authorization、api_key、token、secret)は自動的にマスキングされます。
⚠️ プライバシー:
tool_resultエントリーには、エージェントに返された実際の OpenEMIS データ(生徒の氏名、職員 ID、在籍情報など)が含まれます。ご自身が所有するインスタンス、または明示的な同意を得たインスタンスでのみ有効にしてください。デフォルトでは OFF です。
🌐 リモート/サーバーへのインストール: openemis-mcp-pro は HTTP サーバーモードを追加します。Oracle Always Free に一度インストールすれば、すべての AI アシスタント(Claude Code、Cursor、ChatGPT)がマシンごとのセットアップなしで URL 経由で接続できます。教師が ChatGPT を使って出席を確認する方法については、ChatGPT Teacher Guide をご覧ください。
プレイブック
読み取り専用のワークフローガイドが 24 個あります。docs/playbooks/ をご覧ください。書き込み用プレイブック(出席確認、生徒の入学登録、学校の認定設定など)は、openemis-mcp-pro を案内するスタブとしてここから確認できます。
読み取りプレイブック(学校データの検索)
| # | プレイブック | ドメイン | 翻訳 |
|---|---|---|---|
| 1 | 空席数を数える | 職員 | RU · ES · HI · AR |
| 2 | 生徒の時間割を表示 | スケジュール | RU · ES · HI · AR |
| 3 | 生徒ダッシュボード | 生徒 | RU · ES · HI · AR |
| 4 | 教育機関の概要 | 教育機関 | RU · ES · HI · AR |
| 5 | 最新の出席状況を表示 | 出席 | RU · ES · HI · AR |
| 6 | 生徒プロフィールを表示 | 生徒 | RU · ES · HI · AR |
| 7 | 生徒の成績を表示 | 評価 | RU · ES · HI · AR |
| 8 | クラスレポートを表示 | レポート | RU · ES · HI · AR |
| 9 | 時間割を表示 | スケジュール | RU · ES · HI · AR |
| 10 | 教育機関の全プロフィールを表示 | 教育機関 | RU · ES · HI · AR |
| 11 | クラスの全プロフィールを表示 | 生徒 | RU · ES · HI · AR |
| 12 | 職員の全プロフィールを表示 | 職員 | RU · ES · HI · AR |
| 13 | 生徒プロフィールを充実させる | 生徒 | RU · ES · HI · AR |
| 14 | 教育機関のインフラを表示 | 教育機関 | RU · ES · HI · AR |
| 15 | 教育機関の食事を表示 | 教育機関 | RU · ES · HI · AR |
| 16 | 生徒のリスクプロフィールと福祉案件を表示 | 生徒 | RU · ES · HI · AR |
| 17 | 教育機関のリスク概要とアラートルールを表示 | 教育機関 | RU · ES · HI · AR |
v1.2.0 の新機能(OpenEMIS Core 5.13.0)
- ネイティブの
IN演算子によるリストフィルタリング(POCOR-9660)。_conditions=<field>:IN(1,2,3)を使うと、非 PK リソースや複合 PK リソースを含む任意のフィールドを値リストでフィルタリングできます。そのため、クラス名簿の取得は 1 回の呼び出しで完了します。まずinstitution-class-studentsをinstitution_class_idでクエリし、次にsecurity-usersを_conditions=id:IN(101,102,103)でクエリします。params.ids="1,2,3"はデフォルトで単一の?id=1,2,3の往復呼び出しにまとめられます(5.10 より前のコアではOPENEMIS_CORE_IN_OPERATOR=offに設定してください)。 - フィルター検証の厳格化(POCOR-9697)。 リソースに存在しないフィールドでフィルタリングすると、黙って無視されるのではなく HTTP 400 が返されるようになりました。リソースリファレンスに記載されている正確なフィールド名を使用してください。
- 読み取り専用の Runtime リソースを 3 つ追加(POCOR-9694):
tasks、task-jobs、task-failures— OpenEMIS Runtime のキュー/ジョブ/失敗のプロジェクションです。合計 678 リソース・3,361 エンドポイントです。
v1.1.0 の新機能(OpenEMIS Core 5.10.0)
openemis_get_playbook 経由で読み込まれます — 英語の完全なコンテンツは data/playbooks.json にあります。翻訳とプレイブックごとの Markdown ドキュメントは、後続リリースで追加されます。
| # | プレイブック | ドメイン | 内容 |
|---|---|---|---|
| 18 | diagnose-alert-delivery | アラート | 「このアラートは実際に送信されたのか?」に回答します — POCOR-9509 の配信パイプラインを順にたどります。 |
| 19 | view-school-accreditation | 教育機関 | institution-accreditations のレコードを読み取り(POCOR-9610)、有効/期限切れ/将来のステータスを判定します。 |
| 20 | view-school-registration | 教育機関 | 有効期間 valid_from..valid_to を含む institution-registrations の履歴を読み取ります。 |
| 21 | view-institution-budget | 教育機関 | 学年度ごとに institution-budgets を一覧表示し、予算タイプを特定します。 |
| 22 | query-student-absence-history | 出席管理 | institution-student-absences と absence-days を使って欠席を集計します。 |
| 23 | query-user-activity-audit-log | セキュリティ | POCOR-9697 の user_activities によるフィールドごとの監査履歴をクエリします。 |
| 24 | view-class-roster | 教育機関 | institution-classes → institution-class-students → 生徒の詳細情報の順にたどります。 |
| 25 | view-admission-and-enrolment-queue-state | ワークフロー | 「この入学予定の生徒は、入学/在籍登録のキューのどの段階にいるのか?」に回答します — status_id から workflow_step 名、現在の担当者、完全な遷移履歴を特定します。 |
| 26 | explain-workflow-system | ワークフロー | 「なぜこの承認には 4 ステップかかるのか?」を説明する入門ガイドです — workflow_models、ステップ、ステータス、遷移、ロールベースの担当者、およびプラグインによってテナントごとに承認チェーンを設定できる理由を説明します。 |
書き込み/認証プレイブック(スタブ — mcp-pro をインストールしてください)
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 — すべてのプレイブックは、openemis_create/openemis_update/openemis_delete とユーザーごとの認証を提供する openemis-mcp-pro にエージェントを誘導します。
コアの互換性
OpenEMIS Core 5.13.0(master、2026 年 6 月)でテスト済みです。5.7 ~ 5.12 のデプロイもサポートされています — パブリック REST サーフェスには後方互換性があります。
機能フラグ — POCOR-9660 複数 ID の GET
openemis_get は一括検索用に params.ids = "1,2,3" を受け付けます。Core 5.10 以降には POCOR-9660(CrudApiController の ?id=1,2,3 サポート)が含まれているため、ハンドラーはデフォルトで一括リクエストを単一の往復呼び出しにまとめます。ネイティブ演算子がない古い Core(5.7 ~ 5.9)を指定していますか? 従来の並列ファンアウトを強制するには、次のようにします。
OPENEMIS_CORE_IN_OPERATOR=off
ids を適用できない複合 PK リソースまたはビューリソースでは、代わりに _conditions=<field>:IN(1,2,3) を使用してください。任意のフィールドを値リストでフィルタリングでき、このフラグの設定にかかわらず動作します。
アーキテクチャ
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,361 endpoints across 678 resources)
ドメインごとに絞り込んで検出することで、会話を簡潔に保てます。openemis_discover("attendance") は、3,361 件すべてではなく、出欠に関連する 20〜30 件のエンドポイントを返します。
🖥️ サーバー/HTTP モード(Oracle に一度インストールすれば、ChatGPT を含むどこからでも接続できます)は、openemis-mcp-pro で利用できます。
ドキュメント
- リソースリファレンス — メソッドの利用可否を含む、678 件すべてのリソース(Core 5.13.0)
- プレイブック — 5 言語に対応した 17 件のビュー用プレイブックと、新しい英語のみのプレイブック 9 件(翻訳は順次追加されます)
- GLOSSARY.md — OpenEMIS、MCP、出欠、生徒のリスクなどの主要用語
- FAQ.md — OpenEMIS MCP を使った学校管理に関するよくある質問
- ACKNOWLEDGEMENTS.md — このツールを構築した AI チーム
ライセンス
MIT © 2026 Khindol Madraimov
OpenEMIS またはそのメンテナーとは無関係です。公開 Core API へのサードパーティ製ブリッジです。認証情報はお使いのマシンに保存されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。