Tools

The DVT MCP Server offers a collection of specialized tools designed to provide AI agents with compiler-backed project information.

The following section lists all available tools, including their parameters and brief descriptions.

dvt_get_symbol_definitions

Retrieves the full source code definitions of symbols (e.g., classes, modules, interfaces).

Parameters:
  • symbol_name_query (string) - Symbol name or wildcard pattern

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_symbol_locations

Finds where symbols are defined in the project (file path and line range).

Parameters:
  • symbol_name_query (string) - Symbol name or wildcard pattern

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_symbol_references

Retrieves all usages of a symbol across the project.

Parameters:
  • symbol_name (string) - Exact symbol name

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_identifier_references

Retrieves all usages of a specific identifier (e.g., variable, function parameter) across the project.

Parameters:
  • file_name_or_path (string) - File containing the identifier

  • identifier_surrounding_code (string) - One or more lines that can be uniquely located in the file and contain the identifier to search references for, with the identifier marked by <IDENTIFIER> and </IDENTIFIER> tags

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_symbol_dependencies

Retrieves source code definitions of all symbols that a given symbol depends on.

Parameters:
  • symbol_name (string) - Exact symbol name

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_compiled_files

Retrieves all compiled files in the project.

Parameters:
  • filter (string, optional) - Glob pattern to include only compiled files whose paths match it

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_design_top

Retrieves the top-level design element(s) in the project.

Parameters:

None

dvt_set_design_top

Sets the top-level design element in the project.

Parameters:
  • design_top (string) - Name of the design top that is to be set

dvt_search_design_hierarchy

Retrieves elaborated design hierarchy paths of design instances that match specific filters.

Parameters:
  • start_instance_path (string) - Hierarchical path of the design instance whose subinstances are to be searched

  • instance_name_filter (string, optional) - Name of the design instance(s) to search for

  • port_name_filter (string, optional) - Name of the port or parameter that the design instance(s) being searched must contain

  • search_max_depth (number, optional) - Maximum number of levels to search in the design hierarchy. Default value is 6

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_verification_top

Gets the top-level UVM component.

Parameters:

None

dvt_set_verification_top

Sets the top-level UVM component.

Parameters:
  • verification_top (string) - The name of the UVM verification top element to be set

dvt_search_verification_hierarchy

Retrieves verification hierarchy paths of verification components that match specific filters.

Parameters:
  • start_component_path (string) - Hierarchical path of the verification component whose subcomponents are to be searched

  • component_name_filter (string, optional) - Name of the verification component(s) to search for

  • port_name_filter (string, optional) - Name of the TLM port that the verification component(s) being searched must contain

  • search_max_depth (number, optional) - Maximum number of levels to search in the verification hierarchy. Default value is 6

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_file_identifiers

Lists all identifiers in a file, grouped by line.

Parameters:
  • file_name_or_path (string) - File name or path

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_problems

Retrieves compilation problems (errors/warnings) for a given list of files.

Parameters:
  • file_names_or_paths (array) - File names or paths

  • include_warnings (boolean) - Include warnings in results

  • page (number, optional) - Page number to request. Pages start at 1

dvt_get_field_constraints

Retrieves the constraints associated with a given random field.

Parameters:
  • file_name_or_path (string) - File name or path

  • field_surrounding_code (string) - One or more lines that can be uniquely located in the file and contain the field to search constraints for, with the identifier marked by <FIELD> and </FIELD> tags

  • page (number, optional) - Page number to request. Pages start at 1

dvt_build_project (available only for CLI AI agents)

Performs a full DVT project build, retrieving up-to-date information about possible compilation problems.

Parameters:
  • include_warnings (boolean) - Include warnings in results

dvt_compile_changed_files (available only for CLI AI agents)

Compiles a list of files using the DVT compiler, retrieving up-to-date information about possible compilation problems.

Parameters:
  • include_warnings (boolean) - Include warnings in results

  • changed_files (array) - Files to be compiled

read_file (available only for DVT AI Assistant)

Reads and returns the content of a given file.

Parameters:
  • file_name_or_path (string) - File name or path

edit_file (available only for DVT AI Assistant)

Edits specific sections of a given file using search/replace blocks.

Parameters:
  • file_name_or_path (string) - File name or path

  • search_replace_blocks (array) - One or more search/replace blocks.

write_file (available only for DVT AI Assistant)

Writes content to a file (overwrites existing file or creates new file).

Parameters:
  • file_name_or_path (string) - File name or path

  • content (string) - The content to write in the file

get_open_files (available only for DVT AI Assistant)

Lists all currently open files in the editor, marking the active one.

Parameters:

None

Note

When the -project argument is not provided to dvt_mcp.sh, an additional project_path argument, containing the absolute path of the project, is required for every tool.

This helps the MCP Connector determine the project it needs to retrieve information about.