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_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_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_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_identifier_info

Retrieves an overview of a specific identifier (module, class, field, function, struct, signal, etc).

Parameters:
  • identifier_name (string) - The name of the identifier to get the overview for. Supports hierarchical names, with . or :: as separator

  • detail_level (string, optional) - Controls how much information about the identifier is provided. Supported values: basic, standard and full. Defaults to standard

  • file_path (string, optional) - File path where the identifier is located

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_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_paths (array) - File names or paths

  • include_warnings (boolean, optional) - Include warnings in results

  • include_linting_problems (boolean, optional) - Include Verissimo linting problems 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:
  • field_name (string) - The hierarchical name of the random field to get constraints for

  • file_path (string, optional) - File path where the field is located

  • 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

dvt_get_cursor_scope (available only for DVT AI Assistant and GUI AI agents)

Retrieves information at the current cursor position including file path and line, type scope, design hierarchy scope, and verification hierarchy scope.

Parameters:

None

read_file (available only for DVT AI Assistant)

Reads and returns the content of a given file.

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

  • start_line (number, optional) - Starting line number. Lines start at 1

  • end_line (number, optional) - Ending line number. Lines start at 1

edit_file (available only for DVT AI Assistant)

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

Parameters:
  • file_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_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

run_agent (available only for DVT AI Assistant)

Launches a new agent to handle complex, multi-step tasks autonomously.

Parameters:
  • description (string) - Short description of the agent’s task

  • prompt (string) - The complete task prompt to send as the first user message

  • tools (array, optional) - Which tools to make available to the agent. Defaults to all tools except ‘run_agent’

  • agent_name (string, optional) - Name of a built-in agent to use. Supported values: ‘Plan’, ‘Explore’, ‘Write Code’

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.