Sentinel DV

io.github.kiranreddi由 GitHub 账号 kiranreddi 发布v2.3.1更新于 Oct 25, 2026

MCP tools for UVM/cocotb logs, coverage, regressions, and waveform triage.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

一个只读 MCP 服务器,将导出的 UVM、cocotb、覆盖率、回归和波形产物索引到 DuckDB,让助手协助验证结果排查。

可以做什么
列出、汇总、对比和跨仿真器比较运行记录,并生成供人工审阅的试运行提交命令。浏览测试的历史、拓扑、聚类和重放命令。查看失败、断言失败、SVA 状态和空泛性。查看功能、代码、翻转和 FSM 覆盖率、缺口、趋势及约束候选。检查回归健康状况和实时仿真状态。从预计算的波形 JSON 和 VCD 文件读取有界的信号列表与摘要。
适用场景
适合已从仿真器导出日志、覆盖率和波形摘要的设计验证工程师,希望助手协助回归排查、单个测试失败调试或覆盖率收敛,而不必手工解析各厂商输出。
运行要求
本地需 Python 3.10 或更高版本,可通过 uvx 或 pip 安装 sentinel-dv 运行。需通过 SENTINEL_DV_CONFIG 环境变量或 --config 参数提供 config.yaml 路径,并配置绝对路径的产物根目录。启动服务器前须先用索引命令构建索引。未声明身份验证。
安装前请注意
服务器为只读,不执行仿真,也不修改 RTL 或测试平台文件;runs.submit 和 tests.replay 仅返回供工程师审阅的试运行命令。它会读取配置根目录下的产物,应只指向预期目录。邮件、路径和常见密钥的脱敏可配置,索引生产产物前应先检查该设置。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sentinel DV,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Sentinel DV

[PyPI] [MCP Registry] [CI] [Documentation] [License]

Sentinel DV v2.3.1 is a read-only Model Context Protocol server for design verification evidence. It indexes exported SystemVerilog, UVM, cocotb, assertion, coverage, regression, and waveform artifacts into DuckDB and exposes 28 bounded, schema-driven tools to AI agents.

Documentation | Quick start | Video walkthrough | All tools | Agent skills

What it provides

  • Run and test intelligence: discovery, summaries, history, topology, diffs, replay-command generation, and live-status snapshots.
  • Failure analysis: normalized categories, stable signatures, bounded evidence, assertion failures, and failure clustering.
  • Coverage closure: functional, code, toggle, and FSM metrics; trends; gaps; vacuity; SVA status; and protocol-aware constraint candidates.
  • Waveform context: precomputed *.wave.json and bounded VCD summaries. Native FSDB/WLF streaming is intentionally out of scope.
  • Agent workflows: regression triage, single-test failure debugging, and coverage closure skills for Codex, Claude Code, and GitHub Copilot.

Sentinel DV does not execute simulations, modify RTL or testbench files, or stream unrestricted raw artifacts. runs.submit and tests.replay return dry-run commands for engineer review.

Quick start

Python 3.10 or newer is required. This example indexes the checked-in demo corpus:

For a persistent environment, install sentinel-dv>=2.3.1. The commands below use uvx to run the same release without a persistent install.

bash
git clone https://github.com/kiranreddi/sentinel-dv.gitcd sentinel-dvcp demo/config.example.yaml demo/config.yaml
uvx --from [email protected] \  sentinel-dv-index --config "$PWD/demo/config.yaml" --index-all

Connect one agent:

Codex

bash
codex mcp add sentinel-dv \  --env SENTINEL_DV_CONFIG="$PWD/demo/config.yaml" \  -- uvx --from [email protected] sentinel-dv-server

Claude Code

bash
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

bash
copilot mcp add sentinel-dv \  --env SENTINEL_DV_CONFIG="$PWD/demo/config.yaml" \  -- uvx --from [email protected] sentinel-dv-server

Use an absolute SENTINEL_DV_CONFIG path. Verify the connection in the client's MCP status view, then call runs.list.

See Agent setup for configuration-file examples, project scope, skill discovery, and troubleshooting.

Production configuration

Copy config.example.yaml and define allowed artifact roots:

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

Build the index before starting the server:

bash
sentinel-dv-index --config /absolute/path/to/config.yaml --index-allsentinel-dv-server --config /absolute/path/to/config.yaml

Relative paths inside the YAML are resolved from the config file's directory. Production startup never silently falls back to demo data.

MCP tools

The 28 tools are grouped by engineering purpose:

AreaTools
Runsruns.list, runs.get, runs.summary, runs.diff, runs.cross_sim, runs.submit
Teststests.list, tests.get, tests.history, tests.topology, tests.cluster, tests.replay
Failures and assertionsfailures.list, assertions.list, assertions.get, assertions.failures, assertions.sva_status, assertions.vacuity
Coveragecoverage.list, coverage.summary, coverage.gaps, coverage.trend, coverage.advisor
Regression and simulationregressions.summary, regression.health, sim.status
Waveformswave.signals, wave.summary

Every registered tool carries read-only MCP annotations and a versioned output schema. The MCP tools reference documents exact inputs and outputs.

Agent skills

The canonical skills live under skills/:

Deterministic mirrors support project discovery:

HostPath
Codex.agents/skills/
Claude Code.claude/skills/
GitHub Copilot.github/skills/

The repository also contains Codex and Claude plugin manifests. .mcp.json defines the bundled stdio server command; provide SENTINEL_DV_CONFIG or a config.yaml in the server working directory.

After editing a canonical skill:

bash
.venv/bin/python scripts/sync_agent_skills.py.venv/bin/python scripts/sync_agent_skills.py --check

Supported artifact sources

  • UVM logs and topology hints
  • cocotb and generic JUnit XML
  • assertion definition and failure JSON
  • SVA run-status JSON
  • supported JSON, XML, text, and HTML coverage summaries
  • *.wave.json and VCD
  • live simulation status JSON
  • exported VCS, Xcelium, Questa, and Verilator results

Adapter output is normalized into versioned schemas so clients do not need vendor-specific parsing logic.

Security model

  • Tools are read-only and operate on an index plus configured artifact roots.
  • Path resolution is sandboxed to allowed roots.
  • Evidence counts, excerpts, pages, wave signals, bins, and total response size are bounded.
  • Configurable redaction protects common secrets, email addresses, IP addresses, and local paths.
  • Tool output is deterministic; the MCP server does not generate causal conclusions.

Read Security and Production deployment before using production artifacts.

Verification

Create a development environment:

bash
python3 -m venv .venv.venv/bin/pip install -e ".[dev,docs]"

Run endpoint and workflow checks:

bash
.venv/bin/python scripts/verify_all_mcp_tools.py.venv/bin/python scripts/verify_skill_workflows.py

Run the full quality suite:

bash
.venv/bin/pytest.venv/bin/ruff check ..venv/bin/black --check ..venv/bin/mypy sentinel_dv.venv/bin/mkdocs build --strict

The all-tools verifier invokes every registered MCP endpoint. The skill verifier indexes 52 checked-in demo artifacts and executes the published regression triage, failure debugging, and coverage closure sequences.

Project layout

text
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 skillsdemo/              license-free exported verification fixturesdocs/              MkDocs documentationscripts/           verification, gallery, release, and skill-sync toolingtests/             unit and integration coverage

Contributing

See CONTRIBUTING.md. Sentinel DV is licensed under Apache-2.0.

来源:README.md,提交 0915256

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v2.3.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分