Sentinel DV について
Sentinel DVは、設計検証エンジニア向けの読み取り専用MCPサーバーです。UVM、cocotb、カバレッジ、回帰、波形などのエクスポート済み成果物を索引化し、シミュレーション実行や設計ファイルの変更なしに、障害分析とカバレッジ改善を支援します。
主な機能
- 01検証成果物をDuckDBに索引化
- 02回帰、テスト、障害の分析
- 03カバレッジの傾向と不足を追跡
- 04範囲を限定した波形サマリー
- 05読み取り専用で出力範囲を制限
- 06検証ワークフロー用エージェントスキル
活用シーン
- 01回帰テストの失敗を調査
- 02実行結果を比較して状態を確認
- 03カバレッジの不足と傾向を特定
- 04波形サマリーと信号を確認
MCP 対応
MCPサーバーは、実行、テスト、障害、アサーション、カバレッジ、回帰、波形を扱う、バージョン付き出力スキーマの読み取り専用ツールを28個提供します。索引データと設定済み成果物ルートを読み取り、submitとreplayはエンジニア確認用のコマンドを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Sentinel DV
Sentinel DV v2.3.1 は、デザイン検証のエビデンスを扱う読み取り専用の Model Context Protocol サーバーです。エクスポートされた SystemVerilog、UVM、cocotb、アサーション、カバレッジ、回帰テスト、波形の成果物を DuckDB にインデックス化し、AI エージェントにスキーマ駆動の上限付きツールを 28 個提供します。
ドキュメント | クイックスタート | 動画による解説 | すべてのツール | エージェントスキル
提供する機能
- 実行とテストのインテリジェンス: 検出、要約、履歴、トポロジー、差分、再実行コマンドの生成、ライブステータスのスナップショット。
- 失敗の分析: 正規化されたカテゴリ、安定したシグネチャ、上限付きのエビデンス、アサーション失敗、失敗のクラスタリング。
- カバレッジの収束: 機能、コード、トグル、FSM のメトリクス、傾向、ギャップ、空虚性、SVA ステータス、プロトコルを考慮した制約候補。
- 波形のコンテキスト: 事前計算された
*.wave.jsonと上限付きの VCD 要約。ネイティブな FSDB/WLF ストリーミングは意図的に対象外です。 - エージェントのワークフロー: Codex、Claude Code、GitHub Copilot 向けの回帰テストのトリアージ、単一テストの失敗デバッグ、カバレッジ収束のスキル。
Sentinel DV はシミュレーションを実行したり、RTL やテストベンチのファイルを変更したり、制限のない生の成果物をストリーミングしたりしません。runs.submit と tests.replay は、エンジニアが確認するためのドライランコマンドを返します。
クイックスタート
Python 3.10 以降が必要です。この例では、リポジトリに含まれるデモコーパスにインデックスを作成します。
永続的な環境では、sentinel-dv>=2.3.1 をインストールしてください。以下のコマンドでは uvx を使い、インストールを永続化せずに同じリリースを実行します。
git clone https://github.com/kiranreddi/sentinel-dv.git
cd sentinel-dv
cp demo/config.example.yaml demo/config.yaml
uvx --from [email protected] \
sentinel-dv-index --config "$PWD/demo/config.yaml" --index-all
エージェントを 1 つ接続します。
Codex
codex mcp add sentinel-dv \
--env SENTINEL_DV_CONFIG="$PWD/demo/config.yaml" \
-- uvx --from [email protected] sentinel-dv-server
Claude Code
claude mcp add \
--env SENTINEL_DV_CONFIG="$PWD/demo/config.yaml" \
--transport stdio --scope local sentinel-dv \
-- uvx --from [email protected] sentinel-dv-server
GitHub Copilot CLI
copilot mcp add sentinel-dv \
--env SENTINEL_DV_CONFIG="$PWD/demo/config.yaml" \
-- uvx --from [email protected] sentinel-dv-server
絶対パスの SENTINEL_DV_CONFIG を使用してください。クライアントの MCP ステータス画面で接続を確認し、runs.list を呼び出してください。
設定ファイルの例、プロジェクトスコープ、スキルの検出、トラブルシューティングについては、エージェントのセットアップを参照してください。
本番環境の設定
config.example.yaml をコピーし、許可する成果物のルートを定義します。
artifact_roots:
- /absolute/path/to/regression/artifacts
index:
type: duckdb
path: ./sentinel_dv.db
adapters:
uvm: true
cocotb: true
assertions: true
coverage: true
waveform_summary: true
security:
max_response_bytes: 2097152
max_page_size: 200
max_evidence_refs: 10
redaction:
enabled: true
redact_emails: true
redact_paths: true
サーバーの起動前にインデックスを構築します。
sentinel-dv-index --config /absolute/path/to/config.yaml --index-all
sentinel-dv-server --config /absolute/path/to/config.yaml
YAML 内の相対パスは、設定ファイルがあるディレクトリを基準に解決されます。本番環境の起動時に、デモデータへ暗黙にフォールバックすることはありません。
MCP ツール
28 個のツールは、エンジニアリング上の目的ごとに分類されています。
| 分野 | ツール |
|---|---|
| 実行 | runs.list, runs.get, runs.summary, runs.diff, runs.cross_sim, runs.submit |
| テスト | tests.list, tests.get, tests.history, tests.topology, tests.cluster, tests.replay |
| 失敗とアサーション | failures.list, assertions.list, assertions.get, assertions.failures, assertions.sva_status, assertions.vacuity |
| カバレッジ | coverage.list, coverage.summary, coverage.gaps, coverage.trend, coverage.advisor |
| 回帰テストとシミュレーション | regressions.summary, regression.health, sim.status |
| 波形 | wave.signals, wave.summary |
登録されているすべてのツールには、読み取り専用の MCP アノテーションとバージョン管理された出力スキーマが設定されています。MCP ツールリファレンスでは、入力と出力の詳細を説明しています。
エージェントスキル
正規のスキルは skills/ にあります。
プロジェクトの検出を支援するため、決定論的なミラーを用意しています。
| ホスト | パス |
|---|---|
| Codex | .agents/skills/ |
| Claude Code | .claude/skills/ |
| GitHub Copilot | .github/skills/ |
リポジトリには Codex と Claude のプラグインマニフェストも含まれています。.mcp.json は同梱の stdio サーバーコマンドを定義します。SENTINEL_DV_CONFIG またはサーバーの作業ディレクトリにある config.yaml を指定してください。
正規のスキルを編集した後:
.venv/bin/python scripts/sync_agent_skills.py
.venv/bin/python scripts/sync_agent_skills.py --check
サポート対象のアーティファクトソース
- UVM ログとトポロジーのヒント
- cocotb および汎用 JUnit XML
- アサーション定義と失敗 JSON
- SVA 実行ステータス JSON
- サポート対象の JSON、XML、テキスト、HTML 形式のカバレッジサマリー
*.wave.jsonおよび VCD- ライブシミュレーションステータス JSON
- エクスポートされた VCS、Xcelium、Questa、Verilator の結果
アダプターの出力はバージョン管理されたスキーマに正規化されるため、クライアント側でベンダー固有の解析ロジックを用意する必要はありません。
セキュリティモデル
- ツールは読み取り専用で、インデックスと設定済みのアーティファクトルートを対象に動作します。
- パス解決は許可されたルート内に制限されます。
- エビデンスの件数、抜粋、ページ数、波形シグナル、ビン、およびレスポンス全体のサイズには上限があります。
- 設定可能なマスキングにより、一般的なシークレット、メールアドレス、IP アドレス、ローカルパスを保護します。
- ツールの出力は決定論的です。MCP サーバーが因果関係に関する結論を生成することはありません。
本番環境のアーティファクトを使用する前に、セキュリティおよび本番環境へのデプロイをお読みください。
検証
開発環境を作成します。
python3 -m venv .venv
.venv/bin/pip install -e ".[dev,docs]"
エンドポイントとワークフローのチェックを実行します。
.venv/bin/python scripts/verify_all_mcp_tools.py
.venv/bin/python scripts/verify_skill_workflows.py
品質チェック一式を実行します。
.venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/black --check .
.venv/bin/mypy sentinel_dv
.venv/bin/mkdocs build --strict
全ツール検証ツールは、登録されているすべての MCP エンドポイントを呼び出します。スキル検証ツールは、チェックイン済みのデモアーティファクト 52 個をインデックス化し、公開されている回帰トリアージ、失敗デバッグ、カバレッジクロージャーの手順を実行します。
プロジェクト構成
sentinel_dv/
adapters/ artifact parsers
indexing/ DuckDB indexing and queries
normalization/ signatures, taxonomy, redaction, coverage guidance
schemas/ versioned response contracts
tools/core.py tool implementations
server.py FastMCP registration and stdio entry point
skills/ canonical agent skills
demo/ license-free exported verification fixtures
docs/ MkDocs documentation
scripts/ verification, gallery, release, and skill-sync tooling
tests/ unit and integration coverage
コントリビューション
CONTRIBUTING.mdを参照してください。Sentinel DV はApache-2.0ライセンスの下で公開されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。