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 patternpage(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 patternpage(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 namepage(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 identifieridentifier_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> tagspage(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 namepage(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 separatordetail_level(string, optional) - Controls how much information about the identifier is provided. Supported values:basic,standardandfull. Defaults tostandardfile_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 itpage(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 searchedinstance_name_filter(string, optional) - Name of the design instance(s) to search forport_name_filter(string, optional) - Name of the port or parameter that the design instance(s) being searched must containsearch_max_depth(number, optional) - Maximum number of levels to search in the design hierarchy. Default value is 6page(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 searchedcomponent_name_filter(string, optional) - Name of the verification component(s) to search forport_name_filter(string, optional) - Name of the TLM port that the verification component(s) being searched must containsearch_max_depth(number, optional) - Maximum number of levels to search in the verification hierarchy. Default value is 6page(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 pathpage(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 pathsinclude_warnings(boolean, optional) - Include warnings in resultsinclude_linting_problems(boolean, optional) - Include Verissimo linting problems in resultspage(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 forfile_path(string, optional) - File path where the field is locatedpage(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 resultschanged_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 pathstart_line(number, optional) - Starting line number. Lines start at 1end_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 pathsearch_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 pathcontent(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 taskprompt(string) - The complete task prompt to send as the first user messagetools(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.