mcpField
E
ELO ECM

ELO ECM

ローカル
github.comファイル・ストレージ02 週間前に更新

ELO ECM について

ELO ECM は、各ユーザー自身のアカウントと権限で ELO ECM を操作するローカル MCP サーバーです。文書の検索・読み取り、登録、ワークフロー操作に加え、検証機能付きのテンプレートやスクリプト作成にも対応します。

主な機能

  1. 01文書検索とテキスト抽出
  2. 02文書登録とインデックス項目の更新
  3. 03ワークフローの確認と操作
  4. 04ワークフローテンプレートとスクリプトの作成
  5. 05ワンタイムトークンによる書き込み前プレビュー

活用シーン

  1. 01全文やインデックス項目で文書を検索
  2. 02割り当てられた ELO タスクとワークフローを確認
  3. 03文書を登録、またはワークフローを開始
  4. 04ワークフローテンプレートやスクリプトを作成・検証

MCP 対応

ELO ECM の検索、文書、権限、ワークフロー操作を MCP クライアントに公開します。書き込みと作成のツールは個別に有効化でき、変更はプレビュー後にワンタイムトークンで実行します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbelo-mcp-0.6.0.mcpb

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

ELO-MCP-Server

ELO をあらゆる AI で活用:検索、読み取り、保存、ワークフローの操作と構築を、自分の ELO アカウントの権限で行えます。

ELO 25 でテスト済み MCP stdio 22 個のツール プレビューとトークン
Windows MIT ライセンス

クイックスタート · ツール · セキュリティ · クライアント · 設計図 · IX の落とし穴

メモ

English: MCP server for the ELO ECM Suite (ELO Digital Office). Runs locally next to the ELO Client (ELO 25) or ELO Java Client and signs in with the user's own ELO account, so ELO enforces that user's permissions. Beyond search and text extraction it can file documents, set index fields, start and forward workflows, and (optionally) build workflow templates and ELOas rules/IX scripts with syntax checks. Every write is a two-step preview + one-time token. Docs are in German because ELO's user base is mostly DACH; issues in English are welcome.

ELO Digital Office GmbH の ELO ECM 用 MCP サーバーです。「請求書 4711 に関する未処理のタスクを見せて」や「審査担当者 2 名が並行して確認する承認テンプレートを作って」のように自然な言葉で依頼すると、AI がアーカイブを直接操作します。

概要

  • あらゆる MCP クライアントに対応: Claude Code、Claude Desktop、Codex、GitHub Copilot、Gemini CLI、Cursor など(docs/CLIENTS.md)
  • ユーザーごとの権限: サーバーはユーザーの端末上で動作し、そのユーザー自身の ELO アカウントでログインします。すべてのアクセス権は ELO が検証します。サービスアカウントは不要で、権限を独自に再現することもありません。
  • 検索以上の機能: 全文検索とフィールド検索、PDF/Office/メールからのテキスト抽出、付与元を含む有効な権限の確認、ワークフローの参照・開始・転送に対応します。
  • 検証しながら構築: ワークフローテンプレートを JSON の設計図としてエクスポートし、編集して書き戻せます。ELOas ルール、IX スクリプト、フォームページは、コンパイルと既知の落とし穴の検査を行ってからアップロードします。
  • 3 つの段階: 読み取りは常に有効です。書き込み(-Schreiben)と構築(-Bauen)は、それぞれ個別に有効化します。スイッチが設定されていない機能のツールは、AI から見えません。
  • 2 段階で書き込み: 変更内容は、まずプレビューと使い切りトークンを返します。トークンを使った 2 回目の呼び出しで初めて実行されます。
  • インデックスサーバーへの負荷を抑制: 同時処理は 1 リクエストまで、上限を厳格に設定し、ワークフローの一括照会は行いません。
  • 追加のダウンロードは不要: インストール済みの ELO Client または ELO Java Client に含まれる Java、Rhino、IX クライアントライブラリ、PDFBox、POI を使用します。

前提条件

テスト済み、または前提条件
ELO サーバーIndexserver 25.00(ELO 25)。Java API を備えた旧バージョンでも動作するはずですが、テストしていません。
ELO クライアントAI の実行環境となるコンピューターにインストールされていること:ELO Client 25 または旧バージョンの ELO Java Client。ELO Client 25(IX-Client-Bibliothek 25.00、Rhino 1.9、PDFBox 3)および ELO Java Client(IX-Client-Bibliothek 20.09)を使用し、Indexserver 25.00 に対してテスト済みです。Programme\ELO Client、次に Programme\ELO Java Client を検索し、いずれも見つからない場合は -ClientDir を使用します。
WindowsWindows PowerShell 5.1(powershell.exe)を備えた Windows 10/11。PowerShell 7 では不十分です。ブリッジには System.Web.Extensions が必要です。
ELO アカウント通常のユーザーアカウント。AI ができることは、そのアカウントに許可された操作に限られます。
証明書https の場合、サーバー証明書が Windows 証明書ストアで信頼されている必要があります(Java は Windows-ROOT を使用します)。

重要

各セッションでは、皆さんのアカウントを使って個別の IX 接続が確立されます(クライアント名は elo-mcp)。その接続によって追加の ELO ライセンスが必要になるかどうかは、ELO パートナーにご確認ください。

クイックスタート

  1. 取得します。例:C:\Tools\elo-mcp に配置します。
    git clone https://github.com/Herzog-GmbH/elo-mcp.git C:\Tools\elo-mcp
    
  2. 認証情報を登録します。一度だけ、ターミナル上でご自身で実行してください(AI に入力させないでください)。パスワードは DPAPI によって Windows アカウント用に暗号化されます。
    powershell -NoProfile -ExecutionPolicy Bypass -File C:\Tools\elo-mcp\Set-EloCredential.ps1
    
  3. 確認します。ELO には接続しません。
    powershell -NoProfile -ExecutionPolicy Bypass -File C:\Tools\elo-mcp\test\offline.ps1
    
  4. 登録します。ここでは Claude Code の場合です(その他のクライアントについては docs/CLIENTS.md を参照してください)。IX URL は ELO Java Client のログインプロファイルに記載されています。不明な場合は ELO 管理者にお問い合わせください。
    claude mcp add elo --scope user -- powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Tools\elo-mcp\elo-mcp.ps1" -IxUrl "https://elo.example.com:9093/ix-Archiv/ix"
    
  5. テストします。新しいセッションで「ELO での自分のユーザー情報は?」と質問してください。elo_whoami が呼び出され、アカウント、サーバー、IX バージョン、有効なレベルが表示されます。

AI にセットアップを任せたい場合は、次の文を入力してください:「このフォルダーの AGENTS.md に従って ELO-MCP-Server をセットアップしてください。」

Claude Desktop:パッケージとしてインストール

Claude Desktop では、Git や設定ファイルを使わずに、パッケージ(MCPB)としてサーバーをインストールすることもできます。

  1. 最新リリースから elo-mcp-<version>.mcpb と Set-EloCredential.ps1 をダウンロードします。
  2. 認証情報を登録します。ターミナル上でご自身で実行してください。
    powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\Downloads\Set-EloCredential.ps1"
    
  3. Claude Desktop の 設定 → 拡張機能 → 詳細設定 → 拡張機能をインストール(Settings → Extensions → Advanced settings → Install Extension)で .mcpb ファイルを選択します。
  4. IX URL を入力します。書き込みとビルドは必要な場合のみ有効にしてください。標準設定を使う場合、認証情報ファイルとクライアントフォルダーの欄は空欄のままにします。2 つ目のアーカイブ(例:テスト用アーカイブ)を使う場合は、「アーカイブ 2」の項目を入力し、両方のアーカイブに短い名前を付けます。詳しくは2 つのアーカイブを参照してください。
  5. 新しいチャットで「ELO での自分のユーザー情報は?」と質問します。

パッケージに含まれるのは、このリポジトリのスクリプトのみ(約 70 KB)です。Java と ELO ライブラリは、通常どおりインストール済みの ELO Client から使用します。更新するには、新しい .mcpb をインストールするだけです。

オプション

すべてのオプションは、クライアント設定でスクリプトパスの後ろに指定します。

オプション効果
-IxUrl <url>ELO サーバーの IX URL(必須。代わりに環境変数 ELO_IX_URL も使用できます)
-Schreibenレベル 2 を有効化します:登録、新しいバージョン、インデックスフィールド、ワークフローの開始、タスクの転送
-Bauenレベル 3 を有効化します:ワークフローテンプレート、スクリプト、ELOas ルール、フォームページ。テストアーカイブでのみ使用することを強くおすすめします。
-CredentialFile <pfad>別の認証情報を使用します(例:テストアーカイブ用の 2 つ目のアカウント)。既定値は %LOCALAPPDATA%\elo-mcp\elo-credential.xml です
-ClientDir <pfad>ELO Client または ELO Java Client のフォルダー(Programme の下にない場合)
-Archiv "<name>"AI へのヒントに表示するアーカイブ名。例:"der Muster GmbH (Test)"
-TextDatumJJJJMMTT一部のアーカイブでの独自ルール:名前が DAT/DATUM で終わるテキストフィールドには、日付を JJJJMMTT 形式で設定します
-LeerlaufMinuten <n>指定した分数の間呼び出しがない場合、Java を終了します(既定値は 10、5 未満にはできません)
-Direkt起動前の処理を行わず、Java をすぐに起動します(問題発生時のフォールバック。アーカイブが 1 つの場合のみ)
-IxUrl2 <url>2 つ目のアーカイブ。例:テストアーカイブ(下記参照)
-Name <name>, -Name2 <name>archiv パラメーターに使用する 2 つのアーカイブの短縮名。例:Produktiv と Test(既定値は 1 と 2)
-Schreiben2, -Bauen22 つ目のアーカイブでのみ各レベルを有効化します
-CredentialFile2 <pfad>, -Archiv2 "<name>"2 つ目のアーカイブの認証情報(既定値:1 つ目と同じ)とアーカイブ名
2 つのアーカイブ

1 つのエントリーで 2 つのアーカイブを操作できます。たとえば、本番環境は読み取り専用、テスト環境はすべてのレベルを有効にする場合です:

claude mcp add elo --scope user -- powershell -NoProfile -ExecutionPolicy Bypass -File "C:\Tools\elo-mcp\elo-mcp.ps1" -IxUrl "https://elo.example.com:9093/ix-Archiv/ix" -Name Produktiv -IxUrl2 "https://elo-test.example.com:9093/ix-Archiv/ix" -Name2 Test -Schreiben2 -Bauen2
  • その場合、各ツールに archiv パラメーターが付きます(Produktiv または Test)。指定しない場合は、1 つ目のアーカイブが使われます。AI には「テスト環境で」または「本番環境で」と伝えるだけです。
  • 各アーカイブで有効なレベルは個別に設定されます。この例では、AI が試みても本番環境で変更することはできません。書き込みツールと構築ツールの説明には、どのアーカイブで実行されるかが記載されます。
  • 各アーカイブは独立した Java プロセスで動作し、最初の呼び出し時に起動します。接続、キャッシュ、トークンが混在することはありません。テスト環境でのプレビューから得たトークンが本番環境で有効になることはありません。
  • elo_whoami、各プレビュー、およびログにはアーカイブが表示されます。オブジェクト ID、マスク、テンプレートはそれぞれのアーカイブでのみ有効です。

ツール

レベル 1:読み取り(常に有効)
ツール目的
elo_whoamiアカウント、サーバー、IX バージョン、有効なレベル
elo_searchタイトル、全文、インデックスフィールドを対象に iSearch で検索します。必要に応じてフォルダーとそのサブフォルダーに範囲を限定できます。最大 50 件
elo_find_by_fieldsマスクとインデックスフィールドを使ったデータベース検索。ワイルドカード * を使用できます。フィールドまたは名前が指定されていない場合は拒否されます
elo_listフォルダーの内容を 1 階層分表示します。最大 300 件
elo_get_objectメタデータ、ラベル付きインデックスフィールド、パス、最新バージョン、elodms:// リンク
elo_get_versionsバージョン一覧を新しい順に表示します
elo_get_textPDF(テキストレイヤー付き)、DOCX、XLSX、PPTX、XLS、EML、テキストファイルからテキストを取得します。1 回の呼び出しにつき最大 50,000 文字。abZeichen で続きを取得できます
elo_user_rightsユーザーの有効な機能権限と、その権限の由来(直接付与、またはどのグループ経由か。入れ子のグループも含む)
elo_workflow_templatesすべてのワークフローテンプレート
elo_workflowテンプレート、または実行中/終了済みワークフローの詳細:ノード、担当者、スクリプト、フォーム、JSON 設定、接続
elo_workflows_of_objectちょうど 1 つのオブジェクトに関連する実行中(アクティブなノードを含む)または終了済みのワークフロー
elo_my_tasksグループ経由のものも含めた自分のタスク
elo_workflow_exportテンプレートを JSON 設計書として出力します(形式)
ステージ 2:作業する(-Schreiben)
ツール目的
elo_create_folderフォルダーを作成します(フォルダーマスクのみ)。同じ名前や必須項目の未入力がある場合は警告します
elo_create_documentローカルファイルをドキュメントとして保存します(ドキュメントマスクのみ)。最大 50 MB です
elo_new_version新しいバージョンを作成します。同一ファイルは拒否し、拡張子が異なる場合は警告します
elo_set_fieldsインデックスフィールドと短縮表示名を設定し、変更前から変更後へのプレビューを表示します
elo_start_workflowテンプレートからワークフローを開始します。同じテンプレートがすでに実行中の場合は警告します
elo_forward_taskタスクを転送します。後続が複数ある場合は必須情報が必要です。フォームのあるノードでは trotzFormular が必要です。フォームの検証は API 経由では実行できないためです

フィールド値は事前にマスクに照らして検証されます。フィールドの有無、長さ、数値、日付(31.02. は拒否されます)、および「リストのみ」の場合のキーワードリストが対象です。日付フィールドは、サーバーによって ELO 形式の JJJJMMTT000000 で書き込まれます。

ステージ 3:構築する(-Bauen)
ツール目的
elo_workflow_build設計図からテンプレートを作成または置き換えます(ID と名前は維持されます)。変更リスト付きのプレビューを表示し、前後の .ewf をバックアップします
elo_script_updateAdministration 配下のドキュメント(ELOas ルール、IX スクリプト、フォームページなど)の新しいバージョンを作成します。行ごとの差分付きプレビューを表示し、文字コードは維持されます
elo_script_createAdministration 配下に新しいドキュメントを作成します。マスク、権限、タイプは手本から引き継ぎます

構築時の検証項目は、いずれも実際に発生した問題をもとにしています。

  • ワークフロー: 開始ノードがちょうど 1 つ、終了ノードが少なくとも 1 つあること、すべてのエッジが既存のノードを参照していること、各ノードに到達でき、終了ノードまでの経路があること、終了ノード以外の各ノードに後続ノードがあること(ないと処理が停止します)、条件分岐に条件があること、コレクターに固定カウンターが設定されていること(0 は最初の先行ノードで処理を進め、-1 はスキップされた IF 分岐の後で停止します)、担当者とフォームが存在すること。
  • ELOas ルール: XML の形式が正しく、各スクリプト部分が Rhino でコンパイルされること。
  • IX スクリプト: コンパイルされること、各 //@include を解決できること、@include がヘッダー行にのみ記述されていること、ASCII のみであること。Include を解決できない場合、インデックスサーバーのスクリプトエンジン全体が停止してしまいます。

再読み込み(ELOas、IX スクリプト)と、フォームデザイナーでの「更新」は手動で行う必要があります。変更のたびにサーバーからその旨が通知されます。

セキュリティ

  • 個人アカウント: ELO は、ログイン中のユーザーの権限で各アクセスを検証します。中央サーバーを使うには、主管理者権限を持つサービスアカウントが必要です。インデックスサーバーは、通常のアカウントによる他のユーザー名義でのログイン(runAsUser)を拒否します。このサーバーでは、そのようなアカウントを意図的に使用せず、ユーザーのアカウントでローカルに実行します。
  • 認証情報: DPAPI で暗号化され、本人の Windows アカウントでのみ読み取れます。ラッパーは Java の起動時にのみ復号し、Java プロセスにのみ渡します。
  • 二段階方式: 最初の呼び出しでは、検証、プレビュー、トークンの発行を行います。トークンの有効期間は 5 分で、1 回限り有効です。引数が完全に同一であり、プレビュー以降にオブジェクトが変更されていない場合にのみ使用できます(名前、マスク、インデックスフィールド、ロック、バージョンから指紋を作成します)。AI への指示では、プレビューを表示し、承認を待つよう求めます。
  • コードからは実行できない操作: 削除、移動、権限やマスクの変更。これらは無効化されているのではなく、そもそも実装されていません。
  • ログ: 失敗した実行も含め、すべての実行が %LOCALAPPDATA%\elo-mcp\protokoll-JJJJ-MM.jsonl に記録されます(時刻、アカウント、サーバー、ツール、引数、結果)。
  • 書き込み時の再試行なし: 読み取りツールは、セッションの有効期限が切れると一度だけ再ログインします。書き込みツールは再ログインしないため、処理が重複しません。
  • 外部テキスト: ドキュメントの内容(elo_get_text)に AI への指示が含まれている場合があります(プロンプトインジェクション)。そのため、承認する前に各プレビューを確認してください。

起動とメモリ使用量

MCP クライアントはセッションごとに各サーバーを一度起動します。ELO をまったく使用しない場合でも、セッションごとに JVM が約 650 MB を消費します。そのため、Java の前段に軽量なラッパー(約 75 MB)として elo-mcp.ps1 を配置しています。

  • initialize、tools/list、ping には、ラッパーが %LOCALAPPDATA%\elo-mcp\werkzeuge-<hash>.txt から応答します。コードやスイッチを変更した後は、最初のセッションで一度だけ Java からリストを取得します。
  • Java は最初のツール呼び出し時にのみ起動し(2~8 秒)、呼び出しがない状態が 10 分続くと終了します。JVM は -XX:+UseSerialGC -Xms32m -XX:TieredStopAtLevel=1 で実行されます(約 90~130 MB)。アーカイブが 2 つある場合も、アーカイブごとに同様です。

制限事項

  • Windows のみ対応し、stdio のみ使用できます(HTTP サーバーはありません)。src\ 以下のコアは、Rhino と IX クライアントライブラリが動作する環境であればどこでも実行できます。他のシステム用の起動スクリプトはまだありません。
  • .doc、.msg、テキストレイヤーのないスキャン文書のテキストは取得できません(OCR には対応していません)。
  • リンクは Java クライアント向けの elodms://(GUID) のみです。Web クライアントにはまだ対応していません。
  • ビルド時に対応するノードタイプは 1~6(開始、担当者、配布、決定、収集、終了)のみです。ループ、サーバー移行、サブワークフローを含むテンプレートはエクスポートできますが、書き戻しはできません。
  • ELOas/IX スクリプトの再読み込みと公開には対応していません。

構成

ファイル用途
elo-mcp.ps1起動スクリプトとラッパー
Set-EloCredential.ps1認証情報を暗号化して保存
src/elo.jsIX 接続、アーカイブパス
src/elo-mcp.jsコア、プロトコル、テキスト抽出、ステージ 1
src/elo-mcp-schreiben.jsステージ 2、プレビュー/トークン、フィールド検証、プロトコル
src/elo-mcp-bauen.jsステージ 3、設計図、スクリプト検査
src/elo-mcp-start.jsメインループ
test/offline.ps1ELO を使わないテスト(プロトコル、ステージ、設計図、スクリプト)
test/test-mcp.py実際の ELO に対する呼び出し。例:python -I test\test-mcp.py test\beispiel-lesen.json -- -IxUrl <url>
mcpb/Claude Desktop 用パッケージ:manifest.json、起動スクリプト mcpb-start.ps1(設定 → スイッチ)、アイコン
tools/build-mcpb.ps1dist\elo-mcp-<version>.mcpb をビルドし、チェックサムとダウンロード URL を server.json に記録
server.jsonMCP Registry 用のエントリー
test/test-mcpb.pyビルドしたパッケージを Claude Desktop と同様に起動。例:python -I test\test-mcpb.py dist\elo-mcp-0.5.0.mcpb -- ix_url=<url>

ビルド時に遭遇した IX API の落とし穴については、docs/FALLEN.md を参照してください。

参加する

Issue や Pull Request を歓迎します。他の ELO バージョンでの経験もぜひお寄せください。Issue、ログ、テストファイルには、内部情報(ホスト名、ユーザー名、オブジェクト ID、テナント名)を記載しないでください。Pull Request を提出する前に test\offline.ps1 を実行してください。セキュリティ上の脆弱性は公開せず、SECURITY.md の説明に従って報告してください。

ライセンスと商標

MIT。詳しくは LICENSE を参照してください。保証はありません。書き込みとビルドは、まずテスト用アーカイブで試してください。

これは ELO Digital Office GmbH の製品ではなく、同社によるサポートや検証も受けていません。ELO は ELO Digital Office GmbH の商標です。ELO ライブラリはこのリポジトリには含まれておらず、パッケージにも含まれていません。ライセンスを取得した ELO Java Client から入手してください。

コメント

MCP は初めてですか?

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

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