pyslang-mcp is a read-only Model Context Protocol server for compiler-backed Verilog and SystemVerilog analysis. It uses pyslang to parse HDL projects, report diagnostics, inspect design units and hierarchy, and expose structured semantic information to AI tools.
MCPpedia last refreshed this data
This server has been archived and is no longer actively maintained.
Pyslang MCP is an MCP server that pyslang-mcp is a read-only Model Context Protocol server for compiler-backed Verilog and SystemVerilog analysis. It uses pyslang to parse HDL projects, report diagnostics, inspect design units and hierarchy, and expose structured semantic information to AI tools. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 71/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"pyslang-mcp": {
"args": [
"-m",
"pyslang_mcp",
"--transport",
"stdio"
],
"command": "/path/to/python"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
pyslang-mcp is an alpha-quality, local-first Model Context Protocol server for read-only, compiler-backed analysis of Verilog and SystemVerilog projects using pyslang.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'pyslang-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked pyslang-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
Chrome DevTools for coding agents
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
MCP server for using the GitLab API
MCP Security Weekly
Get CVE alerts and security updates for Pyslang Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
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:
.f files resolve as expected?This is not a simulator, synthesizer, waveform viewer, linter replacement, or RTL refactoring tool. It is a small semantic analysis service for local HDL checkouts.
That read-only boundary is intentional. It keeps the server side-effect free, reduces the blast radius in IP-protected workspaces, and makes it safer to use in local and CI environments.
It was decided to keep pyslang-mcp read-only. The LLM handles the actual RTL
coding, while pyslang-mcp serves as the compile/elab-backed reader, checker,
and explainer for code that already exists. In other words, the model drafts
the RTL and the MCP server verifies what the compiler frontend sees.
[!NOTE] The project is currently early-stage and published on PyPI and the MCP Registry for local stdio use.
Most AI coding tools are good at searching text. HDL usually needs more than that.
In real projects, useful answers often depend on filelists, packages, includes,
defines, generate blocks, and hierarchy. pyslang-mcp gives an agent a compact
compiler-backed view of that structure, while keeping the server read-only and
scoped to a project root you provide.
Good fits:
.f file expands toInstall the package:
pip install pyslang-mcp
Run the local stdio server:
pyslang-mcp
For contributor setup, clone the repo and install it in editable mode:
git clone https://github.com/ariklapid/pyslang-mcp.git
cd pyslang-mcp
python -m venv .venv
./.venv/bin/pip install -e '.[dev]'
Run the checkout stdio server:
./.venv/bin/python -m pyslang_mcp
The installed console script works too:
./.venv/bin/pyslang-mcp
Run tests:
./.venv/bin/pytest
Use local stdio. The MCP client should launch the server on the same machine,
VM, or dev container that can see your RTL checkout.
{
"mcpServers": {
"pyslang-mcp": {
"command": "pyslang-mcp",
"args": []
}
}
}
For editable checkout installs, point the command at the checkout virtual environment instead:
{
"mcpServers": {
"pyslang-mcp": {
"command": "/absolute/path/to/pyslang-mcp/.venv/bin/python",
"args": ["-m", "pyslang_mcp"]
}
}
}
Tool calls must provide a project_root. Source paths, filelists, and include
directories may be absolute or relative, but