########## 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 ============ .. code-block:: bash pip install pyucis[dev] This installs the ``pyucis-mcp-server`` command and its dependencies. Configuring Claude Desktop ========================== 1. Find your Claude Desktop config file: * **macOS**: ``~/Library/Application Support/Claude/claude_desktop_config.json`` * **Linux**: ``~/.config/Claude/claude_desktop_config.json`` * **Windows**: ``%APPDATA%\Claude\claude_desktop_config.json`` 2. Add the PyUCIS server entry: .. code-block:: json { "mcpServers": { "pyucis": { "command": "pyucis-mcp-server" } } } 3. 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: .. code-block:: text 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: .. code-block:: bash pyucis-mcp-server See the `MCP specification `_ for client integration details beyond Claude Desktop.