passwerk について
passwerk は、EUデジタルバッテリーパスポートを準備するサプライヤー向けのオフラインコンパイラーです。サプライヤー文書を検証済みの AAS 出力と法的根拠付きの不足データ報告に変換し、MCP、CLI、ライブラリ、ブラウザーの各インターフェースを備えます。
主な機能
- 01PDF、表計算、テキストの取り込み
- 02パスポートデータのマッピングと検証
- 03根拠付き不足データ報告の生成
- 04AAS JSON、AASX、HTMLの出力
- 05UID、GS1 Digital Link、QRキャリアの作成
- 06APIキー不要のオフライン実行
活用シーン
- 01サプライヤー文書からパスポートを作成
- 02IDTA 02035に照らした草稿の確認
- 03パスポートの不足データの特定
- 04CIでパスポート監査を判定
MCP 対応
MCP サーバーは stdio と Streamable HTTP 経由で、12個のツール、参照リソース、ワークフロープロンプト、ワークベンチの MCP App を提供します。ネットワークやモデル呼び出しなしで動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @passwerk/serverPASSWERK_ROOTDirectory ingest_documents may read and emit_passport may write (default: the working directory)PASSWERK_LOG_LEVELinfo (default) or debug; JSON lines on stderrローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
12掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| lang | enum | いいえ | テキスト概要の言語(デフォルト:en)de | en |
| paths | array | いいえ | サーバーのファイルシステム上のファイルまたはディレクトリ(ディレクトリの場合、PDF、XLSX、CSV、DOCX、TXT ファイルを対象とし、再帰的には検索しません)。ローカルインストールではこちらを推奨します |
| detail | enum | いいえ | summary(デフォルト):ドキュメントごとの件数と bundleId。full:DocumentBundle 全体summary | full |
| inline | array | いいえ | パスを渡せないホスト向けの、base64 エンコードされたドキュメントのバイトデータ |
| limits | object | いいえ | IngestLimits の一部を上書きします(maxInputBytes、maxCells など) |
詳細
Passwerk
オフラインで動作するEUバッテリーパスポートコンパイラー。
サプライヤーの雑多なドキュメント(BOM、Excel のエクスポート、エネルギー料金の請求書、サプライヤー宣言書)を取り込むと、公式 AAS 形式(IDTA 02035-1 to -7)に準拠したデジタルバッテリーパスポートと、未入力項目を法令の引用付きで示すギャップレポートが得られます。
完全オフライン。API キーは不要です。エージェントを選びません。Claude Desktop、Claude Code、Codex、Cursor、OpenCode 向けの MCP サーバー、スクリプト実行可能な CLI、プレーンな TypeScript ライブラリ、QR プレビューを備えたクライアント側のウェブアプリを提供します。

.mcpb バンドルを使用した Claude Desktop の例:モデルが Musterwerk のドキュメントを取り込み、マッピングと検証を行った後、チャット内でワークベンチを開きます。高解像度 MP4、71 秒。
クイックスタート
エージェントにインストールさせる。 以下を Claude Code、Codex、Cursor、OpenCode、またはその他のコーディングエージェントに貼り付けてください。Node を確認し、実行環境に適したコマンドを選んで passwerk をインストールし、動作確認の方法を案内します:
Install passwerk for me by following
https://raw.githubusercontent.com/ShahriarBijoy/passwerk/main/docs/install/agent.md
または、コマンドを自分で実行する(Node >= 22.13):
| ホスト | スキルとツール(プラグイン) | ツールのみ |
|---|---|---|
| Claude Code | claude plugin marketplace add ShahriarBijoy/passwerkclaude plugin install passwerk@passwerk | claude mcp add passwerk --scope user -- npx -y @passwerk/server |
| Codex | codex plugin marketplace add ShahriarBijoy/passwerkcodex plugin add passwerk@passwerk | codex mcp add passwerk -- npx -y @passwerk/server |
その後、新しいセッションを開始し、エージェントに list_capabilities を呼び出すよう依頼してください。
Claude Desktop: リリースページから passwerk-<version>.mcpb をダウンロードして開いてください。Claude Desktop がサーバーをインストールし、ドキュメントフォルダーを尋ねます。再起動後、12 個の passwerk ツールを利用できます。詳しくは docs/install/claude-desktop.md をご覧ください。
その他すべて:
npx -y @passwerk/server # MCP server over stdio, offline, no keys
npx -y @passwerk/cli audit passport.draft.json
docker run -e PASSWERK_AUTH_TOKEN=$(openssl rand -hex 32) -p 127.0.0.1:3777:3777 ghcr.io/shahriarbijoy/passwerk
Codex、Cursor、OpenCode、プレーン HTTP 用のホスト別設定例は docs/install にあります。エージェントのワークフロー(取り込み、マッピング、検証、修正、出力)は、同梱のスキル skills/passwerk で説明しています。
開発の背景
規則(EU)2023/1542 第77条により、2027年2月18日から、EU 市場に投入されるすべての EV、軽輸送車両、および 2 kWh 超の産業用バッテリーにデジタルバッテリーパスポートが必要になります。パスポートには約90項目のデータが含まれ、サプライヤーの ERP、スプレッドシート、PDF に散在しています。商用プラットフォームはすべて OEM と Tier-1 向けです。passwerk は、データ要求を受けても対応するツールを持たない Tier-2 および中堅企業サプライヤー向けの導入手段です。
適合性は主張するのではなく、測定します。出力されるすべてのゴールデンパスポートは、CI の実行ごとに公式の aas-test-engines オラクルで再検証されます(docs/CONFORMANCE.md)。バッジは、想定される失敗も含め、そのオラクルとの判定一致率を示します。未知のサプライヤードキュメントに対するマッピング品質は docs/EVALUATION.md で評価しています。主権性テストと --network none Docker ジョブにより、ネットワーク呼び出しがゼロであることを証明します。これらは、いずれもバッテリーパスポートへの適合認証ではありません。テンプレート(L3)と妥当性(L4)のチェックは passwerk 独自のものです。
パッケージ
| パッケージ | 役割 |
|---|---|
@passwerk/rules | バンドルされた、チェックサム付きの IDTA 02035 テンプレート、AAS スキーマ、EC データポイントマトリックス、属性ナレッジベース(DE/EN)、法規制のタイムライン |
@passwerk/core | MCP に依存しないライブラリ:取り込み(PDF、XLSX、DOCX、CSV、TXT)、抽出、マッピング、検証(4 層)、ギャップレポート、AAS JSON / AASX / HTML の出力、データキャリア(UID、GS1 Digital Link、QR) |
@passwerk/server | stdio および Streamable HTTP 経由の MCP サーバー:12 個のツール、参照リソース、ワークフロープロンプト、MCP App としてのワークベンチ |
@passwerk/cli | CI で使いやすい終了コードに対応した passwerk audit | extract | emit | gaps | obligations | carrier | tools | chat(リファレンス) |
@passwerk/web | クライアント側のウェブアプリ:プロジェクト、ドキュメント、事実、レビュー、ギャップ、エクスポート |
@passwerk/mcp-app | Claude Desktop の iframe 内で動作する同じワークベンチ。review_passport で開きます |
rules、core、server、cli は、ネットワーク呼び出しもモデル呼び出しも一切行いません。例外は、オプトイン方式で独自の API キーを使用する 2 つの機能です。ウェブアプリのマッピング支援機能は、ラベルと値だけを対象とし、属性名のみを指定します。もう 1 つは passwerk chat のデモループです。支援機能を http://localhost:11434/v1 に接続すれば、データを建物の外に一切出さずに Ollama で実行できます。
コマンドライン
CLI は MCP サーバーと同じツールを、プロセス内でオフライン実行します。CI ジョブで判定できる終了コードに対応しています(audit:有効なら 0、警告があれば 1、無効なら 2。gaps:必須データポイントに未解決のものがなければ 0)。
passwerk obligations --type EV --role manufacturer --placed-on-market 2027-06-01
passwerk extract ./supplier-docs --category EV --out facts.json
passwerk audit passport.draft.json
passwerk gaps passport.draft.json --lang de
passwerk emit passport.draft.json --out ./passport
passwerk carrier passport.draft.json --out passport.qr.svg
ウェブアプリ
apps/web は、プロジェクト、ドキュメント、事実、レビュー、ギャップ、エクスポートの 6 つのステップで、パイプライン全体をブラウザー内で実行します。ドキュメントがブラウザーの外に出ることはありません。自動保存では、アップロードしたファイルではなく、判断、事実、提案が IndexedDB に保存されます。Claude Desktop 内では、同じワークベンチがホストの iframe 内で固定高さのツールとして動作します。
pnpm install && pnpm build
pnpm --filter @passwerk/web dev
開発
Node 22.13 以降と pnpm 10 が必要です。
pnpm install
pnpm check # lint + typecheck + test
pnpm build
pnpm oracle # replay golden passports through aas-test-engines (needs uv)
人間とコーディングエージェント向けのコントリビューター向け手順は AGENTS.md にあります。アーキテクチャと対象範囲は docs/BUILD_PLAN.md に、ひと目ではわかりにくいすべての判断は docs/DECISIONS.md に記載されています。
セキュリティとプライバシー
PRIVACY.md では、passwerk が送信・保存する内容と、それを保証するテストについて説明しています。任意の 2 つのモデル機能のいずれかを有効にしない限り、データがマシンの外に出ることはありません。SECURITY.md では、脆弱性を非公開で報告する方法と、信頼境界について説明しています。まずはドキュメントパーサーが対象です。
法的助言ではありません
passwerk は、実装している規制や標準を引用しますが、これはツールであり、法律の専門家ではありません。出力されるすべての法的主張には出典と isNotLegalAdvice: true フラグが付与されます。
ライセンス
Apache-2.0。LICENSE と NOTICE を参照してください。バンドルされたサードパーティ製アーティファクトの出典、バージョン、チェックサム、ライセンスは、packages/rules/PROVENANCE.md に記載されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。