
pyslang-mcp
Wraps the pyslang compiler frontend so AI agents can query parsed and elaborated Verilog and SystemVerilog projects instead of grepping plain text. Exposes tools to load filelists or explicit files, retrieve compiler diagnostics, list modules and interfaces, walk instance hierarchies, and find symbol declarations and references. Handles include directories, defines, nested filelists, and generate blocks the way a real compiler does. Meant for triaging parse errors, checking what a filelist expands to, getting hierarchy context for debug prompts, or finding declarations without chasing stale comments. Read-only and project-root scoped. Not a simulator, linter replacement, or refactoring tool. Good when you need semantic structure, not when you just want to search a few lines of RTL.
- GitHub stars
- 17
- tools
- 15
- transport
- STDIO
- last updated
- May 18, 2026
Tools
15 toolsPublic tool metadata for what this MCP can expose to an agent.
pyslang_parse_filesLoad explicit files
Load explicit files
No parameter schema in public metadata yet.
pyslang_parse_filelistLoad a `.f` filelist
Load a `.f` filelist
No parameter schema in public metadata yet.
pyslang_get_diagnosticsGet parse and semantic diagnostics
Get parse and semantic diagnostics
No parameter schema in public metadata yet.
pyslang_list_design_unitsList modules, interfaces, and packages
List modules, interfaces, and packages
No parameter schema in public metadata yet.
pyslang_describe_design_unitInspect one design unit
Inspect one design unit
No parameter schema in public metadata yet.
pyslang_get_hierarchyWalk the elaborated instance tree
Walk the elaborated instance tree
No parameter schema in public metadata yet.
pyslang_find_symbolFind declarations and references
Find declarations and references
No parameter schema in public metadata yet.
pyslang_find_memberFind a local member in one design unit
Find a local member in one design unit
No parameter schema in public metadata yet.
pyslang_get_assignmentsFind assignments involving a signal
Find assignments involving a signal
No parameter schema in public metadata yet.
pyslang_trace_connectivityTrace bounded structural connectivity
Trace bounded structural connectivity
No parameter schema in public metadata yet.
pyslang_get_instance_connectionsDump one instance's port connections
Dump one instance's port connections
No parameter schema in public metadata yet.
pyslang_summarize_diagnostics_by_codeGroup diagnostics by code
Group diagnostics by code
No parameter schema in public metadata yet.
pyslang_dump_syntax_tree_summarySummarize syntax node shapes
Summarize syntax node shapes
No parameter schema in public metadata yet.
pyslang_preprocess_filesCheck preprocessing metadata and excerpts
Check preprocessing metadata and excerpts
No parameter schema in public metadata yet.
pyslang_get_project_summaryGet a compact project overview
Get a compact project overview
No parameter schema in public metadata yet.
Sponsors
Readme
pyslang-mcp
pyslang-mcp is a local Model Context Protocol server that gives AI agents
compiler-backed, read-only context for Verilog and SystemVerilog projects.
It wraps pyslang so an MCP client can ask
questions against parsed and elaborated HDL instead of plain text:
- What modules, interfaces, and packages are in this filelist?
- What diagnostics does the compiler frontend report?
- What is the instance hierarchy below this top?
- Where is this symbol declared or referenced?
- Did my include paths, defines, and nested
.ffiles resolve as expected?
Details
- Repository
- github.com/ariklapid/pyslang-mcp
- Website
- github.com/ariklapid/pyslang-mcp
- Package
pyslang-mcp- Transport
- STDIO
- Registry
- MCP registry, active