Sentinel DV is an **open-source Model Context Protocol (MCP) server** that provides large language models and AI agents with **safe, structured, read-only access** to verification artifacts—enabling deterministic triage, root-cause analysis, and verification insight without exposing raw logs or granting control of simulators.
- ✓Open-source license (Apache-2.0)
- ✓Actively maintained (<30d)
- ✓Clear description
claude mcp add sentinel-dv -- uvx --from{
"mcpServers": {
"sentinel-dv": {
"command": "uvx",
"args": ["--from"]
}
}
}Resumen de MCP Servers
# 🛡️ Sentinel DV v2.3.0 - Verification Intelligence for AI Agents
<!-- mcp-name: io.github.kiranreddi/sentinel-dv -->
<div align="center">
[](https://www.python.org/downloads/)
[](https://pypi.org/project/sentinel-dv/)
[](https://registry.modelcontextprotocol.io/?search=io.github.kiranreddi/sentinel-dv)
[](LICENSE)
[](https://github.com/kiranreddi/sentinel-dv/actions/workflows/ci.yml)
[](https://github.com/kiranreddi/sentinel-dv/actions/workflows/docs.yml)
[](CONTRIBUTING.md)
[](tests/)
**A security-first MCP server for verification intelligence (SystemVerilog/UVM/cocotb)**
[Features](#-features) • [Architecture](#-architecture) • [Quick Start](#-quick-start) • [Documentation](#-documentation)
</div>
---
## 🌟 What is Sentinel DV?
Sentinel DV is an **open-source Model Context Protocol (MCP) server** that provides large language models and AI agents with **safe, structured, read-only access** to verification artifacts—enabling deterministic triage, root-cause analysis, and verification insight without exposing raw logs or granting control of simulators.
### Verification Ecosystems Supported
- 🔧 **UVM (Universal Verification Methodology)** - Enterprise verification framework
- 🐍 **cocotb** - Python-based verification with coroutines
- 📊 **SystemVerilog** - Assertions, coverage, and native testbenches
- 🌊 **Waveform summaries** - `*.wave.json` and `*.vcd` via built-in parsers (no raw FSDB/WLF streaming)
All through a **unified, schema-driven interface** with built-in security, redaction, and deterministic outputs.
---
## 🏗️ Architecture
Sentinel DV follows a **strict separation of concerns** with security-first principles:
```
sentinel_dv/
├── server.py # MCP server entrypoint
├── config.py # Security limits, feature flags, governance
├── registry.py # Tool registration and versioning
├── schemas/ # Typed contracts for all data
│ ├── common.py # EvidenceRef, RunRef, base types
│ ├── tests.py # TestCase, TestTopology, UvmTopology
│ ├── failures.py # FailureEvent, FailureSignature
│ ├── assertions.py # AssertionInfo, AssertionFailure
│ ├── coverage.py # CoverageSummary, CoverageMetric
│ ├── regressions.py # RegressionSummary, RunDiff
│ └── versioning.py # Schema version management
├── tools/ # MCP tools (discovery + detail)
│ ├── runs.py # runs.list, runs.diff
│ ├── tests.py # tests.list, tests.get, tests.topology
│ ├── failures.py # failures.list
│ ├── assertions.py # assertions.list/get/failures
│ ├── coverage.py # coverage.list/summary
│ ├── regressions.py # regressions.summary
│ └── wave.py # wave.summary, wave.signals
├── indexing/ # Artifact indexing and querying
│ ├── indexer.py # Build normalized index from artifacts
│ ├── store.py # DuckDB storage interface
│ └── query.py # Filter/sort/pagination
├── adapters/ # Parse verification artifacts
│ ├── uvm_log.py # UVM log parsing
│ ├── cocotb.py # cocotb result parsing
│ ├── assertion_reports.py # Assertion report/log parsing
│ ├── coverage_reports.py # Coverage summary parsing
│ ├── protocol_tags.py # Protocol taxonomy hints (AXI/APB/AHB/...)
│ ├── waveform_summary.py # Precomputed *.wave.json
│ └── vcd_summary.py # VCD → bounded summary (Verilator, etc.)
├── normalization/ # Security and determinism
│ ├── signatures.py # Stable failure signature hashing
│ ├── taxonomy.py # Failure categorization
│ └── redaction.py # Automatic secret/PII redaction
└── utils/ # Common utilities
├── hashing.py
├── time.py
└── bounded_text.py
```
**Design Principles:**
- **Read-only by default** - No simulator control, no artifact modification
- **Schema-first** - Every response conforms to typed contracts
- **Deterministic** - Same input → same output (no LLM-generated fields)
- **Evidence-based** - All facts traceable to source artifacts
- **Bounded and safe** - Automatic redaction, size limits, path sandboxing
---
## ✨ Features
### 🔒 Security First
- **Read-only by design** - No simulation triggers or artifact writes
- **Automatic redaction** - Credentials, tokens, emails, IP addresses, paths
- **Path sandboxing** - Only configured artifact roots accessible
- **Bounded outputs** - Max response sizes, max evidence excerpts
- **Provenance tracking** - Every fact includes optional source references
### 📊 Rich Verification Data
- **Test results** - Status, duration, seed, simulator info, DUT config
- **UVM topology** - Env/agent/driver/monitor/scoreboard hierarchy
- **Failure analysis** - Categorized events (assertion/scoreboard/protocol/timeout)
- **Assertion intelligence** - SVA definitions, runtime failures, intent mapping
- **Coverage metrics** - Functional/code/assertion/toggle/FSM coverage
- **Regression analytics** - Pass rates, failure signatures, run diffs
- **Interface bindings** - Protocol mapping (AXI/AHB/APB/PCIe/USB)
### ⚡ Performance & Scale
- **Efficient indexing** - DuckDB for fast filtering and aggregation
- **Smart pagination** - Bounded result sets with stable sorting
- **Normalized storage** - Deduplicated, hashed artifacts
- **Selective projection** - Request only needed fields
### 🔌 Simulator Agnostic
- Works with **any simulator** (Synopsys VCS, Cadence Xcelium, Mentor Questa, Verilator)
- **Adapter pattern** - Ingest tool-specific formats, output unified schemas
- **Pre-computed summaries** - No runtime dependency on EDA tools
### 📋 Schema-Driven Contracts
- **Versioned schemas** - SemVer with compatibility guarantees
- **JSON Schema validation** - Deterministic, testable
- **Stable tool APIs** - Backwards-compatible evolution
- **Self-documenting** - Schemas define the interface
---
## 🚀 Quick Start
> **PyPI:** Use **`sentinel-dv>=2.3.0`** for commercial simulator fixtures (VCS, Questa, Cadence), multi-project demos, **28 MCP tools** (v2.0 submission/SVA/replay + v2.1 DV intelligence), assertion/coverage intelligence, and waveform indexing.
### Install from MCP Registry
Install via [uv](https://docs.astral.sh/uv/) (`uvx`) or your MCP client’s registry UI using server name `io.github.kiranreddi/sentinel-dv`.
**Claude Desktop / MCP client (stdio):**
```json
{
"mcpServers": {
"sentinel-dv": {
"command": "uvx",
"args": [
"--from",
"sentinel-dv@2.3.0",
"sentinel-dv-server",
"--config",
"/absolute/path/to/config.yaml"
]
}
}
}
```
Alternatively set `SENTINEL_DV_CONFIG` to your config path and omit `--config`.
**Before querying:** build the artifact index (required once per config):
```bash
uvx --from sentinel-dv@2.3.0 sentinel-dv-index --config /absolute/path/to/config.yaml --index-all
```
### Installation
```bash
# Clone the repository
git clone https://github.com/kiranreddi/sentinel-dv.git
cd sentinel-dv
# Install with development dependencies
pip install -e ".[dev]"
# Or production install (requires >=2.3.0 for all 28 MCP tools)
pip install "sentinel-dv>=2.3.0"
```
### Configuration
**Required:** copy `config.example.yaml` to `config.yaml` (or set `SENTINEL_DV_CONFIG` / pass `--config`). The server does not start without a config file and does not auto-use `demo/`.
Create a `config.yaml`:
```yaml
# Artifact roots (read-only)
artifact_roots:
- /path/to/verification/regressions
- /path/to/uvm/logs
# Index storage
index:
type: duckdb
path: ./sentinel_dv.db
# Adapters (enable/disable)
adapters:
uvm: true
cocotb: true
assertions: true
coverage: true
waveform_summary: true # *.wave.json and *.vcd under artifact_roots
# Security & limits
security:
max_response_bytes: 2097152 # 2MB
max_page_size: 200
max_evidence_refs: 10
max_excerpt_length: 1024
# Redaction
redaction:
enabled: true
patterns:
- AKIA.* # AWS keys
- ghp_.* # GitHub tokens
- Bearer\s+\S+ # Bearer tokens
redact_emails: true
redact_paths: true
```
### Running the Server
```bash
# Start the MCP server
python -m sentinel_dv.server --config config.yaml
# Index artifacts (one-time or scheduled)
python -m sentinel_dv.indexing.indexer --config config.yaml --index-all
# Run with Claude Desktop
# Add to Claude config:
{
"mcpServers": {
"sentinel-dv": {
"command": "python",
"args": ["-m", "sentinel_dv.server", "--config", "/path/to/config.yaml"]
}
}
}
```
### Example Queries
With Claude or any MCP client:
```
"Why did test axi_burst_test fail in the latest regression?"
→ Uses: tests.list, failures.list, tests.topology
"What assertions failed in the AXI agent?"
→ Uses: assertions.failures, assertions.get
"Compare coverage between runs R123 and R124"
→ Uses: runs.diff, coverage.summary
"Show me the failure signatures from the past week"
→ Uses: regressions.summary
```
---
## 📖 Documentation
### Core Concepts
- [Architecture Overview](docs/architecture/overview.md) - Design principles and structure
- [Schema Reference](docs/architecture/schemas.md) - Complete type definitions
- [Tool Contracts](docs/tools/overview.md) - Request/response specifications
- [Security Model](docs/architecture/security.md) - Redaction, bounding, sandboxing
Lo que la gente pregunta sobre sentinel-dv
¿Qué es kiranreddi/sentinel-dv?
+
kiranreddi/sentinel-dv es mcp servers para el ecosistema de Claude AI. Sentinel DV is an **open-source Model Context Protocol (MCP) server** that provides large language models and AI agents with **safe, structured, read-only access** to verification artifacts—enabling deterministic triage, root-cause analysis, and verification insight without exposing raw logs or granting control of simulators. Tiene 3 estrellas en GitHub y se actualizó por última vez today.
¿Cómo se instala sentinel-dv?
+
Puedes instalar sentinel-dv clonando el repositorio (https://github.com/kiranreddi/sentinel-dv) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar kiranreddi/sentinel-dv?
+
Nuestro agente de seguridad ha analizado kiranreddi/sentinel-dv y le ha asignado un Trust Score de 79/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene kiranreddi/sentinel-dv?
+
kiranreddi/sentinel-dv es mantenido por kiranreddi. La última actividad registrada en GitHub es de today, con 0 issues abiertos.
¿Hay alternativas a sentinel-dv?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega sentinel-dv en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/kiranreddi-sentinel-dv)<a href="https://claudewave.com/repo/kiranreddi-sentinel-dv"><img src="https://claudewave.com/api/badge/kiranreddi-sentinel-dv" alt="Featured on ClaudeWave: kiranreddi/sentinel-dv" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。