Overview

dotTEST includes an MCP (Model Context Protocol) Server extension that enables seamless integration between dotTEST and AI agents or LLM-based coding assistants (such as GitHub Copilot). This MCP Server can be used within any LLM-enabled development environment that supports MCP integration, including Visual Studio, VS Code, and others. With this extension, an AI agent can interact directly with dotTEST, delivering context-aware guidance, analysis, and automation.

This extension allows you to use an AI coding assistant to:

  • Retrieve details about static analysis rules.
  • Review static analysis violations reported in your project.

  • Suggest fixes for violations based on provided code snippets or files.

  • Suggest rules that are appropriate for specific issues.
  • Access information from the product user guide.

The MCP server launcher is located in the <INSTALL_DIR>/integration/mcp directory.

The Parasoft MCP server uses the stdio transport protocol exclusively. Parasoft MCP tools do not access any external systems or services.

The following procedures demonstrate how to integrate an LLM-based agent (using Copilot as an example) with dotTEST in different environments.

Configuring the Visual Studio IDE to Use the MCP Server with Copilot Chat

  1. In Visual Studio, go to the Chat window, and click the plus (+) button in the tool picker.
  2. In the Configure MCP Server window:
    1. Specify the Server ID.
    2. Select the stdio server type.
    3. Specify the MCP server launcher command: <INSTALL_DIR>/integration/mcp/dottestmcp.bat
  3. Click Save.
  4. The MCP Server tools are added and appear in the tool picker. You can enable or disable the tools you want to use.

Configuring the VS Code IDE to Use the MCP Server with Copilot Chat

  1. In VS Code, go to the Command Palette, and choose MCP: Add Server...
  2. Select Command (stdio) and press ENTER to confirm.
  3. Enter the MCP server launcher.

    <INSTALL_DIR>/integration/mcp/dottestmcp.bat

  4. Specify the Server ID.
  5. Choose where to save the configuration:

    • User Settings - available in all workspaces

    • Workspace settings - available in this workspace

    A JSON file will be created containing the MCP configuration.  

  6. The MCP server entry is added to MCP servers JSON configuration file.

Using Instructions in Copilot

In some cases, Copilot does not invoke Parasoft MCP tools. To ensure that Parasoft MCP tools are called, you can add custom instructions.

  1. In the Copilot Chat window, click your profile picture, and click Personal instructions.

  2. Add natural language instructions to the text box, for example:

    When analyzing a report containing violations, use the get_violations_from_report_file tool to review the report and provide insights or suggestions based on the findings.
    Use the get_rule_documentation tool to get information about the violations, their severity, and possible remediation steps.
    With the instructions provided in the example above, Copilot will use the get_violations_from_report_file tool to extract violations from report.xml (rather than attempting to analyze the file on its own) and will use get_rule_documentation to retrieve documentation details.
  3. Click Save.

MCP Server Tools Reference

ToolDescriptionNotes
get_relevant_rules

Returns a list of static analysis rules matching the user query. Each entry contains the rule header and a comma-separated list of corresponding rule identifiers.


get_rule_documentationReturns the documentation for the static analysis rule together with a path to the original documentation file for reference.

An exact rule ID must be provided, for example, BD.PB.ARRAY.

get_violations_from_report_fileExtracts violations from a report XML file and outputs them in JSON format along with key details. Results are refined using optional filters: rule ID, severity and source file name.An absolute path to the report XML file must be provided. The server must have local access to the file.
search_documentation

Searches the documentation to retrieve relevant pages matching the user query. Returns the content of each page and its source URL. To search static analysis rule documentation, use get_rule_documentation or get_relevant_rules tools.



  • No labels