PAIML MCP Agent Toolkit について
PMAT(PAIML MCP Agent Toolkit)は、MCP サーバーを主な形態とし、CLI も備えるコード品質分析と AI 向けコンテキスト生成のツールです。コーディングエージェントの動作を決定的にしたい開発者やチーム向けです。stdio と HTTP の両方のトランスポートに対応します。
主な機能
- 01AI が読めるコードコンテキストの生成
- 02A+ から F までの技術的負債評価
- 03テストスイートの品質を検証する変異テスト
- 04リポジトリの健全性スコアリング
- 05stdio と HTTP の MCP トランスポート
- 06エージェント向けのコミット前検証コマンド
活用シーン
- 01コーディングエージェント向けにプロジェクトコンテキストを生成し複雑度を分析
- 02コミット前に CI と同じチェックを実行
- 03複数のエージェントクライアントで 1 つの HTTP MCP サーバーを共有
MCP 対応
本プロジェクトは MCP サーバーとして、stdio または HTTP 経由で 20 個のツールを Claude Code、Claude Desktop、Cline などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
PMAT
あらゆるコードベースに対応した、設定不要のAIコンテキスト生成
目次
PMAT とは?
PMAT(Pragmatic Multi-language Agent Toolkit)は、コード品質の分析とAIに対応したコンテキストの生成に必要なすべてを提供します。
- コンテキスト生成 - Claude、GPT、その他のLLM向けの詳細な分析
- 技術的負債の評価 - 6つの独立した指標によるA+からFまでのスコアリング
- ミューテーションテスト - テストスイートの品質検証(85%超のキル率)
- リポジトリのスコアリング - 定量的な健全性評価(0~289のスケール、11カテゴリ)
- Git履歴RAG - RRF統合によるコミット履歴全体のセマンティック検索
- セマンティック検索 - 自然言語によるコード検索
- コンプライアンスガバナンス - コード品質、ベストプラクティス、再現性に関する157項目のチェック
- 契約による設計 - チェックポイント検証とリカバリープロトコルを備えた、トヨタウェイの契約プロファイル
- 自律的カイゼン - 自動修正とコミットに対応した、トヨタウェイの継続的改善
- MCP 統合 - Claude Code、Cline、AI エージェント向けの20個のツールを、stdioとHTTPで提供(同一の機能)。複数のエージェントが並行動作する(ultracode)ワークフローでエンドツーエンドの検証済みです。詳しくはMCP サーバーを参照してください
- 品質ゲート - コミット前フック、CI/CD統合、
.pmat-gates.toml設定 - 20以上の言語 - Rust、TypeScript、Python、Go、Java、C/C++、Lua、Leanなど
PAIML Stackの一部であり、トヨタウェイの品質原則(自働化、現地現物、カイゼン)に従っています。
注釈付きコード検索
pmat query "cache invalidation" --churn --duplicates --entropy --faults
各結果には、TDG評価、Big-O計算量、Gitの変更頻度、コードクローン、パターンの多様性、障害の注釈、呼び出しグラフ、構文ハイライト付きソースが含まれます。
インストール
# Install from crates.io
cargo install pmat
macOSユーザーへの注意:
rustup経由でのインストールに問題が発生した場合は、cargo install pmatを実行する前に、Homebrewを使ってRustをインストールまたは更新することをおすすめします:brew install rust。
# Or from source (latest)
git clone https://github.com/paiml/paiml-mcp-agent-toolkit
cd paiml-mcp-agent-toolkit && cargo install --path .
MCP サーバー
PMAT は CLI が主ではなく、MCP サーバーが主で、CLI はその次です。1 つのバイナリで 3 つのインターフェースを提供し、すべて同じツールレジストリを共有します。機能セットではなく、インターフェースを選びます。
| インターフェース | 起動方法 | 使用する場面 |
|---|---|---|
| CLI | pmat analyze complexity --path . | 人間またはシェルスクリプトが出力を読み取る場合。 |
| stdio 経由の MCP | pmat --mode mcp | MCP クライアントが pmat 自体をサブプロセスとして起動する場合(Claude Code、Claude Desktop、Cline)。クライアント 1 つ、プロセス 1 つ、ポートなし、トークンなし。 |
| HTTP 経由の MCP | pmat serve --transport http --port 8765 | 複数のクライアント、または別のマシンから接続する、長時間稼働するサーバーが 1 つ必要な場合。ストリーム可能な HTTP、ベアラー認証。 |
3.32.0 の新機能:
mcp-httpが デフォルトの機能セットに移動しました。cargo install pmatで HTTP トランスポートが使えるようになり、従来の--features mcp-httpの指定は不要になりました。トランスポートをコンパイルしてもソケットは開きません。ソケットをバインドするのはpmat serveのみです。
クイックスタート — stdio
Claude Code は pmat をサブプロセスとして起動します。稼働し続けるものも、認証するものもありません。
cargo install pmat
claude mcp add --scope user pmat -- pmat --mode mcp
claude mcp list
# pmat: pmat --mode mcp - ✔ Connected
Claude Desktop では、同じコマンドを JSON 形式で独自の claude_desktop_config.json に指定します。
{
"mcpServers": {
"pmat": { "command": "pmat", "args": ["--mode", "mcp"] }
}
}
フラグを渡せないクライアントの場合は、MCP_VERSION=1 pmat で同じサーバーを起動します。
クライアントを使わずに stdio インターフェースをスモークテストするには、次のようにします。
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
| pmat --mode mcp 2>/dev/null | jq -r '.result.tools | length'
# 19
クイックスタート — HTTP
サーバー 1 つで、多数のクライアントに対応します。以下のブロック全体をコピーして貼り付けてください。
cargo install pmat
export PMAT_MCP_HTTP_TOKEN='pmat-mcp-demo-token-0123456789' # >= 16 chars; use your own
pmat serve --transport http --port 8765 &
# pmat MCP (streamable HTTP) listening on http://127.0.0.1:8765/
# auth: Bearer, from PMAT_MCP_HTTP_TOKEN; unauthenticated requests get 401
# tools: 20
sleep 2
claude mcp add --scope user --transport http pmat http://127.0.0.1:8765/ \
--header "Authorization: Bearer $PMAT_MCP_HTTP_TOKEN"
claude mcp list
# pmat: http://127.0.0.1:8765/ (HTTP) - ✔ Connected
--host を指定しない場合、サーバーは 127.0.0.1 にバインドします。別のマシンからアクセスするには、外部からルーティング可能なアドレスにバインドし、PMAT_MCP_HTTP_TOKEN を実際のシークレットとして扱ってください。ツールインターフェースは、サーバープロセスが読み取れる任意のパスを読み取り、解析できます。
1 時間ずつ費やすことになる 4 つの落とし穴
1. MCP はルートパス / で提供され、/mcp ではありません。 パスプレフィックスはありません。
for p in / /mcp /health; do
printf '%-7s %s\n' "$p" "$(curl -s -o /dev/null -w '%{http_code}' -X POST "http://127.0.0.1:8765$p" \
-H "Authorization: Bearer $PMAT_MCP_HTTP_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}')"
done
# / 200
# /mcp 404
# /health 404
2. PMAT_MCP_HTTP_TOKEN は必須で、16 文字以上でなければなりません。 それより短い場合、サーバーは未認証での提供に切り替えるのではなく、起動を拒否します。基盤となる pmcp トランスポートは、認証プロバイダーが設定されていない場合、すべてのリクエストに応答するため、「トークンなし」は「サーバーなし」を意味する必要があります。トークンがないリクエストや、誤ったトークンを使ったリクエストには 401 が返されます。
PMAT_MCP_HTTP_TOKEN=too-short-123 pmat serve --transport http --port 8765
# Error: PMAT_MCP_HTTP_TOKEN must be at least 16 characters; got 13
3. 独自に作成したクライアントは Accept: application/json, text/event-stream を送信する必要があります。 ストリーム可能なトランスポートは、このヘッダーがないリクエストを拒否します。また、curl -f はメッセージを表示せず空文字列を返すため、デバッグ中は通常の curl -s で確認してください。
curl -s -w '\n-> HTTP %{http_code}\n' -X POST http://127.0.0.1:8765/ \
-H "Authorization: Bearer $PMAT_MCP_HTTP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# {"jsonrpc":"2.0","error":{"code":-32700,"message":"Accept header must include application/json or text/event-stream"},"id":null}
# -> HTTP 406
4. /health エンドポイントはありません。 GET /health は 404 を返すため、curl -f .../health によるレディネス確認ループは成功せず、その理由もわかりません。代わりに、実際の tools/list 呼び出しで確認してください。
curl -s -X POST http://127.0.0.1:8765/ \
-H "Authorization: Bearer $PMAT_MCP_HTTP_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
| jq -r '.result.tools | length'
# 19
MCP セッション ID は不要です。initialize は Mcp-Session-Id ヘッダーを返さず、先に initialize を呼び出したかどうかにかかわらず、tools/call を直接実行できます。
HTTP は縮小されたインターフェースではありません
どちらのトランスポートも同じレジストリから構築されているため、HTTP でも一部ではなく 20 個すべてのツールを提供します。tools/list のペイロードはバイト単位で同一です。
printf '%s\n%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"p","version":"1"}}}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
| pmat --mode mcp 2>/dev/null \
| jq -Sc 'select(.id==2)|.result.tools|sort_by(.name)' > /tmp/pmat-stdio-tools.json
curl -s -X POST http://127.0.0.1:8765/ \
-H "Authorization: Bearer $PMAT_MCP_HTTP_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' \
| jq -Sc '.result.tools|sort_by(.name)' > /tmp/pmat-http-tools.json
cmp /tmp/pmat-stdio-tools.json /tmp/pmat-http-tools.json && echo "identical"
# identical
19 個のツールは次のとおりです:analyze_complexity、analyze_satd、analyze_dead_code、analyze_dag、analyze_deep_context、analyze_big_o、analyze_reachability、analyze_hardcoded_paths、analyze_vacuous_tests、quality_gate、quality_proxy、generate_context、scaffold_project、git_operation、pmat_query_code、pmat_get_function、pmat_find_similar、pmat_index_stats、pdmt_deterministic_todos。名前と説明は、サーバー自身の登録情報から再生成される、機械検証済みのマニフェスト mcp.json としてリポジトリのルートにコミットされています。そのため、2 つのトランスポートが実際に提供する内容と食い違うことはありません。
実装されていないトランスポート
--transport には web-socket、http-sse、both、all も指定できます。これらはどれも実装されておらず、各値を指定すると、その旨を示すメッセージとともに 2 で終了します。提供に対応しているのは http のみです。
pmat serve --transport web-socket --port 8765
# error: pmat serve --transport websocket is not yet implemented
--transport に stdio を指定することはできません。指定すると clap エラーになります。stdio を使うには pmat --mode mcp を実行します。
使用方法
# Generate AI-ready context
pmat context --output context.md --format llm-optimized
# Analyze code complexity
pmat analyze complexity
# Grade technical debt (A+ through F)
pmat analyze tdg
# Score repository health
pmat repo-score .
# Pre-flight verify before committing (CI-faithful: fmt + complexity + satd + clippy + tests)
pmat verify --format json
# Run mutation testing
pmat mutate --target src/
# Start the MCP server over stdio, for Claude Code, Cline, etc. (see "MCP Server" above)
pmat --mode mcp
自律型エージェントの事前チェック(pmat verify)
pmat verify は、CI で適用されるものとまったく同じゲート一式(format、complexity、satd、clippy、tests)をフェイルファストで実行し、機械可読形式で出力するため、エージェントはコミット前に 「ここで成功すれば、CI でも成功する」 と確認できます。標準的なループは、edit → pmat verify --format json → fix on red → commit on green です。docs/agent-instructions/autonomous-verify-loop.md を参照してください。
Ultracode による検証
PMAT のリリースは、Claude Code のマルチエージェント動的ワークフローオーケストレーションである ultracode を使って、テストハーネスと対象ワークロードの両方としてドッグフーディングされています。
- CLI 全体のスイープ:リリースごとに、並列エージェント群が 111 個のコマンドを実行
- MCP のインターフェース:stdio JSON-RPC 経由ですべての 20 個のツールを検証。スキーマから導出した引数を使ったツールごとの呼び出し、1 つの作業ツリーに対する 8 方向の同時サーバーセッション(ロックエラーゼロ、スクラッチファイルの残留ゼロ)、バイトレベルのフレーミングチェック(stdout は JSON-RPC のみ)を実施。さらに、HTTP の
tools/listペイロードが stdio のものとバイト単位で同一であることを確認するトランスポート間の同等性チェックも実施 - 決定性:TDG ベースラインとペナルティの帰属情報は実行間でバイト単位で同一にシリアライズされるため、独立したエージェントが順序のノイズによって食い違うことなく収束
- 並行安全なキャッシュ:PID ごとに一意なスクラッチファイルを使い、原子的な名前変更による配置と古い孤立ファイルの一掃を実施。メトリクスの記録にはアドバイザリロックを使用
各スイープで得られた調査結果は、修正に反映する前に懐疑的なエージェントによって敵対的に再検証されます。pmat book のリリース事例研究を参照してください。
機能
コンテキスト生成
AI アシスタント向けに包括的なコンテキストを生成します。
pmat context # Basic analysis
pmat context --format llm-optimized # AI-optimized output
pmat context --include-large-files # Include files >500KB normally skipped
技術的負債の評価(TDG)
正確な品質評価のための、相互に直交する 6 つのメトリクスです。
pmat analyze tdg # Project-wide grade
pmat analyze tdg --include-components # Per-component breakdown
pmat tdg baseline create # Create quality baseline
pmat tdg check-regression # Detect quality degradation
評価スケール:
- A+/A:非常に高品質で、負債は最小限です
- B+/B:品質が良好で、負債は管理可能です
- C+/C:改善が必要です
- D/F:技術的負債が深刻です
ミューテーションテスト
テストスイートの有効性を検証します。
pmat mutate --target src/lib.rs # Single file
pmat mutate --target src/ --threshold 85 # Quality gate
pmat mutate --failures-only # CI optimization
対応言語: Rust、Python、TypeScript、JavaScript、Go、C/C++、C#、Lua、Lean、Java、Kotlin、Ruby、Swift、PHP、Bash、SQL、Scala、YAML、Markdown、および MLOps モデル形式(GGUF、SafeTensors、APR)
リポジトリの健全性スコアリング
エビデンスに基づく品質メトリクス(0〜289 のスケール、11 カテゴリ):
pmat rust-project-score # Fast mode (~3 min)
pmat rust-project-score --full # Comprehensive (~10-15 min)
pmat repo-score . --deep # Full git history
ワークフロー用プロンプト
EXTREME TDD を徹底する、事前設定済みの AI プロンプトです。
pmat prompt --list # Available prompts
pmat prompt code-coverage # 85%+ coverage enforcement
pmat prompt debug # Five Whys analysis
pmat prompt quality-enforcement # All quality gates
Git 履歴の RAG
TF-IDF セマンティック埋め込みを使って、意図から Git 履歴を検索します。
# Fuse git history into code search
pmat query "fix memory leak" -G
# Search with churn, clones, entropy, faults
pmat query "error handling" --churn --duplicates --entropy --faults
# Run the example
cargo run --example git_history_demo
Git フック
品質を自動的に徹底します。
pmat hooks install # Install pre-commit hooks
pmat hooks install --tdg-enforcement # With TDG quality gates
pmat hooks status # Check hook status
コンプライアンスガバナンス(pmat comply)
コード品質、ベストプラクティス、ガバナンスに関する 162 個の自動チェックです。
pmat comply check # Run all compliance checks
pmat comply check --strict # Exit non-zero on failure
pmat comply check --format json # Machine-readable output
pmat comply migrate # Update to latest version
主なチェック項目:
- CB-200:TDG グレードゲート — 最低グレード(デフォルトは
A)を下回る定義がある場合にブロックします。pmat queryが作成したインデックスを読み取ります。インデックスの作成や書き換えは行わず、.pmat/context.dbが存在しない場合は Skip/「Not measured」と報告します - CB-304:デッドコード率の適用
- CB-400:bashrs による Shell/Makefile の品質チェック
- CB-500:Rust のベストプラクティス(30 以上のパターン)
- CB-600:Lua のベストプラクティス
- CB-900:Markdown リンクの検証
- CB-1000:MLOps モデルの品質
Provable-Contracts の適用(CB-1200..1210):
- CB-1208:バインディングの存在確認 —
binding.yamlに記載された関数がsrc/に存在することを検証し、ゴーストバインディングを検出します(L0〜L3 の適用レベル) - CB-1209:コントラクトトレイトの適用 —
tests/contract_traits.rsで、コンパイラー検証済みのトレイト実装(13 個のカーネルトレイト)を確認します - CB-1210:事前条件の品質 — 大量生成された定型コードや、欠落している事後条件にフラグを立てます
.pmat.yaml で設定します。
comply:
thresholds:
min_tdg_grade: "A" # CB-200 floor; `.pmat-gates.toml` [tdg] min_grade overrides this
pv_lint_is_error: true # CB-1201: FAIL on pv lint failure
min_binding_existence: 95 # CB-1208: 95% binding verification
require_all_traits: true # CB-1209: 13/13 traits required
min_kani_coverage: 20 # CB-1206: minimum Kani proof %
インフラストラクチャスコア(pmat infra-score)
CI/CD 品質のスコアリング(0~100 点、実証可能な契約に対するボーナス 10 点):
pmat infra-score # Text output
pmat infra-score --format json # Machine-readable
pmat infra-score -v --failures-only # Show only failing checks
カテゴリ: ワークフローアーキテクチャ(25 点)、ビルドの信頼性(25 点)、 品質パイプライン(20 点)、デプロイとリリース(15 点)、サプライチェーン(15 点)、 実証可能な契約のボーナス(10 点)。
ドキュメント検索(pmat query --docs)
コードと合わせて、ドキュメントファイル(Markdown、テキスト、YAML)を検索します:
pmat query "authentication" --docs # Code + docs results
pmat query "deployment" --docs-only # Only documentation
pmat query "API endpoints" --no-docs # Exclude docs (default)
自律的なカイゼン(pmat kaizen)
トヨタウェイに基づく継続的な改善 — スキャン、自動修正、コミット:
pmat kaizen --dry-run # Scan only (no changes)
pmat kaizen # Apply safe auto-fixes
pmat kaizen --push # Fix, commit, and push (use --no-commit to skip)
pmat kaizen --format json -o report.json # CI/CD integration
# Cross-stack mode: scan all batuta stack crates in one invocation
pmat kaizen --cross-stack --dry-run # Scan all crates
pmat kaizen --cross-stack # Fix and commit per-crate
pmat kaizen --cross-stack -f json # Grouped JSON report
関数の抽出(pmat extract)
メタデータ付きで関数の境界を抽出します:
pmat extract --list src/lib.rs # Function/struct/enum/trait boundaries, as JSON
使用例
AI 向けコンテキストの生成
# For Claude Code
pmat context --output context.md --format llm-optimized
# With semantic search
pmat embed sync --path ./src
pmat semantic search "error handling patterns"
CI/CD 統合
# Add to your CI pipeline
steps:
- uses: actions/checkout@v4
- run: cargo install pmat
- run: pmat analyze tdg --fail-on-violation --min-grade B
- run: pmat mutate --target src/ --threshold 80
品質ベースラインのワークフロー
# 1. Create baseline
pmat tdg baseline create --output .pmat/baseline.json
# 2. Check for regressions
pmat tdg check-regression \
--baseline .pmat/baseline.json \
--max-score-drop 5.0 \
--fail-on-regression
アーキテクチャ
pmat/
├── src/
│ ├── cli/ Command handlers and dispatchers
│ ├── services/ Analysis engines (TDG, SATD, complexity, agent context)
│ ├── mcp_server/ MCP protocol server
│ ├── mcp_pmcp/ PMCP protocol integration
│ └── models/ Configuration and data models
├── examples/ 113 runnable examples
└── docs/
└── specifications/ Technical specs
品質
| 指標 | 値 |
|---|---|
| テスト | 21,200 件以上が合格 |
| カバレッジ | 99.66% |
| ミューテーションスコア | >80% |
| 言語 | 20 言語に加え、MLOps のモデル形式に対応 |
| MCP ツール | 20 種類を利用可能 |
反証可能な品質コミットメント
ポパーの境界設定基準に基づき、すべての主張は測定および検証が可能です:
| コミットメント | しきい値 | 検証方法 |
|---|---|---|
| コンテキスト生成 | 10K LOC のプロジェクトで 5 秒未満 | テストコーパスで time pmat context を実行 |
| メモリ使用量 | 100K LOC の解析で 500 MB 未満 | CI で heaptrack を使用して測定 |
| テストカバレッジ | 行カバレッジ 85% 以上 | cargo llvm-cov(CI で適用) |
| ミューテーションスコア | ミュータントの 80% 以上をキル | pmat mutate --threshold 80 |
| ビルド時間 | 増分ビルドで 3 分未満 | cargo build --timings |
| CI パイプライン | 合計 15 分未満 | GitHub Actions のワークフロー時間 |
| バイナリサイズ | リリースバイナリが 50 MB 未満 | ls -lh target/release/pmat |
| 言語パーサー | 20 言語すべてがパニックせずに解析可能 | CI でファズテスト |
検証方法:
# Run self-assessment with Popper Falsifiability Score
pmat popper-score --verbose
# Individual commitment verification
cargo llvm-cov --html # Coverage ≥85%
pmat mutate --threshold 80 # Mutation ≥80%
cargo build --timings # Build time <3min
違反はリグレッションです: コミットメントに違反すると、CI のマージがブロックされます。
ベンチマーク結果(統計的な厳密性)
すべてのベンチマークでは、適切な統計手法を用いた Criterion.rs を使用しています:
| 操作 | 平均 | 95% 信頼区間 | 標準偏差 | サンプルサイズ |
|---|---|---|---|---|
| コンテキスト(1K LOC) | 127ms | [124, 130] | ±12.3ms | n=1000 回実行 |
| コンテキスト(10K LOC) | 1.84s | [1.79, 1.90] | ±156ms | n=500 回実行 |
| TDG スコアリング | 156ms | [148, 164] | ±18.2ms | n=500 回実行 |
| 複雑度解析 | 23ms | [22, 24] | ±3.1ms | n=1000 回実行 |
比較ベースライン(代替手段との比較):
| 指標 | PMAT | ctags | tree-sitter | 効果量 |
|---|---|---|---|---|
| 10K LOC の解析 | 1.84s | 0.3s | 0.8s | d=0.72(中程度) |
| メモリ(10K LOC) | 287MB | 45MB | 120MB | - |
| 意味解析の深さ | 完全 | 構文のみ | AST のみ | - |
統計分析の全容については、docs/BENCHMARKS.mdを参照してください。
ML/AI の再現性
PMAT は、セマンティック検索と埋め込みに ML を使用しています。すべての ML 処理は再現可能です:
乱数シードの管理:
- 埋め込みの生成には、決定論的な出力を得るために固定シード(SEED=42)を使用します
- クラスタリング処理には固定シード(SEED=12345)を使用します
- シードはdocs/ml/REPRODUCIBILITY.mdに記載されています
モデルアーティファクト:
- HuggingFace の事前学習済みモデル(all-MiniLM-L6-v2)
- モデルのバージョンは Cargo.toml で固定
- ダウンロード時にハッシュを検証
データセットのソース
PMAT はモデルをトレーニングしませんが、評価には以下のデータソースを使用します:
| データセット | ソース | 目的 | サイズ |
|---|---|---|---|
| CodeSearchNet | GitHub/Microsoft | セマンティック検索のベンチマーク | 200 万関数 |
| PMAT-bench | 内部 | リグレッションテスト | 500 件のクエリ |
データの来歴とライセンスについては、docs/ml/REPRODUCIBILITY.mdに記載されています。
Sovereign Stack
PMAT は、PAIML Sovereign Stack を基盤として構築されています。これは、純粋な Rust で実装され、SIMD で高速化されたライブラリ群です。
| ライブラリ | 用途 | バージョン |
|---|---|---|
| aprender | ML ライブラリ(テキスト類似度、クラスタリング、トピックモデリング) | 0.64 |
| aprender-graph | CSR グラフデータベース(PageRank、Louvain) | 0.64 |
| aprender-db | 列指向分析データベース(ライブラリ trueno_db、オプション) | 0.64 |
| aprender-rag | VectorStore を使った RAG パイプライン | 0.64 |
| aprender-viz | ターミナルでのグラフ可視化 | 0.64 |
| aprender-compute | 行列演算向け SIMD/GPU 計算(ライブラリ trueno) | 0.64 |
| aprender-zram-core | SIMD による LZ4/ZSTD 圧縮(オプション) | 0.64 |
| aprender-contracts | 証明可能なコントラクト(aprender-contracts-macros と併用) | 0.64 |
| pmcp | MCP プロトコル SDK(ストリーミング可能な HTTP トランスポート) | 2.17 |
| pmat | コード解析ツールキット | 3.40.0 |
主なメリット:
- 純粋な Rust(C 依存関係なし、FFI なし)
- SIMD を優先(AVX2、AVX-512、NEON を自動検出)
- aprender アダプターにより、グラフアルゴリズムを 2~4 倍高速化
ドキュメント
- PMAT Book - 完全ガイド
- API Reference - Rust API ドキュメント
- MCP Tools - MCP 統合ガイド
- Specifications - 技術仕様
- 🤖 Coursera Hugging Face AI Development Specialization - 純粋な Rust で Hugging Face を使い、本番環境向け AI システムを構築します
コントリビューション
開発環境のセットアップ、テスト、プルリクエストのガイドラインについては、CONTRIBUTING.md をご覧ください。
関連項目
- Cookbook — 実行可能な 113 個のサンプル
ライセンス
MIT License - 詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。