mcpField
O
openemis-pro

openemis-pro

ローカル
github.com/tixuz科学・教育219 週間前に更新

openemis-pro について

openemis-proは、AIアシスタントと学校管理システムOpenEMISをつなぐ読み書き対応のMCPサーバーです。トピック別のAPI探索や手順ガイドを備え、非ワークフローリソースを操作できます。

主な機能

  1. 01トピック別のAPIエンドポイント探索
  2. 02OpenEMISリソースの読み取りと絞り込み
  3. 03非ワークフロー記録の作成・更新・削除
  4. 04読み書き用プレイブック40件
  5. 05stdioとHTTPでの接続

活用シーン

  1. 01生徒・職員・出席データの照会
  2. 02生徒登録などの作業で手順ガイドを利用
  3. 03HTTP経由でリモートMCPクライアントに接続

MCP 対応

MCPサーバーとして、互換クライアントにOpenEMISの探索、読み取り、書き込み、プレイブック用ツールを公開します。ローカルstdioとHTTP接続に対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"tixuz-openemis-pro": {
"command": "npx",
"args": [
"-y",
"openemis-mcp-pro"
],
"env": {
"OPENEMIS_BASE_URL": "<OPENEMIS_BASE_URL>",
"OPENEMIS_API_KEY": "<OPENEMIS_API_KEY>",
"OPENEMIS_USERNAME": "<OPENEMIS_USERNAME>",
"OPENEMIS_PASSWORD": "<OPENEMIS_PASSWORD>",
"OPENEMIS_TIMEOUT_MS": "<OPENEMIS_TIMEOUT_MS>",
"OPENEMIS_CORE_IN_OPERATOR": "<OPENEMIS_CORE_IN_OPERATOR>"
}
}
}
}
起動コマンドnpx -y openemis-mcp-pro
設定が必要な環境変数
OPENEMIS_BASE_URLBase URL of your OpenEMIS instance (e.g., https://demo.openemis.org/core)
OPENEMIS_API_KEYシークレットOpenEMIS API key (issued by the OpenEMIS admin). Required for every upstream login.
OPENEMIS_USERNAMEOpenEMIS login username. Optional — if unset, server fails closed and requires openemis_login at runtime.
OPENEMIS_PASSWORDシークレットOpenEMIS login password. Pairs with OPENEMIS_USERNAME for env-default auth.
OPENEMIS_TIMEOUT_MSRequest timeout in milliseconds (default 30000)
OPENEMIS_CORE_IN_OPERATORSet to 1 to enable native IN-operator batch GETs once your OpenEMIS Core has POCOR-9660 deployed.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmopenemis-mcp-pro1.1.0

ツール

12

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細


title: openemis-mcp-pro — OpenEMIS 学校管理向け読み取り+書き込み MCP サーバー description: openemis-mcp-pro は、AI アシスタントと OpenEMIS 学校管理情報システムをつなぐ読み取り・書き込み対応の MCP サーバーです。678 件のリソース、3361 件のエンドポイント、40 件のプレイブックを備えています。 keywords:

  • OpenEMIS
  • 学校管理システム
  • 教育管理
  • 生徒の出席状況
  • 生徒のリスク
  • MCP サーバー
  • 書き込みツール

openemis-mcp-pro のロゴ — OpenEMIS 学校管理向けの読み書き対応 AI ブリッジ

openemis-mcp-pro — OpenEMIS 学校管理向け読み書き対応 AI ブリッジ

MCP 対応エージェント(Claude、Codex、Cursor など)とあらゆる OpenEMIS 学校をつなぐ自然言語ブリッジです。読み書きの両方に完全対応しています。

OpenEMIS は、UNESCO と KORDIT が開発した無料のオープンソース 学校管理情報システム です。幼稚園、小学校、中学校、中等職業教育機関、専門学校、大学など、あらゆる種類の教育機関の日常的な管理を担い、生徒、職員、出席状況、評価、施設、食事、奨学金、試験、研修、教育省向けの報告を管理します。この MCP-pro サーバーは、あらゆる OpenEMIS 学校に完全な読み書きアクセスとユーザーごとの認証を追加します。

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

公開されている OpenEMIS Core API(リファレンスドキュメント:api.openemis.org/core)を基盤とし、実際の認証情報とデータを使って、公開デモ demo.openemis.org/core に対する一連の処理をエンドツーエンドで検証済みです。

英語で質問してください。

「Avory Primary に現在在籍している生徒は何人ですか?」

エージェントが呼び出しを計画し、この MCP がデータを提供すると、答えが返ってきます。

「Avory Primary School(コード P1002)には、現在553人の生徒が在籍しています。」

コードを一行も書く必要はありません。JSON を見る必要もありません。質問するだけです。

ステータス: v1.0.0 — ワークフローを介さないリソースで 完全な CRUD に対応しています。読み取りクエリは、すべての OpenEMIS v5 リソースで動作します。書き込みツール(作成/更新/削除)は、CakePHP Workflow プラグインを介さないすべてのリソースで利用できます。ワークフローによって制御されるリソース(出席状況、職員の休暇)はツールレベルでブロックされ、適切なプレイブックに誘導されます。


これは何か

openemis-mcp-pro は、AI アシスタントと OpenEMIS 学校管理システムをつなぐ、読み書き対応の MCP サーバーです。40 件の厳選されたプレイブック(読み取り26件、書き込み/認証14件)を通じて、678 件のリソース(生徒、出席状況、リスク、職員、試験、施設)を公開します。Pro 版では、無料の読み取り専用版に加えて、直接書き込みを行うツール(openemis_create、openemis_update、openemis_delete)、ChatGPT Custom GPT 向けの HTTP サーバーモード、ユーザーごとの認証が追加されています。


このプロジェクトの目的

OpenEMIS Core REST API は大規模で、v5 だけでも 678 個のリソースにまたがる 3,361 個のエンドポイントが公開されています(Core 5.13.0)。AI エージェントがそのすべてをコンテキストに保持することはできません。また、Swagger 形式の生のイントロスペクションでは、ユーザーの実際の質問とは無関係な情報が会話に大量に流れ込みます。

この MCP は、次の 2 つの方法でこの問題を解決します。

  1. ドメインを絞り込んだ探索。 API 全体をエージェントのコンテキストに読み込ませる代わりに、openemis_discover(topic) ツールで、ユーザーが実際に尋ねている内容(「出席」「生徒」「評価」など)に関連する約 20~30 個のエンドポイントに絞り込みます。これは、厳選された Domain-*.md のメモで構成される、小規模なナレッジパックを利用します。
  2. 単一で組み合わせ可能な取得ツール。 1 つの openemis_get ツールで、すべてのリソースに対する一覧取得、単一レコードの取得、条件付き検索を実行できます。エージェントが resource、省略可能な id、省略可能な params(_fields、_conditions、orderby、page、limit)を指定すると、残りは OpenEMIS の CakePHP 形式のクエリ DSL にそのまま渡されます。

その結果、エージェントは 30 回ではなく、2~4 回のツール呼び出しで自然言語の質問に回答できます。


ツール

ツール対応開始バージョン機能
openemis_healthv0.1設定済みのインスタンスに ping を送り、到達可能かどうかを報告します。実際のログイン往復を実行するため、このチェックに成功すれば CRUD も利用できます。
openemis_list_domainsv0.1厳選された OpenEMIS ドメイン(出席、評価、職員、生徒、教育機関、時間割、試験、レポート)を、それぞれ 1 行の要約とともに一覧表示します。エージェントはこれを使って、質問がどの領域に該当するかを判断します。
openemis_discoverv0.1入力:トピック文字列。出力:ドメインのナレッジパックとインスタンスごとのマニフェストから取得した、そのトピックに関連する最大 30 個のエンドポイント。基盤となる API の規模に関係なく、会話をコンパクトに保ちます。
openemis_list_playbooksv0.2厳選された 40 個のワークフロー手順書をすべて、ID、タイトル、ドメイン、対象ユーザーとともに一覧表示します。エージェントはこれを使って、ユーザーレベルのタスクに適した手順ガイドを見つけます。
openemis_get_playbookv0.2入力:手順書の ID。出力:リソース、順序付きの手順、ガイダンスのメモ、クエリの例を含む手順書全体。
openemis_getv0.1統合された読み取りツールです。{ resource, id?, params? } — id が指定されている場合は単一レコードを取得し、そうでない場合は _fields、_conditions、orderby、order、page、limit を任意に組み合わせて一覧を取得します。任意の追加フィルターキーも指定できます。
openemis_createv0.3.0新しいレコードを作成します。{ resource, body } — ワークフロー対象外のリソースのみが対象です。ワークフローで管理されるリソース(例:institution-staff-leave)はブロックされ、適切な手順書に誘導されます。
openemis_updatev0.3.0ID を指定して既存のレコードを更新します。{ resource, id, body } — ワークフロー対象外のリソースのみが対象です。
openemis_deletev0.3.0ID を指定してレコードを削除します。{ resource, id } — ワークフロー対象外のリソースのみが対象です。

たとえば、「Avory Primary の教師は何人で、空きポジションはいくつありますか?」 のような自然言語の質問は、エージェントが連鎖して実行する 3 回の openemis_get 呼び出しに解決されます。_conditions で絞り込み、最終的に 1 つの英語の回答として返されます。「新しい生徒を入学させて」 のような書き込みリクエストでは、openemis_get_playbook で手順ガイドを読み込んでから、書き込み手順ごとに openemis_create を使用します。


コアの互換性

OpenEMIS Core 5.13.0(master、2026 年 6 月)でテスト済みです。以前の 5.7~5.12 のデプロイ環境もサポートされており、API は後方互換性があります。

機能フラグ — POCOR-9660 の複数 ID GET

openemis_get は一括検索用に params.ids = "1,2,3" を受け付けます。Core 5.10 以降には POCOR-9660(CrudApiController での ?id=1,2,3 および _conditions=<field>:IN(...) のサポート)が含まれているため、ハンドラーはデフォルトで一括検索を 1 回のラウンドトリップにまとめます。ネイティブ演算子に対応していない旧バージョンの Core(5.7~5.9)を使用していますか?従来の並列ファンアウトを強制するには、次のようにします。

OPENEMIS_CORE_IN_OPERATOR=off

ids が適用されない複合主キーまたはビューのリソースでは、代わりに _conditions=<field>:IN(1,2,3) を使用してください。これは任意のフィールドを値リストで絞り込み、このフラグの設定にかかわらず機能します。リソースに存在しないフィールドで絞り込むと HTTP 400 が返されるようになりました(Core 5.10 以降、POCOR-9697)。正確なフィールド名を使用してください。

demo.openemis.org での検証

この README の記述はすべて、公開デモインスタンスで確認してから記載しています。

  • { username, password, api_key } を指定して POST /api/v5/login → JWT がキャッシュされます(331 文字)
  • GET /api/v5/institutions?limit=200&_fields=id,name,code → 24 校の教育機関("Avory Primary School" (id=6, code P1002) を含む)
  • GET /api/v5/institution-students?institution_id=6&student_status_id=1&limit=1 → ページネーションで last_page: 553 と報告 → 現在在籍中の学生は 553 人
  • GET /api/v5/academic-periods → 実際の学年度データが 7 ページ分
  • GET /api/v5/absence-types → EXCUSED、UNEXCUSED、LATE など

このリポジトリに含まれるサンプル scripts/smoke-login.mjs は、ログインテストを手順ごとに実行します。Claude Code に接続する前に、ご自身のインスタンスへの接続を確認できます。


対応エージェント

openemis-mcp は stdio 経由で Model Context Protocol を使用するため、MCP 対応クライアントであればどれでも利用できます。

Stdio モード(ローカルマシン) — サブプロセスとして接続します。

エージェント接続方法
Claude Code(claude CLI)claude mcp add — 主要な検証済みクライアント。9 つのツールすべてを利用可能
Cursor.cursor/mcp.json に追加 — すべてのツールを利用可能
Cline / Continue(VS Code)MCP 設定でサーバーを追加
Codexgemmy-and-qwenny ブリッジ経由
任意の MCP クライアント環境変数を設定し、node dist/server.js を指定

HTTP サーバーモード(OPENEMIS_TRANSPORT=http、Oracle/VPS に一度インストール)— URL で接続します。

クライアント接続方法
Claude Code(リモート)claude mcp add --transport http --url http://your-server:3000/mcp --header "Authorization: Bearer <token>"
Cursor / Cline設定でリモート MCP URL を追加
ChatGPT(カスタム GPT)http://your-server:3000/openapi.json からスキーマをインポート → Actions → Bearer トークン
任意の HTTP クライアント/api/* の REST API — Teacher Guide を参照

インストール

Node 22 以降(組み込みの fetch および AbortController 用)と、Python 3.10 以降(mcp-openemis-gen/ 内のマニフェストビルダーおよびプレイブック生成スクリプト用)が必要です。MCP サーバー自体は Node のみで動作します。Python が必要なのは、ソースからマニフェストを再構築する場合だけです。

GitHub から
git clone https://github.com/tixuz/openemis-mcp.git
cd openemis-mcp

npm install
npm run build

cp .env.example .env
$EDITOR .env
設定

.env.example にすべての変数が記載されています。最低限、OpenEMIS 管理者から発行される次の 3 つの認証情報が必要です。

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

サーバーは、認証が必要なツールが最初に呼び出されたときにログインします。/api/v5/login に POST し、data.token から JWT を解析して、メモリにキャッシュします。401 が返された場合は再ログインし、1 回だけ再試行します。

OPENEMIS_VAULT_PATH は、openemis_discover が使用する、厳選された Domain-*.md ノートを含むフォルダーを指定します。存在しない場合、ディスカバリー機能はマニフェストのみを対象としたキーワードマッチングに適切にフォールバックします。

OPENEMIS_MANIFEST_PATH は、../mcp-openemis-gen/ にある付属ビルダーが生成する JSONL 出力を指定します。存在しない場合、ディスカバリーツールは「マニフェストがまだビルドされていません」という分かりやすいヒントを返し、クラッシュすることはありません。

接続のスモークテスト
set -a && source .env && set +a
node scripts/smoke-login.mjs

想定される結果:

[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
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

このプロジェクトで新しい Claude Code セッションを開始すると、9 つのツールすべてが自動的に利用可能になります。


サーバーモード(Oracle Always Free/任意の VPS)

OPENEMIS_TRANSPORT=http を設定すると、ローカルのサブプロセスではなく、常時稼働する HTTP サーバーとして実行できます。サーバーに一度インストールすれば、すべての MCP 対応クライアント(Claude Code、Cursor、Cline、Windsurf)が URL 経由で接続できます。

サーバー上で:

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          # set credentials + OPENEMIS_TRANSPORT=http + OPENEMIS_AUTH_TOKEN
node dist/server.js

サーバーモード用の .env:

OPENEMIS_BASE_URL=https://your-openemis/core
OPENEMIS_USERNAME=admin
OPENEMIS_PASSWORD=your_password
OPENEMIS_API_KEY=your_api_key

OPENEMIS_TRANSPORT=http
OPENEMIS_PORT=3000

# Generate: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
OPENEMIS_AUTH_TOKEN=your-secret-token-here

Claude Code から接続(リモート):

claude mcp add openemis-remote \
  --transport http \
  --url "http://your-server:3000/mcp" \
  --header "Authorization: Bearer your-secret-token-here"

ヘルスプローブ(監視/稼働状況の確認用):

curl http://your-server:3000/health
# {"ok":true,"transport":"http","baseUrl":"https://your-openemis/core"}

⚠️ ポートを外部に公開する前に、必ず OPENEMIS_AUTH_TOKEN を設定してください。 設定しない場合、IP アドレスにアクセスできる人なら誰でもエンドポイントに接続できます。


アーキテクチャ

┌────────────────────────┐
│  Agent (Claude / …)    │     "How many current students at Avory?"
└───────────┬────────────┘
            │ MCP stdio (JSON-RPC)
┌───────────▼────────────┐
│  openemis-mcp          │  ← nine typed tools, ZodRawShape schemas
│  • openemis_health     │
│  • openemis_list_dom…  │  ← reads Domain-*.md from vault
│  • openemis_discover   │  ← topic → ≤30 scoped endpoints
│  • openemis_list_play… │  ← list all 40 workflow playbooks
│  • openemis_get_playbk │  ← load a playbook by id
│  • openemis_get / _create / _update / _delete   │
└───────────┬────────────┘
            │ HTTPS + Bearer JWT (cached, auto-refresh on 401)
┌───────────▼────────────┐
│  OpenEMIS Core API     │  api.openemis.org/core  (reference)
│  /api/v5/{resource}    │  demo.openemis.org/core (tested)
└────────────────────────┘

最初のコード行から適用されている設計原則:

  1. ドメインを絞り、すべてを一度に取得しません。 マニフェストは数千のエンドポイントにまで増える可能性がありますが、エージェントのコンテキストには限りがあります。openemis_discover(topic) が絞り込みの役割を担い、各会話で必要な範囲だけを表示します。
  2. v0.3.0 で書き込みツールに対応しました。 すべてのワークフロー以外のリソースで openemis_create/openemis_update/openemis_delete を利用できます。ワークフローによって制御されるリソース(attendance、staff-attendance)はツールレベルでブロックされ、適切なプレイブックに誘導されます。
  3. 呼び出し間でステートを保持しません。 メモリ内にキャッシュされるのは JWT のみです。ディスクへの永続化も、分析も、外部へのデータ送信も行いません。
  4. 実際の API を薄くラップします。 このブリッジで新しい概念を作ることはありません。resource 名は kebab-case の v5 パスで、クエリパラメーターにはネイティブの _conditions/_fields DSL を使用します。curl で書く内容をそのまま 1 対 1 で変換できます。

ドキュメント

プレイブック
#プレイブックドメイン対象ユーザー翻訳
1空席数を数える職員admin, hrRU · ES · HI · AR
2生徒の出席を記録する出席teacher, adminRU · ES · HI · AR
3職員の出席を記録する職員admin, hr, teacherRU · ES · HI · AR
4生徒の時間割を表示するスケジュールparent, studentRU · ES · HI · AR
5生徒ダッシュボード生徒parent, studentRU · ES · HI · AR
6生徒の成績表PDFを生成するレポートteacher, adminRU · ES · HI · AR
7新しい生徒を登録する生徒admin, registrarRU · ES · HI · AR
8行動上の問題を記録する生徒teacher, adminRU · ES · HI · AR
9試験の成績を提出する評価teacherRU · ES · HI · AR
10教育機関の概要教育機関admin, parentRU · ES · HI · AR
11教育機関の統計PDFを生成するレポートadminRU · ES · HI · AR
12最新の出席状況を表示する出席teacher, admin, parentRU · ES · HI · AR
13生徒のプロフィールを表示する生徒teacher, adminRU · ES · HI · AR
14生徒の成績を表示する評価teacher, admin, parentRU · ES · HI · AR
15クラスレポートを表示するレポートteacher, adminRU · ES · HI · AR
16時間割を表示するスケジュールteacher, admin, studentRU · ES · HI · AR
17教育機関の詳細プロフィールを表示する教育機関admin, parent, publicRU · ES · HI · AR
18クラスの詳細プロフィールを表示する生徒teacher, adminRU · ES · HI · AR
19職員の詳細プロフィールを表示する職員admin, hrRU · ES · HI · AR
20生徒のプロフィールを充実させる生徒teacher, admin, counsellorRU · ES · HI · AR
21教育機関のインフラを表示する教育機関admin, facilitiesRU · ES · HI · AR
22教育機関の食事を表示する教育機関admin, nutritionist, parentRU · ES · HI · AR
23生徒のリスクプロフィールを表示する生徒admin, counsellor, teacherRU · ES · HI · AR
24教育機関のリスク概要を表示する教育機関admin, ministryRU · ES · HI · AR
25設備または資産を追加する ✏️インフラadmin, accountant, facilitiesRU · ES · HI · AR
26インフラの修理を記録する ✏️インフラadmin, accountant, facilitiesRU · ES · HI · AR
27新しい食事プログラムを追加する ✏️食事admin, accountant, nutritionistRU · ES · HI · AR
28自分の本人情報を解決する(ユーザーごとの認証)🔐認証teacher, admin, staffRU · ES · HI · AR
29diagnose-alert-delivery (POCOR-9509)アラートadmin, ministryドキュメントは後日追加
30view-school-accreditation (POCOR-9610)教育機関admin, ministry, principalドキュメントは後日追加
31view-school-registration (POCOR-9610)教育機関admin, ministry, principalドキュメントは後日追加
32view-institution-budget (Core 5.10.0)教育機関admin, financeドキュメントは後日追加
33query-student-absence-history (Core 5.10.0)出席teacher, admin, parent, counsellorドキュメントは後日追加
34query-user-activity-audit-log (POCOR-9697)セキュリティadmin, security, ministryドキュメントは後日追加
35view-class-roster (Core 5.10.0)教育機関teacher, admin, homeroomドキュメントは後日追加
36set-school-accreditation ✏️ (POCOR-9610)教育機関admin, ministryドキュメントは後日追加
37set-school-registration ✏️ (POCOR-9610)教育機関admin, ministryドキュメントは後日追加
38mark-student-meal-participation ✏️食事teacher, admin, nutritionistドキュメントは後日追加
39view-admission-and-enrolment-queue-state 🔄ワークフローadmin, registrar, parent, principalドキュメントは後日追加
40explain-workflow-system 🔄ワークフローadmin, principal, developer, consultantドキュメントは後日追加

**新しいプレイブック(29~40)**は、data/playbooks.json に英語の完全な内容を含めて提供され、openemis_get_playbook を通じて読み込まれます。プレイブックごとの Markdown ドキュメントと RU/ES/HI/AR 翻訳は、後続のリリースで追加されます。


ロードマップ

v0.4.0 — ブラウザー認証(予定)

現在、認証情報を使用するには、OpenEMIS 管理者が手動で発行した api_key が必要です。v0.4.0 では、手動での認証情報設定をすべて不要にする、オプションの openemis_browser_auth ツールを追加します。

  1. このツールはローカルの Playwright ブラウザーを起動します — 事前に対象 URL を指定する必要はありません。
  2. ユーザーは OpenEMIS インスタンスに移動し、通常どおりログインします。
  3. Playwright がすべてのネットワークトラフィックを監視します。POST */api/v5/login または POST */api/v4/login へのレスポンス(どちらも同一の JWT を返します)を検知すると、次の処理を行います。
    • リクエスト URL からベース URLを自動的に抽出します(例:https://dev-demo.openemis.org/core/api/v5/login → ベース https://dev-demo.openemis.org/core)。OPENEMIS_BASE_URL を事前に設定する必要はありません。
    • レスポンス本文から JWT を抽出します。
  4. どちらもメモリにキャッシュされ、その後のすべての CRUD 呼び出しで使用されます。

これにより、OPENEMIS_BASE_URL、OPENEMIS_USERNAME、OPENEMIS_PASSWORD、OPENEMIS_API_KEY が不要になります。ユーザーはブラウザーを開いてログインするだけです。再設定なしで、開発、ステージング、本番環境を含む、あらゆる OpenEMIS インスタンス、ドメイン、サブドメインで動作します。

.env ベースの認証情報も引き続き完全にサポートされます — 既存の構成に変更はありません。ブラウザー認証は新しいツールからオプトインして利用できます。

v0.5.0 — リスクダッシュボード ✅

view-student-risks と view-institution-risks — 提供済みです。リスクスコア、基準ごとの内訳、福祉関連案件、アラートルール、配信ログを利用できます。

v0.6.0 — ワークフロールート (Institution Pro + Country Pro)

現在の書き込みツール(openemis_create、openemis_update、openemis_delete)は、一度に 1 つの操作を実行します。ワークフロールートでは、この機能をさらに拡張し、MCP が完全な複数ステップのプレイブックを自動的にオーケストレーションして、各ステップ間で状態を引き継ぎ、各段階でコミット前の検証を実施します。

新しいツール: openemis_run_workflow { playbook_id, params, dry_run? } — プレイブック ID と構造化された入力パラメーターを受け取り、すべてのステップを順番に実行して、構造化された実行ログを返します。ドライランモードでは、何も書き込まずに変更内容を報告します。

ワークフロールートは Individual Pro より上位のプランで利用できます。これは、機関または国全体の規模での AI による一括書き込みには監督が必要なためです。30 人の生徒を採点する教師にはスピードが必要ですが、20 校にまたがる 500 人の生徒を登録する地区事務所には、監査と承認が必要です。

機能Individual ProInstitution ProCountry Pro
直接書き込み(単一レコード)✅✅✅
機関監査証跡—✅✅
ワークフロールートの実行—✅✅
機関管理者による承認ゲート—✅✅
1 つの機関内での一括操作—✅✅
複数機関にまたがる一括操作——✅
省庁による承認ゲート——✅
機関横断の監督ダッシュボード——✅
部分的な失敗時のロールバック——✅

プラン

無料個人 Pro機関 Pro国 Pro
対象範囲すべてのユーザー1 人1 校省庁/国
ライセンスMITBSL 1.1BSL 1.1BSL 1.1
読み取りツール(全 678 リソース、Core 5.13.0)✅✅✅✅
厳選された 40 のプレイブック(読み取り 26・書き込み/認証 14・翻訳付き 28)✅✅✅✅
stdio モード(Claude Code、Cursor、Cline)✅✅✅✅
HTTP サーバーモード(Oracle/VPS へのインストール)—✅✅✅
OpenAPI アダプター(ChatGPT Custom GPT、あらゆる REST クライアント)—✅✅✅
直接書き込み — 単一レコード—✅✅✅
機関の監査証跡——✅✅
ワークフローのルート実行——✅✅
機関管理者による承認ゲート——✅✅
1 つの機関内でのバッチ操作——✅✅
複数機関にまたがるバッチ操作———✅
省庁の承認ゲート———✅
機関横断の監督———✅
部分的な失敗時のロールバック———✅

→ 料金とアクセス: [email protected]


ライセンス

MIT — © 2026 Khindol Madraimov


謝辞

人間の指示のもと、連携する AI エージェントチームが開発しました。チーム全員についてはACKNOWLEDGEMENTS.mdをご覧ください。メンバーは、Adviser Arastu、Marshal Sunny、Samurai Haiku、Xéphyrin Xirdal、Captain Nemo、Coddy (GPT-5)、Miniqwenco (Qwen 2.5 Coder 7B)、Miniqwen (Qwen 3.5 9B)、Gemmy (Gemma 4e4b)です。それぞれが、アーキテクチャ、コード、分析、多言語翻訳において異なる役割を担っています。


OpenEMIS またはそのメンテナーとは無関係です。これは公開 Core API と通信するサードパーティ製ブリッジです。認証情報とデータはお使いのマシン上に保持されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。