MCP Server
The PyUCIS MCP server lets AI assistants (such as Claude) query your coverage databases using natural language. Instead of memorizing command syntax, you can ask questions like:
“What is the overall coverage of my regression?”
“Which covergroups have the lowest coverage?”
“Show me all bins that were never hit.”
“Compare today’s run to yesterday’s baseline and report any regressions.”
“Export coverage as LCOV and tell me what genhtml command to run.”
The server uses the Model Context Protocol (MCP), a standard interface for connecting AI tools to external data sources.
Installation
pip install pyucis[dev]
This installs the pyucis-mcp-server command and its dependencies.
Configuring Claude Desktop
Find your Claude Desktop config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Add the PyUCIS server entry:
{ "mcpServers": { "pyucis": { "command": "pyucis-mcp-server" } } }
Restart Claude Desktop.
The PyUCIS tools are now available in your conversations.
Example Session
Once connected, open a coverage database by telling Claude the file path, then ask questions in plain English:
You: Open /path/to/regression.xml and give me a coverage summary.
Claude: The database has 78.4% overall coverage across 142 covergroups.
Functional coverage is 81.2%; code coverage is 74.6%.
There are 23 covergroups below 50%.
You: Which covergroups have zero coverage?
Claude: The following 8 covergroups have 0% coverage: ...
You: Compare this to /path/to/baseline.xml and report regressions.
Claude: Compared to baseline, 3 items regressed: ...
Available Operations
The MCP server provides tools for:
Opening, listing, and closing databases
Coverage summary, gaps, and metrics
Covergroup, coverpoint, and bin details
Design hierarchy navigation
Test execution history
Database comparison (regression detection)
Hotspot analysis
Code coverage export (LCOV, Cobertura, JaCoCo, Clover)
Assertion and toggle coverage
Starting the Server Manually
The server communicates via stdin/stdout and is normally started by the MCP client automatically. To start it manually for testing:
pyucis-mcp-server
See the MCP specification for client integration details beyond Claude Desktop.