mcpField
I
inclusio-mcp

inclusio-mcp

ローカル
github.com/sebastienrousseau生産性03 日前に更新

inclusio-mcp について

inclusio-mcp は、LaTeX 出版ワークフロー向けの MCP サーバーで、エージェントによるアクセシブルな文書の構築と検査を支援します。PDF のレンダリングとアクセシビリティ監査を行い、複数形式への出力にも対応します。

主な機能

  1. 01コンテンツツリー内の文書一覧
  2. 02PDF と他形式の生成
  3. 03veraPDF による PDF 監査
  4. 04文書・監査リソースの公開

活用シーン

  1. 01エージェントによる公開対象の検索
  2. 02MCP 経由でのアクセシブルな PDF 生成
  3. 03PDF のアクセシビリティ適合性確認

MCP 対応

list_docs、doc_count、render、audit_pdf ツールに加え、プロジェクト情報、最新の監査レポート、バージョン情報を MCP クライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sebastienrousseau-inclusio": {
"command": "uvx",
"args": [
"inclusio"
]
}
}
}
起動コマンドuvx inclusio

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

パッケージ
pypiinclusio0.0.8

ツール

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

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

詳細

Inclusio のロゴ

Inclusio

すべての人を包み込む出版。

LaTeX 向けのアクセシビリティを最優先にした出版エンジンを、 Python CLI としてパッケージ化しています。PDF/UA-2 + WTPDF + PDF/A-4f の三重適合、 C2PA + PAdES + SLSA による来歴情報、マルチフォーマット出力 (HTML5 / JATS / EPUB3)、LLM による判定の拡張、エージェント連携用の MCP サーバーを備えています。

エンジンの検証 veraPDF 監査 Glama MCP サーバーのスコア Python >= 3.11 PDF/UA-2 · WTPDF · PDF/A-4f Apache-2.0 OR MIT ライセンス

Inclusio のデモ


目次


インストール

pip install inclusio                       # engine + CLI
pip install 'inclusio[mcp]'                # + FastMCP server
pip install 'inclusio[provenance]'         # + pyhanko (PAdES)
pip install 'inclusio[dev]'                # + pytest, ruff, sphinx, interrogate

必要条件 Python ≥ 3.11 と PATH 上の LuaLaTeX ツールチェーンです。Linux、 macOS、WSL に対応しています(ネイティブ Windows では Python の 機能を利用できますが、LaTeX のゲートには WSL または TeX Live のインストールが必要です)。

オプションのツール追加される機能インストール
verapdf厳格な EAA / アクセシビリティ監査ゲートverapdf.org/install
pandoc (≥ 3.0)HTML5 / JATS XML / EPUB3 のマルチフォーマット出力brew install pandoc · apt install pandoc
c2patoolC2PA Content Credentialscontentauth/c2patool releases
pyhanko ([provenance] 経由)PAdES B-T / B-LT / B-LTA 署名オプション追加機能によってインストールされます
ソースからビルドする
git clone https://github.com/sebastienrousseau/inclusio.git
cd inclusio
./bin/setup        # check toolchain + install dev extras
make test          # smoke suite
make coverage      # full suite (gate: 97 %)

クイックスタート

新しいディレクトリに貼り付けて使える、完成した実例です。

pip install inclusio

# Grab the minimal example, build + audit + emit + judge:
git clone --depth=1 https://github.com/sebastienrousseau/inclusio
cd inclusio/examples/01-hello-world && make

この make コマンドだけで build/hello.pdf(PDF/UA-2 + WTPDF + PDF/A-4f の三重適合)が生成され、veraPDF による検査が実行されます。いずれかの形式への適合に失敗すると、ゼロ以外の終了コードで終了します。

同じ機能を Python から実行することもできます。

# quickstart.py
import subprocess
from pathlib import Path

# 1. Render + build the bundled "hello" fixture — the CLI is the
#    canonical entry point for the LaTeX step.
subprocess.run(
    ["python", "-m", "inclusio.cli.build", "build", "--doc", "hello"],
    cwd="examples/01-hello-world",
    check=True,
)

# 2. Audit the produced PDF in-process — pure-Python, no subprocess.
from inclusio.cli import audit

pdfs = audit.collect_pdfs(
    target=Path("examples/01-hello-world/build"),
    build_dir=Path("examples/01-hello-world/build"),
    registry_stems={"hello"},
)
report = audit.audit(pdfs)
assert report["summary"]["fail"] == 0, "veraPDF reported a failure"
print(f'  PASS  {report["summary"]["pdfs"]} PDF(s), '
      f'{report["summary"]["pass"]}/{report["summary"]["total"]} checks')
# →   PASS  1 PDF(s), 3/3 checks

機能

  • デフォルトでタグ付き PDF。 すべてのビルドで、LaTeX カーネルの tagpdf 統合を通じて、PDF/UA-2、WTPDF、PDF/A-4f の 3 規格に準拠する成果物を生成します。veraPDF の監査ゲートは CI に組み込まれており、FAIL があると終了コードがゼロ以外になります。
  • 複数形式での出力。 同じ LaTeX ソースから、Pandoc を使って HTML5(WCAG に準拠)、JATS XML(1.3、JATS4R 対応)、EPUB3 を生成します。
  • LLM で強化された評価機能。 ATS(Workday/Greenhouse/Lever のヒューリスティック)、引用の根拠確認、求人情報と CV の適合度を評価します。ローカルの llama.cpp または独自キーを使うクラウド(Anthropic/OpenAI)に対応し、LLM に接続できない場合はヒューリスティックのみで代替します。
  • コンテンツの来歴。 C2PA コンテンツ認証情報(c2patool 経由)、PAdES B-T/B-LT/B-LTA 署名(pyhanko 経由)、SLSA L3 ビルドアテステーション(actions/attest-build-provenance 経由)に対応します。
  • MCP サーバー。 inclusio-mcp は list_docs、audit_pdf、render、doc_count を公開しており、Claude Code、Cursor、Continue、その他の MCP クライアントからエンジンを操作できます。
  • JSON Resume インポーター。 inclusio import-resume は jsonresume.org の v1 ドキュメントを、エンジンの CV YAML スキーマに変換します。
  • ブリーフに基づく CV の調整。 求人情報に合わせた ATS に適したバリエーションを作成し、イギリス英語への調整と一貫性チェックを行います。

使い方

登録済みドキュメントのビルド、監査、評価
inclusio build --doc cv --mode draft        # → build/cv.pdf
inclusio audit --strict                     # → veraPDF, non-zero on FAIL
inclusio judge --doc cv --judge ats         # → grade + findings
求人情報に対する CV のスコアリング
# score_cv.py — fully runnable: drop into a directory with brief.txt + cv.txt
from pathlib import Path
from inclusio.judge import jd_fit

jd_text = Path("brief.txt").read_text(encoding="utf-8")
cv_text = Path("cv.txt").read_text(encoding="utf-8")

report = jd_fit.score_jd_fit(jd_text, cv_text)
print(f"score:   {report.score}/100   grade: {report.grade}")
print(f"missing: {sorted(report.metrics['missing_required'])[:5]}")
# → score:   78/100   grade: B
# → missing: ['opentelemetry', 'rust']
MCP 経由でエンジンを操作
inclusio-mcp                          # stdio (Claude Code default)
inclusio-mcp --http --port 8765       # Streamable HTTP

~/.claude/claude_desktop_config.json を使って Claude Code に接続します。

{
  "mcpServers": {
    "inclusio": {
      "command": "inclusio-mcp",
      "env": { "INCLUSIO_CONTENT_DIR": "/absolute/path/to/content" }
    }
  }
}
C2PA コンテンツ認証情報の埋め込み
inclusio provenance --doc cv \
  --cert /path/to/cert.pem \
  --key  /path/to/key.pem \
  --output build/cv.c2pa.pdf

ツール

inclusio-mcp サーバーは 4 つの MCP ツールを公開します。

  • list_docs — コンテンツツリーに登録されたドキュメントを列挙します
  • doc_count — 利用可能なドキュメント数をすばやく取得します
  • render — ドキュメントのタグ付き準拠 PDF(およびその他の形式)をビルドします
  • audit_pdf — PDF のアクセシビリティを監査します(veraPDF)

さらに、読み取り専用リソースを 3 つ公開します。

  • inclusio://meta — プロジェクトマニフェスト(meta.yaml)
  • inclusio://audit/latest — 最新の監査レポート
  • inclusio://version — エンジンのバージョンカード

アーキテクチャ

inclusio/                  # Python package
  cli/                     # build · audit · render · tailor · judge · emit · provenance · …
  judge/                   # ats · citations · jd_fit · local_llm · cloud_llm
  emit/                    # pandoc (HTML5 / JATS XML / EPUB3)
  provenance/              # c2pa (c2patool) · pades (pyhanko)
  mcp/                     # FastMCP server
  tools/                   # fix_semantic · stamp_pdfs · overlay
core/                      # LaTeX classes (.cls) and styles (.sty)
templates/                 # Jinja2 templates for the template-driven docs
benches/                   # pytest-benchmark micro-benchmarks
examples/                  # Six self-contained runnable scenarios
docs/                      # Sphinx documentation

外部の利用者は独自のコンテンツツリー(LaTeX ソース、YAML メタデータ、ブランドアセット)を用意し、INCLUSIO_CONTENT_DIR または --content-dir を通じてその場所をエンジンに指定します。リポジトリ独自の src/ と data/ ディレクトリは、公開エンジンのセルフテスト用フィクスチャも兼ねています。

例

#フォルダー説明
101-hello-world/監査ゲート付きのタグ付き PDF ビルド
202-cv-from-jsonresume/JSON Resume → CV → ATS + 求人情報との適合度スコアリング
303-paper-with-citations/論文 → PDF + HTML + JATS + EPUB + 引用評価
404-mcp-agent/inclusio-mcp + Claude Code スキル
505-c2pa-sign/C2PA コンテンツ認証情報
606-pades-sign/PAdES B-T eIDAS 署名

各フォルダーには独自の Makefile(make help でターゲットを表示)と、背景や手順を説明する README.md があります。

ドキュメント

外部コンテンツツリーを使った公開

make publish CONTENT_DIR=/absolute/path/to/your-content-repo

コンテンツリポジトリでは、独自の data/meta.yaml(ドキュメントレジストリ)と src/**.tex(LaTeX ソース)を用意します。INCLUSIO_CONTENT_DIR を設定すると、エンジンはそのディレクトリ外の状態を読み込みません。

開発

make test          # smoke (≤ 20 s)
make coverage      # full suite + 97 % gate (~3 min)
make docstrings    # 100 % interrogate gate
make benchmark     # pytest-benchmark micro-budgets
make audit-strict  # veraPDF, exits non-zero on any FAIL
make docs          # Sphinx

main へのすべてのコミットは、PR 経由でスカッシュマージされます。ブランチ保護では、Lint (ruff)、Public Engine Checks (py3.11 / 3.12 / 3.13)、および Signed-commit gate の通過が必須です。CONTRIBUTING.md を参照してください。

セキュリティ

  • SSH 署名付きコミット。 main 上のすべてのコミットは、GitHub によって検証済みです。
  • 署名付きタグ。 リリースタグは ED25519 で署名されています。
  • SLSA L3 ビルド来歴(リポジトリが公開されているか、有料の GitHub プランを利用している場合に有効になります)。
  • PyPI Trusted Publishing の設定(pypa/gh-action-pypi-publish)を release.yml に用意しています。PyPI のパブリッシャー設定が完了したら、vars.PYPI_TRUSTED_PUBLISHING=true に切り替えてください。
  • クラウド LLM キーは環境変数のみ — inclusio はディスク上の認証情報を自動検出しません。

脆弱性は SECURITY.md に従って報告してください。

関連する MCP サーバー

同じ作者による関連 MCP サーバーです。それぞれ異なるエージェントのワークフローを対象としています。

サーバー用途
noyalib-mcpロスレスな YAML 1.2 の解析、フォーマット、検証(Rust)
rlg-mcpオンコール/SRE エージェントのワークフロー向け RustLogs ログストリーム
pain001-mcpISO 20022 pain.001 の支払開始ファイルの生成と検証
bankstatementparser-mcp銀行取引明細書の解析(BAI2、MT940/MT942、CAMT.053、OFX、CSV)
camt053-mcpISO 20022 camt.053 の銀行から顧客への明細書の解析と照合
acmt001-mcpISO 20022 acmt.001 の口座管理メッセージの生成と検証

MCP Registry

mcp-name: io.github.sebastienrousseau/inclusio-mcp

pip install 'inclusio[mcp]' で MCP サーバーをインストールします(mcp エクストラによって mcp[cli]>=1.27.0 がインストールされます)。inclusio-mcp で実行すると、stdio トランスポートを使用してアクセシビリティ公開用ツールを Claude Desktop、Cursor、その他の MCP クライアントに提供します。


ライセンス

以下のいずれかのライセンスが適用されます。

いずれかを選択できます。© 2026 Sebastien Rousseau。

コメント

MCP は初めてですか?

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

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