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.
This server has been archived and is no longer actively maintained.
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
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
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