Skip to main content
Glama
lazyverilog

LazyVerilog MCP

Official
by lazyverilog

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LAZYVERILOG_LSPNoPath to the LazyVerilog LSP binary.lazyverilog-lsp on PATH
LAZYVERILOG_ROOTNoWorkspace root; relative file paths resolve against it. Start the agent from your project directory, or set LAZYVERILOG_ROOT.current directory
LAZYVERILOG_INDEX_TIMEOUTNoSeconds the first call waits for the project index.30

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
lintA

Lint one SystemVerilog file: parse errors, lint rules and semantic diagnostics. Output lines are path:line:col: severity: message (1-based).

lint_allA

Lint every file in the project filelists (lazyverilog.toml [design]). Can be slow on big projects.

format_fileB

Format a file with the project's lazyverilog.toml [format] rules. Give start_line/end_line (1-based, inclusive) to format only that range.

goto_definitionA

Find where symbol (as written on line of file) is declared.

find_referencesB

List every reference to symbol (on line of file) across the project.

hoverC

Show type/declaration info for symbol on line of file.

rename_symbolB

Rename symbol (on line of file) to new_name across the project.

document_symbolsC

Outline of a file: modules, ports, signals, parameters, instances, functions... with line numbers.

workspace_symbolsB

Search project-wide for modules, interfaces, packages, classes, ... whose name matches query.

rtl_treeA

Module instance hierarchy rooted at the module in file: instance: module (path:line). reverse=true shows the parents that instantiate it instead.

code_actionsA

List RTL code actions available at line of file: AutoInst (on an instantiation line), AutoArg (module header), AutoFunc, AutoFF (always_ff), AutoWire, add default case, ... Pass symbol to place the cursor on it (e.g. the module name of an instance). Run one with apply_code_action.

apply_code_actionA

Run the code action named title (from code_actions, prefix match ok) at line of file.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct LSP-style operation: navigation, symbol search, hierarchy, linting, formatting, and code actions. The paired tools are clearly differentiated, such as code_actions vs apply_code_action and lint vs lint_all.

Naming Consistency4/5

All names use lower_snake_case and are descriptive, but conventions are mixed between verb-led actions (rename_symbol, find_references) and noun-led introspection tools (workspace_symbols, document_symbols). The pattern is still readable and mostly predictable.

Tool Count5/5

Twelve tools is well within the ideal range for an HDL/LSP-style server. Each tool covers a meaningful capability without obvious padding or redundancy.

Completeness4/5

The surface covers core code intelligence: symbols, navigation, references, rename, code actions, hierarchy, linting, and formatting. Minor gaps remain around completion, signature help, and advanced hierarchy/implementation queries, but core workflows are supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues