Installation¶
Current release: v2.3.0 (changelog)
This guide shows how to configure and run Sentinel DV locally, then connect it to an MCP client (e.g. Claude Desktop).
1. Install¶
From MCP Registry (recommended)¶
Use server name io.github.kiranreddi/sentinel-dv in an MCP registry–aware client, or run with uvx:
From PyPI¶
Note: Do not install PyPI 1.0.0 (broken wheel). Use
sentinel-dv>=2.3.0for VCS/Questa/Cadence fixtures, assertion/coverage intelligence, VCD/JSON waveforms, and all 28 MCP tools. Verified flow: install →sentinel-dv-index --index-all→sentinel-dv-server→ MCP tools.
For development:
2. Create config.yaml (required)¶
Sentinel DV requires a config file before indexing or serving MCP tools. There is no automatic demo/ fallback.
Copy the provided template and update:
You may also use config.yml in the working directory, or set SENTINEL_DV_CONFIG / pass --config with any path you choose.
Edit config.yaml to set:
artifact_roots: directories that contain your verification artifacts (UVM*.log, cocotb JUnit XML likeresults.xml/junit.xml)index.path: where the DuckDB database should be writtenadapters: enable/disable parsers (booleans underuvm,cocotb,assertions,coverage,waveform_summary)- For waveforms: set
waveform_summary: trueand add*.wave.jsonand/or*.vcdfiles whosetest_namematches indexed tests (see Waveform summaries anddemo/verilator_counter/)
3. Index artifacts (required)¶
This scans the configured artifact_roots and rebuilds the index.
4. Start the MCP server (stdio)¶
Alternative: set the config path once:
5. Connect via Claude Desktop¶
Add Sentinel DV to your Claude Desktop MCP config:
{
"mcpServers": {
"sentinel-dv": {
"command": "python",
"args": [
"-m",
"sentinel_dv.server",
"--config",
"/absolute/path/to/config.yaml"
]
}
}
}
6. Connect via Cline (VS Code)¶
Update .vscode/mcp.json:
{
"mcpServers": {
"sentinel-dv": {
"command": "python",
"args": [
"-m",
"sentinel_dv.server",
"--config",
"${workspaceFolder}/config.yaml"
]
}
}
}
Notes¶
- Sentinel DV exposes MCP tools over stdio (there are currently no documented HTTP endpoints).
- If the server reports
INDEX_NOT_READY, run the indexing step again.